Halcon 颜色分割算子、RGB和HSV之间的转换

认识RGB和HSV

在图像数字处理中,RGB和HSV是两种常用的颜色空间。

RGB代表 红色、绿色。蓝色

HSV代表  色相(Hue)、饱和度(Saturation)、明度(Value)

RGB常用于显示系统,是一种面向硬件的颜色空间

HSV常用于图像分析和处理,是一种符合人类视觉感知的颜色空间 

下面这个圆柱体表示 HSV空间    H用极坐标的极角表示   S用极坐标的极轴长度表示  V用圆柱中的高度表示

Hue用角度度量   范围: 0~360度

Halcon中的算子

原图

1. decompose3  图像分解

decompose3(MultiChannelImage,Image1,Image2,Image3)

将参数1图像转换成参数2,参数3,参数4

示例代码

decompose3 (Image, R, G, B)
dev_open_window (0, 0, Width/15, Height/15, 'black', WindowHandle)

dev_display (Image)
dev_display (R)
dev_display (G)
dev_display (B)

转换后的R图

转换后的G图 

转换后的B图

2.trans_from_rgb  颜色空间变换

trans_from_rgb(ImageRed, ImageGreen, ImageBlue,ImageResult1, ImageResult2, ImageResult3 , ColorSpace)

功能: 将图像从RGB颜色空间转换为任意空间(ColorSpace)。图像的三个通道在输入和输出上作为三个单独的图像传递

trans_from_rgb算子支持图像类型byte,uint2,int4和real。对于int4图像,图像不应包含负值。在真实图像的情况下,所有值都大部分都在0和1之间

输入参数
  • ImageRed:  输入图像(红色通道)
  • ImageGreen:  输入图像(绿色通道)
  • ImageBlue:  输入图像(蓝色通道)
输出参数
  •  ImageResult1: 输出图像(通道1)
  •  ImageResult2: 输出图像(通道2)
  • ImageResult3: 输出图像(通道3)

ColorSpace:  输出图像的颜色空间 

  •  默认值: ‘hsv’
  •  可选值(用于计算设备):  ‘cielab’, ‘cielchab’, ‘cieluv’, ‘cielchuv’, ‘hsv’, ‘hsi’
  • 可选值:‘argyb’, ‘cielab’, ‘cielchab’, ‘cielchuv’, ‘cieluv’, ‘ciexyz’, ‘ciexyz2’, ‘ciexyz3’, ‘ciexyz4’, ‘hls’, ‘hsi’, ‘hsv’, ‘i1i2i3’, ‘ihs’, ‘lms’, ‘yiq’, ‘yuv

示例代码
* RGB转换HSV
trans_from_rgb (R, G, B, H, S, V, 'hsv')
H图

S图

V图

3.compose3  三通道合并图

效果和decompose3 相反

示例代码

compose3 (H, S, V, hsv)
dev_open_window (0, 0, Width/12, Height/12, 'black', WindowHandle)
dev_display (hsv)
HSV效果图

运行结果对比  RGB   HSV

Halcon 算子示例

* 关闭窗口
dev_close_window ()
* 关闭程序计数器,图形变量更新,窗口图形更新
dev_update_off ()
* 读取图片
read_image (Image, 'F:/素材收集/图片素材/Videoshot_20241115_010654.jpg')
* 获取图像大小
get_image_size (Image, Width, Height)
* 彩色图像分割
decompose3 (Image, R, G, B)
* 打开一个窗体
dev_open_window (0, 0, Width/15, Height/15, 'black', WindowHandle)
* 在窗体展示图片
dev_display (Image)
dev_display (R)
dev_display (G)
dev_display (B)

*trans_from_rgb (R, G, B, H, S, V, 'rgb')
compose3 (R, G, B,rgb )
dev_display (rgb)
* RGB转换HSV
trans_from_rgb (R, G, B, H, S, V, 'hsv')

compose3 (H, S, V, hsv)
dev_open_window (0, 0, Width/12, Height/12, 'black', WindowHandle)
dev_display (hsv)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值