7.8.图像分析器

CCS 提供一种高级图像可视化工具,它可以在图像可视区域中显示位图数据阵列。位图阵列存储在器件的存储器中,通过调试探针连接读取它们并在主机 PC 上执行后处理操作,可以显示各种格式的图像(RGB、Bayer、二值、YUV),紧凑/非紧凑等。

可以配置以下类型的图像:

  • YUV(紧凑、平面、半平面)
    • 4:2:2
    • 4:2:0
    • 4:4:4
    • 4:1:1
  • Bayer(紧凑)
  • 二值
  • RGB(紧凑、平面、半平面)

支持的数据格式如下:

  • 数字路径大小:8、16 和 32 位。
  • 紧凑或平面格式。
  • 每个色彩通道均可设置遮罩和像素分组。

可以通过多种方式来更新数据:

  • Refresh。在按下该按钮时更新数据。数据仅在器件停止时更新,具体取决于器件和工作模式。

  • Continuous Refresh。以 CCS 属性定义的速率(不快于 100ms)连续更新数据。

  • Refresh on halt。在器件停止时更新数据。

  • 可以设置断点,以在到达断点时自动更新数据。

    • Update View
    • Refresh All Windows
    • Target Halt and Refresh

注意

图像分析器适用于目标器件或本地主机上的图像。

在主菜单中点击 Tools → Image Analyzer。此时将并排打开“Image”和“Properties”视图。

在设置图像源和属性后,点击“Image”视图工具栏中的“Refresh”按钮。图像分析器从文件或目标储存器中获取数据并执行处理。

7.8.1.图像类型

7.8.1.1.YUV

YUV 图像本质上是颜色或灰度,实质上以编码格式存储在数据字节中。编码方法可以是紧凑或非紧凑格式,位深度和色度二次采样方法可设为各种格式。

7.8.1.2.Bayer

Bayer 图像本质上是颜色或灰度,实质上存储在数据字节中,安排模式通常由图像传感器设置。模式和位深度可设为各种格式。

7.8.1.3.RGB

RGB 图像本质上是颜色或灰度,实质上以编码格式存储在数据字节中。编码方法可以是紧凑或非紧凑格式,但没有色度二次采样。

7.8.1.4.二值

二值图像本质上是黑和白,实质上以数据位流的形式进行存储(无编码)。也就是说,每个位代表图像上的一个像素。

7.8.1.5.紧凑和非紧凑

紧凑法是以交错形式存储图像像素的色彩通道的一种方法。与此相对的是非紧凑法,每个色彩通道连续存储在存储器中。

例如,YUV 4:2:2 紧凑格式的 4x4 图像存储在存储器内一个按字节寻址的小端字节序器件中:

(0,0) (1,0) (2,0) (3,0)
(0,1) (1,1) (2,1) (3,1)
(0,2) (1,2) (2,2) (3,2)
(0,3) (1,3) (2,3) (3,3)
基址 基址 + 5 基址 + 4 基址 + 3 基址 + 2 基址 + 1 基址 + 0
0x80000000 V(0~1,0~1) U(0~1,0~1) Y(1,1) Y(1,0) Y(0,1) Y(0,0)
0x80000006 V(2~3,0~1) U(2~3,0~1) Y(3,1) Y(2,1) Y(3,0) Y(2,0)
0x8000000C V(0~1,2~3) U(0~1,2~3) Y(1,3) Y(0,3) Y(1,2) Y(0,2)
0x80000012 V(2~3,2~3) U(2~3,2~3) Y(3,3) Y(2,3) Y(3,2) Y(2,2)

在采用非紧凑格式时表示为:

基址 基址 + 3 基址 + 2 基址 + 1 基址 + 0
0x80000000 Y(1,1) Y(1,0) Y(0,1) Y(0,0)
0x80000004 Y(3,1) Y(2,1) Y(3,0) Y(2,0)
0x80000008 Y(1,3) Y(0,3) Y(1,2) Y(0,2)
0x8000000C Y(3,3) Y(2,3) Y(3,2) Y(2,2)
0x80000010 U(2~3,2~3) U(0~1,2~3) U(2~3,0~1) U(0~1,0~1)
0x80000014 V(2~3,2~3) V(0~1,2~3) V(2~3,0~1) V(0~1,0~1)

7.8.2.图像分析器属性

7.8.2.1.常规

  • 职位
  • 背景颜色
  • 图像格式:RGB、Bayer、YUV、二值

7.8.2.2.RGB

  • 每行像素数量
  • 行数
  • 数据格式
  • 像素跨度(字节)
  • 红色遮罩
  • 绿色遮罩
  • 蓝色遮罩
  • Alpha 遮罩(如有)
  • 行跨度(字节)

7.8.2.3.Bayer

  • 每行像素数量
  • 行数
  • 行顺序
  • 像素跨度(字节)
  • 组件遮罩
  • 行跨度(字节)

7.8.2.4.YUV

  • 每行像素数量

  • 行数

  • 数据格式:平面或紧凑

  • 分辨率: 4:4:4、4:2:2、4:2:0 或 4:1:1

  • YUV 顺序:适用于紧凑格式

  • Y 像素跨度(字节):要跳过的字节数,用以获取下一像素的 Y 部分的值。典型值:

    • 平面:1 字节
    • 紧凑 4:4:4:3 字节
    • 紧凑 4:2:2 或 4:2:0:2 字节
  • Y 遮罩:图像分析器读取 Y 像素跨度中指定大小的字节数据包。数据包的字节顺序是大端字节序。Y 遮罩指定数据包中的哪些位表示 Y 分量的值。典型值:

    • 平面:0xFF
    • 紧凑 4:4:4:0xFF0000
    • 紧凑 4:2:2 或 4:2:0:0xFF00
  • Y 行跨度(字节):仅用于平面格式。为了到达下一行的第一个像素而跳过的字节数(从当前行的第一个像素开始计数),即(每行的像素数)x(每个像素的字节数)。这通常与每行的像素数相同。

  • U 像素跨度(字节):为获取下一个像素的 U 分量值而跳过的字节数。典型值:

    • 平面:1 字节
    • 紧凑 4:4:4:3 字节
    • 紧凑 4:2:2 或 4:2:0:4 字节
  • U 遮罩:图像分析器读取 U 像素跨度中指定大小的字节数据包。数据包的字节顺序是大端字节序。U 遮罩指定数据包中的哪些位表示 U 分量的值。典型值:

    • 平面:0xFF
    • 紧凑 4:4:4:0xFF0000
    • 紧凑 4:2:2 或 4:2:0:0xFF000000
  • U 行跨度(字节):仅用于平面格式。为了到达下一行的第一个像素而跳过的字节数(从当前行的第一个像素开始计数),即(每行的像素数)x(每个像素的字节数)。典型值:

    • 4:4:4:每行像素数量
    • 4:2:2 或 4:2:0:(每行像素数量)/2
    • 4:1:1:(每行像素数量)/4
  • V 像素跨度(字节):为获取下一个像素的 V 分量值而跳过的字节数。典型值:

    • 平面:1 字节
    • 紧凑 4:4:4:3 字节
    • 紧凑 4:2:2 或 4:2:0:4 字节
  • V 遮罩:图像分析器读取 V 像素跨度中指定大小的字节数据包。数据包的字节顺序是大端字节序。V 遮罩指定数据包中的哪些位表示 V 分量的值。典型值:

    • 平面:0xFF
    • 紧凑 4:4:4:0xFF0000
    • 紧凑 4:2:2 或 4:2:0:0xFF000000
  • V 行跨度(字节):仅用于平面格式。为了到达下一行的第一个像素而跳过的字节数(从当前行的第一个像素开始计数),即(每行的像素数)x(每个像素的字节数)。典型值:

    • 4:4:4:每行像素数量
    • 4:2:2 或 4:2:0:(每行像素数量)/2
    • 4:1:1:(每行像素数量)/4
  • Alpha 像素跨度(字节):为获取下一个像素的 Alpha 分量值而跳过的字节数。这是可选内容。如果您的图像没有任何 Alpha 分量,请将该属性设置为 0。

  • Alpha 遮罩:图像分析器读取 Alpha 像素跨度中指定大小的字节数据包。数据包的字节顺序是大端字节序。Alpha 遮罩指定数据包中的哪些位表示 Alpha 分量的值。这是可选内容。如果您的图像没有任何 Alpha 分量,请将该属性设置为 0。

  • Alpha 行跨度(字节):仅用于平面格式。为了到达下一行的第一个像素而跳过的字节数(从当前行的第一个像素开始计数),即(每行的像素数)x(每个像素的字节数)。这通常与每行的像素数相同。这是可选内容。如果您的图像没有任何 Alpha 分量,请将该属性设置为 0。

  • 行跨度:仅用于紧凑格式。为了到达下一行的第一个像素而跳过的字节数(从当前行的第一个像素开始计数),即(每行的像素数)x(每个像素的字节数)。典型值为(每行的像素数)x(Y 像素跨度)。

7.8.2.5.二值

  • 前景颜色
  • 背景颜色
  • 每行像素数量
  • 行数
  • 像素顺序

7.8.2.6.来源

  • 图像来源:互联设备,文件
  • 起始地址
  • 文件名
  • 读取数据作为
  • 文件格式(仅限 YUV):单个文件,具有自定义偏移量的单个文件,多个文件
  • Y 偏移(字节)
  • U 偏移(字节)
  • V 偏移(字节)
  • Alpha 偏移(字节)
  • Y 文件名
  • U 文件名
  • V 文件名
  • Alpha 文件名

7.8.3.示例

以下 zip 文件中包含示例图像数据与属性,展示了如何配置用于各种图像格式的图像分析器。

要导入属性文件,请右键点击“Image Analyzer”视图并选择 Import Properties… 选项。

  • Bayer 文件包含以下图像:

    • bayer720480_8of16_image.dat:720 x 480 像素,偶数 B 行,GR/BG 顺序,16 位中的 8 位
    • bayer720480_10of16_image.dat:720 x 480 像素,偶数 B 行,GR/BG 顺序,16 位中的 10 位
  • YUV 4:2:0 平面:512 x 482 像素,YUV 4:2:0 平面

  • YUV 4:2:2 紧凑:512 x 512 像素,YUV 4:2:2 紧凑 YVYU 顺序

  • YUV 4:2:2 平面:720 x 480 像素,YUV 4:2:2 平面,Alpha 通道

  • DaVinci HD 文件包含以下图像:

    • davinciHD1280x720:1280 x 720 像素,YUV 4:2:0 半平面(Y 平面,UV 交错)
    • davinciHD1080x720:1080 x 720 像素,YUV 4:2:2 半平面(Y 平面,UV 交错)
  • NV12 平铺:176 x 144 像素,YUV 4:2:0 平铺

7.8.4.疑难解答

7.8.4.1.数据注意事项

图像分析器工具适用于若干不同类型的数据格式,因此务必密切关注对于特定数据图,像素在器件存储器中的实际格式。

一种非常常见的情况是将所有颜色遮罩设为 0,这样可在画布上展示完全空白的图像。另外,颜色错误的遮罩可正常显示图像,但颜色失真。

另一种非常常见的错误是使用另一种编码,这样会显示完全损坏的图像。

注意

图像分析器仅显示位图图像。它不执行对压缩图像的解码,例如 .GIF、.JPG,、PNG,、TIFF 等常用文件格式。