Halcon 学习之图像分割之彩色分割

本人声明:在本博客以及后续的博客中,全部代码都以C++形式进行实现,使用的数据类型为 HImage,而不是单纯的使用算子或Hobject 数据类型;不对之处,请大家指正;也请大牛不吝赐教;

Halcon 中对彩色图像进行分割的算子为:

decompose3(MultiChannelImge: Image1 : Image2: Image3::)

该算子的作用是将图像分为三个单通道图像;

MultiChannleImage: 输入的要进行分割的多通道图像,一般为三通道;

Image1: 转换的第一个通道图像,对应 Red 红色;

Image2:转换的第二个通道图像,对应Green 绿色;

Image3:转换的第三个通道图像,对应 Blue 蓝色;

而在C++中对应的接口为:HImage HImage::Decompose3(HImage* Image2, HImage* Image3) const

其中,Image2,对应转换的第二个通道,即绿色通道;Image3,对应转换的第三个通道,即蓝色通道;

转换后的第一个通道,即红色通道,为返回值;

其C++实现代码如下所示:

	HImage hImg2;
	hImg2.ReadImage("01.jpg");

	HImage r, g, b;
	r = hImg2.Decompose3(&g, &b);
	showImage(r, IDC_PIC2);
	// 将图片进行保存
	r.WriteImage("jpg",0, "r.jpg");
	g.WriteImage("jpg",0, "g.jpg");
	b.WriteImage("jpg",0, "b.jpg");

处理后的 R、G、B 图像如下图所示:


其中,从左到右依次为 R通道、G通道、B通道;使用OpenCV 进行验证,图像如下所示:


可以看出,两种方式提取的图像完全一样;

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值