CogAffineTransformTool工具能够对图像中仿射矩形内的区域进行变换,产生一个矩形的输出图像。这个工具能够消除仿射矩形的旋转和倾斜的影响,并且能够设置一个比例参数,以使能够放大或缩小矩形区域内的特征。并则可以指定其他缩放系数。
当感兴趣的对象可以从一个图像旋转到下一个图像时,可以使用仿射变换工具来调整输入图像的区域,使用不能容忍太多旋转的视觉工具来分析图像。
例如,下图显示了受检查对象周围的仿射矩形以及仿射变换工具生成的输出图像

另一个例子,下图显示了如何使用仿射变换工具来增加输入图像的所需部分的比例:
该工具还可以转换图像,以便切换坐标系,如下图所示

是任何四边形,其中相对的边彼此平行。正方形,矩形和平行四边形都是仿射矩形,如下图所示:
仿射矩形使用以下标记的顶点:
仿射变换工具将矩形内的图像转换为矩形输出图像,如下图所示:
要生成输出图像,仿射矩形工具使用两种采样方法之一。
考虑输入图像中最接近每个采样点中心的四个像素的值。
类似于双线性插值方法,只是它在确定采样像素的值时考虑了额外的像素。
双线性插值方法比高精度方法执行得更快,但高精度方法提供更高的精度。
在某些情况下,仿射矩形在其在输入图像的边界附近或上方延伸时可以被剪裁。例如,下图显示了一个超出输入图像边框的仿射矩形:


例如,当仿射矩形依赖于fixture工具来确定其在输入图像上的位置时,可能会发生这种情况。
由于仿射变换工具实现采样方法的方式,如果使用双线性插值方法并且仿射矩形中任何像素的中心位于输入图像边缘的两个像素内,也会发生剪切。如果使用高精度采样方法,则如果仿射矩形中任何像素的中心位于输入图像边缘的四个像素内,则会发生剪切。
下图说明了仿射矩形如何剪切,即使它完全落在输入图像的边框内:
应用程序中添加仿射变换工具时,可以配置工具如何处理输出图像中的剪切像素。可以选择使用灰色值0或指定的特定灰度值填充剪切像素,也可以选择让视觉应用程序生成错误。
如果使用仿射变换工具的结果作为另一个视觉工具的输入图像,并且仿射矩形中的像素可能因为它们位于输入图像的边界附近或外部而被剪裁,可以拥有仿射变换工具生成可选的输出图像掩膜。对于仿射矩形内的像素,该工具使用255的像素值填充输出图像掩膜,对于剪切的像素,填充0的值。例如,下图显示了带有仿射矩形的输入图像,以及它生成的输出掩膜图像:
输出掩膜图像

可用于防止分析由仿射变换工具生成的输出图像的任何视觉工具分析被剪切的像素值。
练习
展开文字,截取A