一、定义域的概念:每张图像都有其定义域(domain)。可以理解成二维函数的定义域。有几个约束点:
1.1 原始domain就是图像的高和宽,是(0,0)到(height-1,width-1)的矩形区域。
1.2 domain形状是个矩形,该矩形不能超越图像本身(图像内部,比图像小或等量)。
1.3 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的边界像素填充。