VisionPro学习笔记(2)——图像转换工具ImageCovertTool
如果需要了解其他图像处理的文章,请移步小编的GitHub地址
传送门:请点击我
如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice
前言
众所周知,VisionPro是一款功能强大的机器视觉软件,用于开发和部署机器视觉应用程序。其中ImageConvertTool是其中一个重要的工具,用于图像转换和处理。本文将介绍如何使用ImageConvertTool进行图像转换,并探讨其背后的原理。
写之前先吐槽一下,引出自己的原因,哈哈哈(当然一个小小的转换工具不足以写一篇博文,放在这里就当自己的小日记吧)。
为什么要写这一篇博文呢,正常VisionPro 的 Documentation里面都有啊。但是实际上在最新版的VisionPro仍然和之前的版本有一些差异。
根据官方的介绍,VisionPro 9.8和VisionPro 10.2之间存在以下一些区别:
-
功能和性能改进:通常,软件的新版本会引入新的功能和性能改进。VisionPro 10.2可能在功能上比9.8版本更丰富,并提供更好的性能和效率。
-
支持的硬件和操作系统:VisionPro的不同版本可能对不同的硬件设备和操作系统提供不同程度的支持。VisionPro 10.2可能支持更新的硬件设备和操作系统,并提供更好的兼容性。
-
用户界面和工具改进:新版本的软件通常会改进用户界面和工具,以提供更直观和易用的操作体验。VisionPro 10.2可能在用户界面和工具方面进行了改进,使得开发和调试视觉应用程序更加方便和高效。
-
Bug修复和稳定性改进:软件的新版本通常会修复旧版本中存在的错误和问题,并提供更好的稳定性和可靠性。VisionPro 10.2可能修复了9.8版本中已知的错误,并提供更稳定的运行环境。
当然我们也可以直接看官网update information,我这里只copy一点点
但是我想说的是,从使用体验来看,实际上VisionPro10.x的版本比较VisionPro9.x及其以前的版本来说,差异主要就是没有example了。虽然最新页面更新了,看起来更加高大上了,但是隐藏了之前的教程案例,确实不太友好。
截图对比如下(上图:VisionPro9.x, 下图VisionPro10.x):
就是因为VisionPro 10.x 没有例子,所以对于有些算子,我们直接加载数据,再接算子的时候,会报错,这时候本文的主角ImageConvertTool就排上用场了,无论是加载的数据是灰度图(需要转换为RGB的),还是彩色图(需要转换为灰度图),这个算子都可以。下面介绍一下ImageConvertTool。
1,什么是ImageConvertTool?
ImageConvertTool是VisionPro提供的一个图像处理工具,它允许用户对图像进行各种格式转换和预处理操作。无论是从一个图像格式转换为另一个格式,还是对图像进行增强、滤波、几何变换等操作,ImageConvertTool都能满足用户的需求。
下图就是ImageConvertTool算子的界面:
2,使用ImageConvertTool 进行图像转换
2.1 打开ImageConvertTool
在VisionPro软件中,找到ImageConvertTool并打开它。通常,它可以在主菜单或工具栏中找到。
2.2 加载原始图像
通过点击工具界面上的“Load Image”按钮,选择并加载你想要转换的原始图像。ImageConvertTool支持多种常见的图像格式,如JPEG、BMP、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 运行参数
使用运行参数选项卡在图像转换选项之间进行选择
参数从以下选择其一:
2.4.2 区域
使用区域选项卡确定该工具是分析整个图像还是指定区域:
默认情况下,该工具会分析整个 Current.InputImage。选择矩形以使用以下参数指定输入图像的特定矩形区域:
- 选定空间名称选择用于处理图像的坐标空间。
- 选择模式:选择输入区域的尺寸是从图像的原点还是从区域的中心开始测量。
当然设定特定区域,图像也只获取特定区域的数据,并且传入下一个图像中也是特定的区域。
2.4 执行图像转换
点击“Convert”按钮,ImageConvertTool将开始执行图像转换操作。在转换过程中,你可以在进度条上观察到转换的进度(当然这个很快)。
2.5 保存转换后的图像
当转换完成后,你可以通过点击“Save Image”按钮来保存转换后的图像。选择保存的文件路径和文件名,并选择你希望的保存格式。或者可以进行下一个算子的计算。
当你右击图像,即可发现保存按钮:
3,ImageConvertTool的工作原理
ImageConvertTool的工作原理基于图像处理算法和编码技术。它首先读取原始图像数据,并根据用户指定的目标格式进行解码和编码。在转换过程中,ImageConvertTool可以对图像进行各种处理操作,例如调整亮度、对比度、色彩平衡,以及应用滤波器、增强算法等。
VisionPro 支持使用图像转换工具将图像格式从一种类型转换为另一种类型。例如,您的视觉应用程序可能会采集彩色图像,您需要将颜色格式转换为 8 位灰度格式,便于不支持彩色图像的视觉工具进行分析。
个人觉得就是日常的RGB转灰度图,具体的原理还需测试分析,这里就不再展开。如果需要实现此算子。我后面会补充原理。
4,ImageConvertTool的实际应用
4.1 加载RGB图像(通过ImageConvertTool算子转灰度图)
这里补充一下,比如说VisionPro的算子Sobel和PatInspect就需要灰度图,如果我们输入彩色图,即RGB图像。
如果我使用PatInspect算子,那么会出现如下的异常,这时候就需要我们的ImageConvertTool算子了。我们通过ImageConvertTool算子对图像进行转换。截图如下:
我们添加ImageConvertTool算子后,就OK了。如下:
4.2 加载灰度图像(通过ImageConvertTool算子转彩色图)
再比如,我添加一张灰度图:
假设我将算子更改为ColorMatchTool了,显而易见,ColorMatchTool算子是对彩色图像进行处理的,而我直接加载灰度图会报错,报错信息我已经截图如下:
下面将灰度图转换为RGB即可使用,转换的话需要进入ImageConvertTool里面设定一下:
设定后,我们可以看到图像颜色为彩色了,这样算子就可以使用了。