halcon C++ 图片中添加区域HRegion

15 篇文章 2 订阅

1.halcon 图片中添加区域HRegion

彩色图片C++ 实现

HObject ho_ImageResult1;
GenEmptyObj(&ho_ImageResult1);
// 绘制区域到图片
PaintRegion(ho_Regions, ho_Image, &ho_ImageResult1, ((HTuple(255).Append(255)).Append(255)), "fill");
// 保存图片
WriteImage(ho_ImageResult1, "bmp", 0, ".\\ho_ImageResult1");

2.C++ 函数封装实现

头文件

// 彩色图片
void save_rgb_Region(HObject ho_region, HObject ho_Image, HTuple hv_filePath);

// 灰度图片
void save_gray_region(HObject ho_region, HObject ho_Image, HTuple hv_filePath);

C++文件

// 彩色图片
void save_rgb_Region(HObject ho_region, HObject ho_Image, HTuple hv_filePath) 
{
	HObject ho_ImageResult;
	GenEmptyObj(&ho_ImageResult);
	PaintRegion(ho_region, ho_Image, &ho_ImageResult, ((HTuple(255).Append(255)).Append(255)), "fill");

	WriteImage(ho_ImageResult, "bmp", 0, hv_filePath);
}

// 灰度图片
void save_gray_region(HObject ho_region, HObject ho_Image, HTuple hv_filePath) 
{
	HObject ho_ImageR, ho_ImageG, ho_ImageB, ho_imgRGB;

	PaintRegion(ho_region, ho_Image, &ho_ImageR, 255, "fill");
	PaintRegion(ho_region, ho_Image, &ho_ImageG, 0, "fill");
	PaintRegion(ho_region, ho_Image, &ho_ImageB, 0, "fill");
	Compose3(ho_ImageR, ho_ImageG, ho_ImageB, &ho_imgRGB);
	WriteImage(ho_imgRGB, "bmp", 0, hv_filePath);
}

halcon C++ 循环读取HTuple

HTuple  hv_Index1, hv_pathFile;
HTuple end_val86 = pathModels.TupleLength();
HTuple step_val86 = 1;
for (hv_Index1 = 1; hv_Index1.Continue(end_val86, step_val86); hv_Index1 += step_val86)
{
	hv_pathFile = HTuple(pathModels[hv_Index1 - 1]);
	cout << hv_pathFile.ToString().Text();
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

廷益--飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值