paint_region (Circle, Image, ImageResult,[255,255,255], ‘fill’)
*函数作用:绘制region到image内
*参数1:绘入图像内的区域
*参数2:包含绘入区域的图像
*参数3:结果图像
*参数4:期望的区域灰度值–填充区域的颜色值
*参数5:所绘区域类型,如填充或边界 ‘fill’, ‘margin’
凡是带有Paint_前缀的算子,都有涂写图片的功能。
1 带有paint的五个算子
paint_gray()
paint_region()
paint_xld()
overpaint_gray( )
overpaint_region()
2 函数详细解释
1 paint_gray(ImageSource, ImageDestination : MixedImage : : )
参数表:(输入源图像,输入目标图像,输出图像)
说明:将图像ImageSource的domain中灰度像素,喷到ImageDestination图上,并返回结果到MixedImage中。
2 paint_region(Region, Image : ImageResult : Grayval, Type : )
参数表:(输入区域,操作图像,结果图像,指定区域的灰度,数据类型)
说明:将区域Region所对应的像素序列 Grayval,按照Region的坐标,喷到 Image 图结果交给 ImageResult;数据类型Type可以是“Byte”也可以是“Complex”
此外,三通道的例如:paint_region (Region, Image , ImageResult, [255,255,255], ‘fill’)
等价:
overpaint_region(Image , Region, [255,255,255], ‘fill’)
ImageResult:=Image
3 paint_xld(XLD, Image : ImageResult : Grayval : )
参数表:(输入XLD,操作图像,输出图像,指定区域的灰度)
说明:将XLD(或由Contours构成、或由多边形构成的图像)喷到Image上去,结果交给 ImageResult,指定灰度常量Grayval。注意若实现DXF和工件匹配到一张图可以用此函数实现。
4 overpaint_gray(ImageDestination, ImageSource : : : )
参数表:( 目标操作图像,源操作图像 )
说明:该操作与paint_gray雷同,将ImageSource像素,按其domain的指定,喷到原图ImageDestination修改之,无输出。
5 overpaint_region(Image, Region : : Grayval, Type : )
参数表:( 输入被操作图,输入区域,灰度常数,数据类型)
说明:该操作与paint_region雷同,将Image像素修改,按其Region指定的坐标,喷到原图Image修改之,无输出。
##定义域(domain)
每张图像都有其定义域(domain)。可以理解成二维函数的定义域。有几个约束点:
原始domain就是图像的高和宽,是(0,0)到(height-1,width-1)的矩形区域。
domain形状是个矩形,该矩形不能超越图像本身(图像内部,比图像小或等量)。
domain可以在image和region共同作用下发生变化,变化后结果是图像,该图的domain和指定region的集合运算(大多是交集)构成新domain。
HALCON中的各种Domain算子共有九个,分别如下:
change_domain
get_domain
reduce_domain
full_domain,
intersection
crop_domain_rel
crop_domain
expand_domain_gray
rectangle1_domain
函数详细解释
1 change_domain(Image, NewDomain : ImageNew : : )
参数项:(输入图,输入区域,输出图像)
注意:输出图像尺寸与原图相同,只是现出与区域重合的像素,周边为黑。与reduce_domain相同。
2 get_domain(Image : Domain : : )
参数项:(输入图,输出区域 )
注意:输出图像当前domain相等尺寸的region。
3 reduce_domain(Image, Region : ImageReduced : : )
参数项:(输入图,输入区域,输出图像)
注意:输出图像尺寸与原图相同,只是现出与输入区域与原domain相交的新区域的像素,周边为黑。 ImageReduced具有旧domain和region相交区。
4 full_domain(Image : ImageFull : : )
参数项:(输入图-具有局部domain,输出图像-具有最大domain)
注意:这是reduce_domain函数的反向操作。
5 rectangle1_domain(Image : ImageReduced : Row1, Column1, Row2, Column2 : )
参数项:(输入图,输出图像, 矩形坐标【Row1, Column1, Row2, Column2】 )
注意:此操作与 change_domain功能相同,只是此操作直接指定新的domain而 change_domain通过region间接指定。
6 intersection(Region1, Region2 : RegionIntersection : : )
参数项:(区域1,区域2, 输出区域 )
注意:此操作不涉及domain,但是,domain的许多操作之前需要区域操作,用此配合。
7 crop_domain_rel(Image : ImagePart : Top, Left, Bottom, Right : )
参数项:(输入图, 输出图,剪切区域(Top, Left, Bottom, Right) )
注意:此函数将图像扣除四个边缘部分,得到剩下的图像,四个剪切边用(Top, Left, Bottom, Right)指定。
8 crop_domain(Image : ImagePart : : )
参数项:(输入图, 输出图 )
注意:此操作与crop_domain_rel雷同,只是crop_domain_rel抠出图像的指定矩形区域,本操作只抠出图像的domain区域。
9 expand_domain_gray(InputImage : ExpandedImage : ExpansionRange : )
参数项:(输入图像,输出图像,扩大的区域边)
注意:此操作意味输入图有一个较小的domain,将此domain按照边线扩大,扩边的宽度为ExpansionRange,扩展的区域用原domain的边界像素填充。