图像网格拆分功能有什么典型的使用方法?
输入图片如下所示,是四张组合在一起的子图。拍摄的内容是桌子上的一个黑色且表面光滑的扁球状物体,放在一个有4扇窗的无灯光房间里。每次只打开一扇窗,拍摄4张照片。
图1:输入的原图
我想把原图分拆成4个图之后,做最小值运算,得到消高光之后的结果。
这里就会用到图像拆分工具的网格拆分功能。我配置的工具参数如下
图2:网格拆分工具参数截图
参数设置说明:
如果按照以上参数设置,拆分出来的4个子图如下。
图3:拆分出来的4个子图
可以看出虽然子图成功拆出来了,但子图中有白色边框,这是符合预期的,因为原图中也可以看到四个子图之间是有白色间隙的。
通过在原图上直接测量白色间隙的宽度可知,白色间隙的宽度是10像素。由此,为了消除子图中的白色间隙,可以修改拆分工具的参数如下:
图4:可消除白色间隙的网格拆分工具参数截图
针对白色间隙的消除,主要修改的参数是:
按照以上新参数设置,拆分出来的4个子图如下
图5:消除白色间隙后拆分出来的4个子图
可以看出4个子图中已经没有任何白色间隙的存在了。
接下来,我们开始尝试将拆分出来的4个子图,使用图像运算工具做最小值操作,得到消高光的结果。
先添加一个图像运算工具,设置参数如下
图6:图像运算工具参数截图
此时可以发现图像运算工具无法正常执行,原因是图像拆分工具输出的子图带有坐标信息,在画布上看,不同子图是位于不同位置且完全不重叠。
图像运算工具只能对输入的两个图像在画布上有重叠且位于其本身的ROI范围内的像素做运算。其实这也不是图像运算工具独有的特性,灵闪所有可设定ROI的算法工具都是按照这个逻辑设计的。
所以,我们需要先设法改变图像拆分工具输出的子图在画布上的坐标信息,让子图都重叠在一起,然后再使用图像运算工具。
这里使用的工具是,属于绘制工具组的图片工具,它可以将某个算法工具输出的图显示在画布上的任意位置。
我们下面以图像拆分工具输出的第一个子图的位置为基准,用图片工具将其余3个子图都显示在第1个子图的位置上,重叠在一起。
图片工具的参数设置如下
图7:图片工具参数截图
这里的主要技巧是,将图片工具的锚点设置为“左上角”的同时,将位置参数设置为“使用点坐标”,并维持选择点参数的坐标为(0, 0)。此时,图片工具显示的图片就会被放置于画布紧靠左上角的位置,即图像拆分工具输出的第一个子图的位置,完全重叠。
使用类似方法再配置两个图片工具,将剩余两个子图也显示在画布仅靠左上角的位置,和第一个子图重叠。
现在,终于可以开始配置图像运算工具了。我们依次配置3个图像运算工具,将4个子图串起来求最小值,最终得到下图
图8:4个子图的初始最小值结果
排查时,先来看子图1和2最小值结果
图9:子图1和2的最小值结果
再来看子图1、2和3一起的最小值结果
图10:子图1和2和3的最小值结果
我们使用鼠标中键在画布上测量一下桌面异常区域的像素高度,可知大约23像素。
图11:画布测量桌面异常区域的像素高度
此时,可以进一步利用图片工具可灵活设置图片位置的特点,进行轻微的矫正,如下图所示设置负责显示第3个子图的图片工具的选择点参数的Y坐标为23
图12:图片工具设置23像素的Y坐标
对齐后的3个子图最小值结果如下
图13:对齐后的3个子图的最小值结果
我们将第4个子图也用类似方法设置图片工具的显示位置,并融合之后的结果和上图类似,不再赘述。
到此,我们就完成了最初的目标。以上内容中,主要期望展示的工具包括: