SFNC —— 图像格式控制(三)

news2024/11/24 5:14:24

在这里插入图片描述

系列文章目录


SFNC —— 标准特征命名约定(一)
SFNC —— 设备控制(二)
SFNC —— 图像格式控制(三)


文章目录

  • 系列文章目录
  • 4、图像格式控制(Image Format Control)
    • 1. 图像格式控制(Image Format Control)
    • 2. 传感器宽度(SensorWidth)
    • 3. 传感器高度(SensorHeight)
    • 5. 最大宽度(WidthMax)
    • 7. 区域选择器(RegionSelector)
    • 8. 区域模式(RegionMode)
    • 9. 区域目的地(RegionDestination)
    • 18. 宽度(Width)
    • 19. 高度(Height)
    • 20. 水平偏移(OffsetX)
    • 21. 垂直偏移(OffsetY)


4、图像格式控制(Image Format Control)

    本章介绍了如何影响和确定图像的大小和格式。它还提供了获取和显示图像数据所需的信息。它假定该设备具有生成单个矩形图像的数据源。该图像可以使用一个或多个感兴趣区域(ROI)完全或部分流出设备。

在这里插入图片描述
图 4-1:图像大小和定义一个感兴趣的区域

    该传感器提供 传感器宽度(SensorWidth) ✖️ 传感器高度(SensorHeight) 的像素。

    使用绑定水平(BinningHorizontal)和/或绑定垂直(BinningVertical)或水平减小(DecimationHorizontal)和/或垂直减小(DecimationVertical)的图像被缩小到 宽度最大值(WidthMax) ✖️ 高度最大值(HeightMax) 像素。

    此外,ReverseXReverseY 功能可以分别沿 X 轴或 Y 轴翻转图像。翻转是在应用感兴趣的区域之前完成的。

    在缩小的图像中,用户可以使用 OffsetXOffsetY、宽度(Width)和高度(Height)来设置感兴趣的区域。由设备生成的结果图像具有 宽度 ✖️ 高度 像素。OffsetXOffsetY 是针对具有坐标(0,0)的图像的左上角给出的(见图 4-1)。如果该设备支持多个感兴趣的区域,则可以使用区域选择器(RegionSelector)、区域模式(RegionMode)和区域目的地(RegionDestination)特征来分别选择和控制每个区域。所有度量都以像素给出。因此,如果像素格式(PixelFormat)更改,值也不应该改变。对于单色相机,每个像素对应一个灰度值。用于原始模式下的彩色相机(拜耳彩色相机等)每个像素对应于颜色掩模中的一个像素。对于 RGB 模式下的彩色相机,每个像素对应一个 RGB 三联体。对于在 YUV 模式下的彩色相机,每个像素对应一个 Y 值和相关的颜色信息。

    特征高度(Height)是指以直线表示图像的高度。一条直线内的像素都是连续的。然而,这些线可能不是连续的,例如,为了产生一个 DWORD 对齐。LinePitch 给出了分隔两条连续行的开始像素的字节数。

    图像中的每个像素都具有由像素格式(PixelFormat)特征定义的格式。本文档只提供了可能的像素格式的子集。可能的标准像素格式及其布局的完整列表可以在单独的 “GenICam Pixel Format Naming Convention (PFNC)” 规范中找到(参见 EMVA 网站上的 GenICam 下载页面 )。这个网页还给出了当前标准化的像素格式的列表及其唯一的标识符值(参见 “GenICam像素格式值” 和 “PFNC的参考头文件” 文档)。

    因为像素格式(PixelFormat)特征包含了用户指定的信息和设备提供的信息的混合,所以它适合于描述整个像素设置,但在必须设置或查询个别设置时可能不太实用。因此,第二组特征是由像素格式(PixelFormat)的各个组件组成。这些功能包括像素大小(PixelSize)、像素颜色过滤器(PixelColorFilter)、最小像素动态范围(PixelDynamicRangeMin)和最大像素动态范围(PixelDynamicRangeMax)。

    即使像素格式(PixelFormat)可能允许,例如每像素 16 位,真实图像数据可能只提供一定范围的值(例如每像素 12 位,因为相机仅配备了 12 位模拟到数字转换器)。在这种情况下,最小像素动态范围(PixelDynamicRangeMin)和最大像素动态范围(PixelDynamicRangeMax)指定了图像中像素值的下限和上限。一般来说,最小像素动态范围(PixelDynamicRangeMin)应该为零,最大像素动态范围(PixelDynamicRangeMax)应该为 2 的幂(【0,2DataDepth - 1】)。在这个范围内不应该有丢失的代码。

1. 图像格式控制(Image Format Control)

在这里插入图片描述
图像格式控制功能。

  <Category NameSpace="Standard" Name="ImageFormatControl">
    <ToolTip>Category for image format control features.</ToolTip>
    <Description>Category for image format control features.</Description>
    <DisplayName>Image Format Control</DisplayName>
    <Visibility>Beginner</Visibility>
    <ImposedAccessMode>RO</ImposedAccessMode>
    <!--<pFeature>SensorWidth</pFeature>
    <pFeature>SensorHeight</pFeature>-->
    <pFeature>SensorTaps</pFeature>
    <pFeature>SensorDigitizationTaps</pFeature>
    <pFeature>WidthMax</pFeature>
    <pFeature>HeightMax</pFeature>
    <pFeature>RegionSelector</pFeature>
    <pFeature>RegionMode</pFeature>
    <pFeature>RegionDestination</pFeature>
    <pFeature>Width</pFeature>
    <pFeature>Height</pFeature>
    <pFeature>OffsetX</pFeature>
    <pFeature>OffsetY</pFeature>
    <pFeature>LinePitch</pFeature>
    <pFeature>ReverseX</pFeature>
    <pFeature>ReverseY</pFeature>
    <pFeature>ReverseScanDirection</pFeature>
    <pFeature>PixelFormat</pFeature>
    <pFeature>SelectBitRegion</pFeature>
    <pFeature>PixelSize</pFeature>
    <pFeature>ImageCompressionMode</pFeature>
    <pFeature>ImageCompressionQuality</pFeature>
    <pFeature>HBAbnormalMonitor</pFeature>
    <pFeature>HBVersion</pFeature>
    <pFeature>TestPatternGeneratorSelector</pFeature>
    <pFeature>TestPattern</pFeature>
    <pFeature>BinningSelector</pFeature>
    <pFeature>BinningHorizontal</pFeature>
    <pFeature>BinningVertical</pFeature>
    <pFeature>DecimationHorizontal</pFeature>
    <pFeature>DecimationVertical</pFeature>
    <pFeature>PixelDynamicRangeMin</pFeature>
    <pFeature>PixelDynamicRangeMax</pFeature>
    <pFeature>Deinterlacing</pFeature>
    <pFeature>FrameSpecInfoSelector</pFeature>
    <pFeature>FrameSpecInfo</pFeature>
  </Category>

2. 传感器宽度(SensorWidth)

在这里插入图片描述
在这里插入图片描述

    <Integer NameSpace="Standard" Name="SensorWidth">
      <ToolTip>Effective width of the sensor in pixels.</ToolTip>
      <Description>Effective width of the sensor in pixels.</Description>
      <DisplayName>Sensor Width</DisplayName>
      <Visibility>Expert</Visibility>
      <pValue>SensorWidth_Reg</pValue>
    </Integer>

    <IntReg Name="SensorWidth_Reg">
      <pAddress>SensorWidth_RegAddr</pAddress>
      <Length>4</Length>
      <AccessMode>RO</AccessMode>
      <pPort>Device</pPort>
      <Sign>Unsigned</Sign>
      <Endianess>BigEndian</Endianess>
    </IntReg>

      <Integer Name="SensorWidth_RegAddr">
        <Value>0x00030300</Value>
      </Integer>

3. 传感器高度(SensorHeight)

在这里插入图片描述

    <Integer NameSpace="Standard" Name="SensorHeight">
      <ToolTip>Effective height of the sensor in pixels.</ToolTip>
      <Description>Effective height of the sensor in pixels.</Description>
      <DisplayName>Sensor Height</DisplayName>
      <Visibility>Expert</Visibility>
      <pValue>SensorHeight_Reg</pValue>
    </Integer>

    <IntReg Name="SensorHeight_Reg">
      <pAddress>SensorHeight_RegAddr</pAddress>
      <Length>4</Length>
      <AccessMode>RO</AccessMode>
      <pPort>Device</pPort>
      <Sign>Unsigned</Sign>
      <Endianess>BigEndian</Endianess>
    </IntReg>

      <Integer Name="SensorHeight_RegAddr">
        <Value>0x00030304</Value>
      </Integer>

5. 最大宽度(WidthMax)

在这里插入图片描述
    图像的最大宽度(以像素为单位)。该尺寸是在水平装箱( horizontal binning)、抽取(decimation)或任何其他函数改变图像的水平尺寸后计算的。

    WidthMax 不考虑当前感兴趣的区域(Width 或 OffsetX)。其值必须大于 0 且小于或等于传感器宽度(SensorWidth)(除非存在过采样特征)。

7. 区域选择器(RegionSelector)

在这里插入图片描述
在这里插入图片描述

    选择要控制的感兴趣的区域。区域选择器功能允许能够从图像中提取多个区域的设备,以独立地配置这些单个区域的特征。

    RegionX 通常用于配置传感器的区域提取特征。区域可以重叠,也可以用于以不同的像素格式或数据压缩类型提供同一区域的数据。

    例如,要提供一个传感器区域的 RGB 未压缩强度和 YUV JPEG 压缩强度:

RegionSelector = Region0 					// Select Region 0
RegionMode[Region0] = On 					// Instance 0 (default ON)
ComponentSelector = Intensity 				// Select Intensity
ComponentEnable[Region0][Intensity] = true 	// Enable instance 0 streaming (default).
PixelFormat[Region0][Intensity] = RGB8 		// RGB 24 bit per pixel.
ImageCompressionMode[Region0][Intensity] = Off // Instance 0 Uncompressed.

RegionSelector = Region1 					// Select Region 1
RegionMode[Region1] = On 					// Instance 1
ComponentSelector = Intensity 				// Select Intensity
Component [Intensity] = true 				// Enable instance 1 streaming.
PixelFormat[Region1][Intensity] = YUV422_8 	// YUV 16 bit per pixel.
ImageCompressionMode[Region1][Intensity] = JPEG // Instance 1 Compressed

    其他处理模块输出区域可用于配置处理模块输出的大小和特征(参见例如的 “3D设备数据输出控制” 章节)。这些处理模块输出区域应该采用处理模块本身的名称,后面跟着它们的索引(如 Scan3dExtractionX )。

    请注意,如果设备支持多个感兴趣的区域,则区域选择器(RegionSelector)可以添加到各种功能中,如宽度、高度、……来指定所选区域的特征。为了简化标准文本和特性描述(参见上面的示例),可选的区域选择器没有显式地传播到它可能选择的 SFNC 的所有特性。

可能的值是:

  • 区域0(Region0):选定的特性将控制区域 0。
  • 区域1(Region1):选定的特性将控制区域 1。
  • 区域2(Region2):选定的特性将控制区域 2。
  • Scan3dExtraction0(扫描3d提取0):选定的特性将控制 Scan3dExtraction0 输出区域。
  • Scan3dExtraction1:选定的特性将控制 Scan3dExtraction1 输出区域。
  • Scan3dExtraction2:选定的特性将控制 Scan3dExtraction2 输出区域。
  • 所有(All):选定的功能将同时控制所有区域。

8. 区域模式(RegionMode)

在这里插入图片描述

控制所选的感兴趣区域是否处于活动状态和流媒体状态。可能的值是:

  • 关闭:禁用区域的使用。
  • 开启:启用区域的使用。

9. 区域目的地(RegionDestination)

在这里插入图片描述
在这里插入图片描述

控制选定区域的目的地。可能的值是:

  • Stream0:该区域的目标是数据流 0。
  • Stream1:该区域的目的地是数据流 1。
  • Stream2:该区域的目的地是数据流 2。
    <Enumeration NameSpace="Standard" Name="RegionDestination">
      <ToolTip>Control the destination of the selected region.</ToolTip>
      <Description>Control the destination of the selected region.</Description>
      <DisplayName>Region Destination</DisplayName>
      <Visibility>Guru</Visibility>
      <pIsLocked>TLParamsLocked</pIsLocked>
      <ImposedAccessMode>RW</ImposedAccessMode>
      <Streamable>Yes</Streamable>
      <EnumEntry NameSpace="Standard" Name="Stream0">
        <ToolTip>The destination of the region is the data stream 0.</ToolTip>
        <Description>The destination of the region is the data stream 0.</Description>
        <DisplayName>Stream 0</DisplayName>
        <pIsImplemented>stream0_Inq</pIsImplemented>
        <Value>0</Value>
      </EnumEntry>
      <EnumEntry NameSpace="Standard" Name="Stream1">
        <ToolTip>The destination of the region is the data stream 1.</ToolTip>
        <Description>The destination of the region is the data stream 1.</Description>
        <DisplayName>Stream 1</DisplayName>
        <pIsImplemented>stream1_Inq</pIsImplemented>
        <Value>1</Value>
      </EnumEntry>
      <EnumEntry NameSpace="Standard" Name="Stream2">
        <ToolTip>The destination of the region is the data stream 2.</ToolTip>
        <Description>The destination of the region is the data stream 2.</Description>
        <DisplayName>Stream 2</DisplayName>
        <pIsImplemented>stream2_Inq</pIsImplemented>
        <Value>2</Value>
      </EnumEntry>
      <pValue>RegionDestination_Reg</pValue>
    </Enumeration>

    <IntSwissKnife Name="stream0_Inq">
      <pVariable Name="INDEX">GevStreamChanIndexMax_Int</pVariable>
      <Formula>INDEX = 0</Formula>
    </IntSwissKnife>
    <IntSwissKnife Name="stream1_Inq">
      <pVariable Name="INDEX">GevStreamChanIndexMax_Int</pVariable>
      <Formula>INDEX > 0</Formula>
    </IntSwissKnife>
    <IntSwissKnife Name="stream2_Inq">
      <pVariable Name="INDEX">GevStreamChanIndexMax_Int</pVariable>
      <Formula>INDEX > 1</Formula>
    </IntSwissKnife>

    <IntReg NameSpace="Custom" Name="RegionDestination_Reg">
      <pAddress>RegionDestination_RegAddr</pAddress>
      <pAddress>RegionSelectorAddressOffset</pAddress>
      <Length>4</Length>
      <AccessMode>RW</AccessMode>
      <pPort>Device</pPort>
      <pInvalidator>UserSetLoad_Reg</pInvalidator>
      <Sign>Unsigned</Sign>
      <Endianess>BigEndian</Endianess>
    </IntReg>    

      <Integer Name="RegionDestination_RegAddr">
        <Value>0x00030320</Value>
      </Integer>
      ...

18. 宽度(Width)

在这里插入图片描述

    由设备提供的图像的宽度(以像素为单位)。

    这反映了当前感兴趣的区域。该特性的最大值考虑了水平装箱(horizontal binning)、抽取(decimation)或任何其他改变图像最大水平尺寸的功能,通常等于 WidthMax - OffsetX 。

    这一特性对于大多数传输层的发射机和收发器通常是必须具备的。

19. 高度(Height)

20. 水平偏移(OffsetX)

在这里插入图片描述

从原点到感兴趣区域的水平偏移量(以像素为单位)。

    <Integer NameSpace="Standard" Name="OffsetX">
      <ToolTip>Horizontal offset from the origin to the AOI (in pixels).</ToolTip>
      <Description>Horizontal offset from the origin to the AOI (in pixels).</Description>
      <DisplayName>Offset X</DisplayName>
      <Visibility>Beginner</Visibility>
      <ImposedAccessMode>RW</ImposedAccessMode>
      <Streamable>Yes</Streamable>
      <pValue>OffsetX_Reg</pValue>
      <Min>0</Min>
      <pMax>OffsetXMax_Int</pMax>
      <pInc>OffsetXInc_Int</pInc>
      <Representation>Linear</Representation>
    </Integer>

    <IntReg NameSpace="Custom" Name="OffsetX_Reg">
      <pAddress>OffsetX_RegAddr</pAddress>
      <pAddress>RegionSelectorAddressOffset</pAddress>
      <Length>4</Length>
      <AccessMode>RW</AccessMode>
      <pPort>Device</pPort>
      <pInvalidator>UserSetLoad_Reg</pInvalidator>
      <pInvalidator>BinningHorizontal_Val</pInvalidator>
      <pInvalidator>BinningVertical_Val</pInvalidator>
      <pInvalidator>DecimationHorizontal_Val</pInvalidator>
      <pInvalidator>DecimationVertical_Val</pInvalidator>
      <Sign>Unsigned</Sign>
      <Endianess>BigEndian</Endianess>
    </IntReg>

21. 垂直偏移(OffsetY)

   
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1831390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink系列之:Generating Watermarks生成水印

Flink系列之&#xff1a;Generating Watermarks生成水印 一、水印策略简介二、使用水印策略三、处理闲置资源四、水印对齐五、编写水印生成器六、编写周期性水印生成器七、编写标点水印生成器八、水印策略和 Kafka 连接器九、Operators如何处理水印十、已弃用的AssignerWithPer…

电信网关配置管理系统 del_file.php 前台RCE漏洞复现

0x01 产品简介 中国电信集团有限公司(英文名称“China Telecom”、简称“中国电信”)成立于2000年9月,是中国特大型国有通信企业、上海世博会全球合作伙伴。电信网关配置管理系统是一个用于管理和配置电信网络中网关设备的软件系统。它可以帮助网络管理员实现对网关设备的远…

护眼台灯哪个牌子最好?学生台灯护眼好还是防近视好

当前&#xff0c;我国正面临日益严峻的青少年近视挑战。从小学到大学&#xff0c;学生的近视率居高不下&#xff0c;其中高度近视的比例更是令人担忧。这不仅直接威胁到孩子们的身体健康和视力发育&#xff0c;从长远来看&#xff0c;还可能对国家的未来发展和国家安全产生不利…

RTSP/Onvif安防监控平台EasyNVR抓包命令tcpdump使用不了,该如何解决?

安防视频监控汇聚EasyNVR智能安防视频监控平台&#xff0c;是基于RTSP/Onvif协议的安防视频平台&#xff0c;可支持将接入的视频流进行全平台、全终端分发&#xff0c;分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。平台可提供的视频能力包括&#xff1a;…

gitlab仓库中用git bash生成不是默认路径的ssh秘钥

使用命令 ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 会在默认路径生成秘钥&#xff0c;&#xff08;C:\Users\用户\.ssh\&#xff09; 想要修改默认路径使用如下命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com"…

软链接和硬链接的详解 (Linux系统下)

文章目录 硬链接的引入软链接和硬链接的形成软链接硬链接 软硬链接区别的探究硬链接数结语 硬链接的引入 当我们在命令行中输入ll时会出现很多行信息&#xff0c;详情请看下面的图 ~~~~εεε(&#xffe3;▽&#xffe3;) 我在之前的几篇Linux的文章也讲过哦 (o&#xff9f;v…

2024最新版Node.js下载安装及环境配置教程(非常详细)

一、进入官网地址下载安装包 官网&#xff1a;Node.js — Run JavaScript Everywhere 其他版本下载&#xff1a;Node.js — Download Node.js (nodejs.org) 选择对应你系统的Node.js版本 二、安装程序 &#xff08;1&#xff09;下载完成后&#xff0c;双击安装包&#xf…

小白Linux提权

1.脏牛提权 原因&#xff1a; 内存子系统处理写入复制时&#xff0c;发生内存条件竞争&#xff0c;任务执行顺序异常&#xff0c;可导致应用崩溃&#xff0c;进一步执行其他代码。get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中&#xff0c;可能产出竞态…

项目方案:社会视频资源整合接入汇聚系统解决方案(六)

目录 一、概述 1.1 应用背景 1.2 总体目标 1.3 设计原则 1.4 设计依据 1.5 术语解释 二、需求分析 2.1 政策分析 2.2 业务分析 2.3 系统需求 三、系统总体设计 3.1设计思路 3.2总体架构 3.3联网技术要求 四、视频整合及汇聚接入 4.1设计概述 4.2社会视频资源分类…

5G消息 x 政务 | 新型数智政务服务平台

5G消息 x 政务 | 新型数智政务服务平台 通过 5G 消息&#xff0c;帮助政府部门及公共事业部门优化服务品质、提高服务效能&#xff0c;打造现代政府的展示窗口、便民利企的服务窗口、营商环境的感知窗口&#xff0c;提供多元、透明、高效的线上政务服务。 5G消息 x 政务 —— 优…

新闻稿标题怎么写吸引人?建议收藏

一个好的标题&#xff0c;不仅能激发读者的好奇心&#xff0c;还能引导他们继续深入了解文章内容。本文伯乐网络传媒将为你揭秘新闻稿标题写作的十大技巧&#xff0c;让你轻松写出吸引人的标题。 1. 激发好奇心 a. 提出疑问&#xff1a;以问句的形式提出问题&#xff0c;让读者…

​1:25万基础电子地图(江西版)

我们在《50幅1:25万基础电子地图&#xff08;四川版&#xff09;》和《1&#xff1a;25基础电子地图&#xff08;云南版&#xff09;》等文中&#xff0c;为你分享过四川和云南的基础电子地图。 现在我们再为你分享江西的1&#xff1a;25万基础电子地图&#xff0c;你可以在文…

申请国外访问学者面签技巧有哪些?

申请国外访问学者面签是一项重要的步骤&#xff0c;关系到能否成功获得访问学者身份。以下是一些实用的面签技巧&#xff0c;帮助您顺利通过面试。 1.充分准备材料 成功的面签始于准备充分的材料。确保您的申请材料齐全&#xff0c;包括&#xff1a; 个人简历&#xff1a;突出…

Inpaint软件下载附加详细安装教程

​Inpaint是一款由Maxim Gapchenko开发的图像处理软件&#xff0c;它可以帮助用户轻松地去除图像中的水印和其他不需要的元素&#xff0c;这个软件的核心技术是基于图像处理算法的&#xff0c;它可以自动识别图片中的像素&#xff0c;并用周围的颜色进行替换&#xff0c;使得图…

新版FMEA培训内容中关于团队协作的部分可以怎么展开?

团队协作&#xff0c;作为新版FMEA的核心要素之一&#xff0c;其重要性不言而喻。在FMEA的分析过程中&#xff0c;团队成员的密切合作与沟通是确保分析全面性和准确性的关键。通过团队协作&#xff0c;不同领域的专家能够共同参与到潜在故障模式的识别、评估与预防中来&#xf…

Python 爬取淘宝指定搜索商品评论 标题 销量 计算sign

只需要替换原来的Cookie和token即可使用&#xff0c;自动计算对应链接地址的sign直接使用即可。需要注意是一个账号爬取过多会有验证码 import json import hashlib import random import timeimport pandas as pd import requestsresults []def fetch_review_list(datas, md…

MMpose安装实例

摘要&#xff1a; 这个大数据训练发展较快&#xff0c;各种版本问题&#xff0c;不太好匹配&#xff0c;仅是安装就会大费周章。本文图文并茂的描述了一种成功的安装方式。仅供参考。 使用的win版本是win11&#xff0c;英伟达显卡是GeForce GTX 1660 SUPER。 1.cuda版本选择 通…

学生用小台灯什么牌子的好?五大强劲护眼台灯牌子分享

在这个数码时代&#xff0c;人们对屏幕的依赖程度越来越高&#xff0c;尤其是孩子们。他们不仅在学校里需要长时间盯着教科书&#xff0c;还会在学习和娱乐中使用各种数码设备。然而&#xff0c;这也使得眼睛健康问题逐渐凸显&#xff0c;尤其是儿童近视的问题。为了保护视力&a…

基于MCU平台的HMI开发的性能优化与实战(上)

随着汽车座舱智能化的不断演进&#xff0c;车内显示设备的数量显著增加&#xff0c;从传统的仪表盘和中控屏扩展至空调控制、扶手、副驾驶区域以及抬头显示&#xff08;HUD&#xff09;等多样化的显示单元。为了有效支持这些功能单元&#xff0c;同时控制整车成本&#xff0c;越…

从WWDC 2023看苹果的未来:操作系统升级与AI技术的融合

引言 在2024年的WWDC&#xff08;苹果全球开发者大会&#xff09;上&#xff0c;苹果公司展示了一系列创新技术和产品&#xff0c;其中最引人注目的莫过于操作系统的升级与AI技术的深度融合。作为一个备受期待的发布会&#xff0c;WWDC不仅向我们展示了苹果在技术上的前瞻性布…