HALCON图像、区域涂写

本文详细介绍了Halcon库中的五个与paint相关的图像处理函数,包括paint_gray(),paint_region(),paint_xld(),overpaint_gray(),和overpaint_region(),它们用于在图像上绘制区域并进行灰度操作,以及与domain和region交互的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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的边界像素填充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值