6

VisionPro学习笔记(2)——图像转换工具ImageCovertTool - 战争热诚

 1 year ago
source link: https://www.cnblogs.com/wj-1314/p/17504248.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

VisionPro学习笔记(2)——图像转换工具ImageCovertTool

  众所周知,VisionPro是一款功能强大的机器视觉软件,用于开发和部署机器视觉应用程序。其中ImageConvertTool是其中一个重要的工具,用于图像转换和处理。本文将介绍如何使用ImageConvertTool进行图像转换,并探讨其背后的原理。

  写之前先吐槽一下,引出自己的原因,哈哈哈(当然一个小小的转换工具不足以写一篇博文,放在这里就当自己的小日记吧)。

  为什么要写这一篇博文呢,正常VisionPro 的 Documentation里面都有啊。但是实际上在最新版的VisionPro仍然和之前的版本有一些差异。

根据官方的介绍,VisionPro 9.8和VisionPro 10.2之间存在以下一些区别:

  1. 功能和性能改进:通常,软件的新版本会引入新的功能和性能改进。VisionPro 10.2可能在功能上比9.8版本更丰富,并提供更好的性能和效率。

  2. 支持的硬件和操作系统:VisionPro的不同版本可能对不同的硬件设备和操作系统提供不同程度的支持。VisionPro 10.2可能支持更新的硬件设备和操作系统,并提供更好的兼容性。

  3. 用户界面和工具改进:新版本的软件通常会改进用户界面和工具,以提供更直观和易用的操作体验。VisionPro 10.2可能在用户界面和工具方面进行了改进,使得开发和调试视觉应用程序更加方便和高效。

  4. Bug修复和稳定性改进:软件的新版本通常会修复旧版本中存在的错误和问题,并提供更好的稳定性和可靠性。VisionPro 10.2可能修复了9.8版本中已知的错误,并提供更稳定的运行环境。

  当然我们也可以直接看官网update information,我这里只copy一点点

1226410-20230626224143764-1195737297.png

   但是我想说的是,从使用体验来看,实际上VisionPro10.x的版本比较VisionPro9.x及其以前的版本来说,差异主要就是没有example了。虽然最新页面更新了,看起来更加高大上了,但是隐藏了之前的教程案例,确实不太友好。

  截图对比如下(上图:VisionPro9.x, 下图VisionPro10.x):

1226410-20230626225229232-2015438260.png
1226410-20230630152223235-2052043928.png

   就是因为VisionPro 10.x 没有例子,所以对于有些算子,我们直接加载数据,再接算子的时候,会报错,这时候本文的主角ImageConvertTool就排上用场了,无论是加载的数据是灰度图(需要转换为RGB的),还是彩色图(需要转换为灰度图),这个算子都可以。下面介绍一下ImageConvertTool。

1,什么是ImageConvertTool?

  ImageConvertTool是VisionPro提供的一个图像处理工具,它允许用户对图像进行各种格式转换和预处理操作。无论是从一个图像格式转换为另一个格式,还是对图像进行增强、滤波、几何变换等操作,ImageConvertTool都能满足用户的需求。

  下图就是ImageConvertTool算子的界面:

1226410-20230625232117556-578244389.png

2,使用ImageConvertTool 进行图像转换

2.1 打开ImageConvertTool

  在VisionPro软件中,找到ImageConvertTool并打开它。通常,它可以在主菜单或工具栏中找到。

1226410-20230630152345021-75367427.png

2.2  加载原始图像

  通过点击工具界面上的“Load Image”按钮,选择并加载你想要转换的原始图像。ImageConvertTool支持多种常见的图像格式,如JPEG、BMP、PNG等。

  加载数据有两种方式,一种如下所示:

1226410-20230630212720396-2079902562.png

   连接相机,如下所示:

1226410-20230630212833920-46899.png

2.3  选择目标格式和参数设置

  在ImageConvertTool的界面上,选择你希望将原始图像转换成的目标格式。例如,如果你想将JPEG图像转换为BMP格式,选择BMP作为目标格式。

  此外,你还可以根据需要设置其他参数,例如图像质量、色彩空间、图像大小等。这些参数根据你的具体需求而定。

  图像转换工具接受以下类型的彩色图像: 

  • 色调、饱和度、强度 (HSI)

    VisionPro 支持 Image24PlanarColor 图像,其中三个 8 位颜色平面代表: 

    • 色调:以 [0,360] 度之间的角度的形式描述颜色
    • 饱和度:描述颜色被白光稀释了多少,范围在 [0,1] 之间
    • 强度:表示 [0,1] 之间范围内的亮度,其中 0 表示全黑,1 表示全白
  • 红、绿、蓝 (RGB)

    VisionPro 支持具有三个 8 位颜色平面的 Image24PlanarColor 图像,代表 RGB 颜色格式的红色、绿色和蓝色值。

  • Bayer

    VisionPro 支持使用 Bayer 滤波器处理的 Image8Grey 图像。

  大多数图像转换操作产生一个 Image8Grey 图像,代表彩色图像的灰度强度。下面根据界面介绍:

2.3.1  运行参数

  使用运行参数选项卡在图像转换选项之间进行选择

1226410-20230625232307911-1995684370.png

  参数从以下选择其一:

1226410-20230625232355742-1281983885.png
2.4.2  区域

  使用区域选项卡确定该工具是分析整个图像还是指定区域: 

1226410-20230625232546925-1232466500.png

  默认情况下,该工具会分析整个 Current.InputImage。选择矩形以使用以下参数指定输入图像的特定矩形区域: 

  • 选定空间名称选择用于处理图像的坐标空间。
  • 选择模式:选择输入区域的尺寸是从图像的原点还是从区域的中心开始测量。

   当然设定特定区域,图像也只获取特定区域的数据,并且传入下一个图像中也是特定的区域。

2.4  执行图像转换

  点击“Convert”按钮,ImageConvertTool将开始执行图像转换操作。在转换过程中,你可以在进度条上观察到转换的进度(当然这个很快)。

1226410-20230630213814577-437571790.png

2.5  保存转换后的图像

  当转换完成后,你可以通过点击“Save Image”按钮来保存转换后的图像。选择保存的文件路径和文件名,并选择你希望的保存格式。或者可以进行下一个算子的计算。

  当你右击图像,即可发现保存按钮:

1226410-20230630213916767-982630430.png

3,ImageConvertTool的工作原理

  ImageConvertTool的工作原理基于图像处理算法和编码技术。它首先读取原始图像数据,并根据用户指定的目标格式进行解码和编码。在转换过程中,ImageConvertTool可以对图像进行各种处理操作,例如调整亮度、对比度、色彩平衡,以及应用滤波器、增强算法等。

  VisionPro 支持使用图像转换工具将图像格式从一种类型转换为另一种类型。例如,您的视觉应用程序可能会采集彩色图像,您需要将颜色格式转换为 8 位灰度格式,便于不支持彩色图像的视觉工具进行分析。

  个人觉得就是日常的RGB转灰度图,具体的原理还需测试分析,这里就不再展开。如果需要实现此算子。我后面会补充原理。

4,ImageConvertTool的实际应用

4.1 加载RGB图像(通过ImageConvertTool算子转灰度图)

  这里补充一下,比如说VisionPro的算子Sobel和PatInspect就需要灰度图,如果我们输入彩色图,即RGB图像。

1226410-20230630220210309-653863873.png

  如果我使用PatInspect算子,那么会出现如下的异常,这时候就需要我们的ImageConvertTool算子了。我们通过ImageConvertTool算子对图像进行转换。截图如下:

1226410-20230630215855687-1263576779.png

   我们添加ImageConvertTool算子后,就OK了。如下:

1226410-20230630220046311-883267255.png

4.2 加载灰度图像(通过ImageConvertTool算子转彩色图)

  再比如,我添加一张灰度图:

1226410-20230630220502233-887575604.png

   假设我将算子更改为ColorMatchTool了,显而易见,ColorMatchTool算子是对彩色图像进行处理的,而我直接加载灰度图会报错,报错信息我已经截图如下:

1226410-20230630220655970-736569090.png

   下面将灰度图转换为RGB即可使用,转换的话需要进入ImageConvertTool里面设定一下:

1226410-20230630222441326-1332693875.png

   设定后,我们可以看到图像颜色为彩色了,这样算子就可以使用了。

1226410-20230630222123360-1682446822.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK