Halcon region区域操作

1.reduce_domain

提取image中region区域内的图像。
reduce_domain — Reduce the domain of an image.

reduce_domain(Image, Region : ImageReduced : : )

2.intersection

两个region区域的交集。
intersection — Calculate the intersection of two regions.

intersection(Region1, Region2 : RegionIntersection : : )

3.full_domain

将图像中的空缺值都赋值为0。
full_domain — Expand the domain of an image to maximum.

full_domain(Image : ImageFull : : )

4.paint_region

将图像的region区域赋值某一灰度。
paint_region — Paint regions into an image.

paint_region(Region, Image : ImageResult : Grayval, Type : )

5.paint_gray

将一张图片
paint_gray — Paint the gray values of an image into another image.

paint_gray(ImageSource, ImageDestination : MixedImage : : )

6.difference

减去交集部分
difference — Calculate the difference of two regions.

difference(Region, Sub : RegionDifference : : )

7.move_region

区域移动
move_region — Translate a region.

move_region(Region : RegionMoved : Row, Column : )

8.union2

区域并集
union2 — Return the union of two regions.

union2(Region1, Region2 : RegionUnion : : )

9.complement

区域补集
complement — Return the complement of a region.

complement(Region : RegionComplement : : )
  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Halcon中,可以使用`intersection`操作来计算两个区域的交集。以下是使用`intersection`操作计算区域交集的示例代码: ```cpp #include <halconcpp/HalconCpp.h> #include <iostream> using namespace HalconCpp; int main() { try { HRegion region1, region2, intersection; // 创建第一个区域,例如一个矩形 HTuple row1_1 = 100; HTuple column1_1 = 100; HTuple row2_1 = 200; HTuple column2_1 = 200; GenRectangle1(&region1, row1_1, column1_1, row2_1, column2_1); // 创建第二个区域,例如一个圆 HTuple row = 150; HTuple column = 150; HTuple radius = 50; GenCircle(&region2, row, column, radius); // 计算区域交集 intersection = region1.Intersection(region2); // 显示区域交集 HWindow window; window.OpenWindow(0, 0, 500, 500); window.SetPart(0, 0, 500, 500); window.DispObj(intersection); // 输出区域交集的面积 HTuple area; AreaCenter(intersection, &area, nullptr, nullptr); std::cout << "区域交集面积: " << area.D() << std::endl; // 关闭窗口 window.CloseWindow(); } catch (HException &except) { std::cerr << "Halcon错误: " << except.ErrorMessage().Text() << std::endl; } return 0; } ``` 以上示例代码创建了两个区域,一个矩形区域和一个圆形区域。然后使用`intersection`操作计算这两个区域的交集,并将结果保存在`intersection`对象中。最后,显示交集区域并输出交集区域的面积。你可以根据实际需求修改代码中的区域形状和位置来计算不同区域的交集。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值