halcon颜色提取

在Halcon中,颜色提取通常用于从图像中提取特定颇具的区域或对象。

将输入的 RGB 颜色空间转换为 HSV

* 根据颜色提取想要的目标
for Index:=1 to 2 by 1
    read_image (Image, 'cable'+Index)
    * 获取一个三通道图像中每个通道的图像
    * 红色通道(R)、绿色通道(G)和蓝色通道(Bdecompose3 (Image, R, G, B)
    
    * 将输入的 RGB 颜色空间转换为 HSV(色相、饱和度、亮度)颜色空间
    * RGB 分别代表红、绿、蓝通道的图像数据,
    * HSV 分别用于存储转换后的色相、饱和度、亮度信息。
    * rgb 不利于某些特定的颜色查找
    trans_from_rgb (R, G, B, H, S, V, 'hsv')
    
    * 二值化
    threshold (S, Region, 100, 255)
    * 将筛选后的图像从H色调中提取出来
    reduce_domain (H, Region, ImageReduced)
    
    * 将上述色调进行阈值处理
    threshold (ImageReduced, Region1, 30, 70)
    * 连通性
    connection (Region1, ConnectedRegions)
    * 筛选
    select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 70)
    * 闭运算
    closing_circle (SelectedRegions, RegionClosing, 3.5)
    
    dev_clear_window ()
    dev_set_color ('blue')
    dev_set_draw ('margin')
    dev_display (Image)
    dev_display (RegionClosing)
endfor

在这里插入图片描述

将Bayer格式的彩色滤波图像阵列图像转换为RGB彩色图像

read_image (Image1, 'patras')
* 获取三通道
decompose3 (Image1, R, G, B)
* rgb过度hsv
trans_from_rgb (R, G, B, H, S, V, 'hsv')
*HSV(色相、饱和度、亮度)颜色空间转换为 RGB(红绿蓝)颜色空间
*  R2G2B2 分别表示转换后的 RGB 图像的红色通道、绿色通道和蓝色通道。
trans_to_rgb (H, S, V, R2, G2, B2, 'hsv')
* 将给定的三个单通道图像 RGB 合成为一个多通道图像 
compose3 (R, G, B, MultiChannelImage)

* 将基于 Bayer 格式的彩色滤波阵列(CFA,Color Filter Array)图像通过双线性插值算法转换为 RGB 彩色图像
* 参数三:'bayer_gb' 表示输入图像的 Bayer 格式类型为 GB 格式,
* 参数四:'bilinear' 表示使用双线性插值算法进行颜色插值处理
cfa_to_rgb (MultiChannelImage, RGBImage, 'bayer_gb', 'bilinear')

在这里插入图片描述

根据霍夫变换寻找直线

read_image (Image, '矩阵')
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_display (Image)
*剪切指定的矩形图像
rectangle1_domain (Image, ImageReduced, 198, 279, 340, 590)
*选中矩形的边缘
sobel_amp (ImageReduced, EdgeAmplitude, 'thin_sum_abs', 3)
dev_set_color ('red')
threshold (EdgeAmplitude, Region, 10, 255)
connection (Region, ConnectedRegions)
select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 70)

* 根据霍夫变换寻找直线
* 参数一:输入图像
* 参数二:调整角度区域的分辨率。
* 参数三:阈值
* 参数四:图像中两个最大值的最小距离
* 参数五:图像中两个最大值的最小距离
* 参数六:线的法线角度(单位弧度)
* 参数七:检测到的线与原点的距离。
hough_lines (SelectedRegions, 4, 100, 5, 5, Angle, Dist)

dev_set_color ('blue')
*将查找到的线转换为区域
gen_region_hline (Regions, Angle, Dist)
*过滤无效的线
select_shape (Regions, SelectedRegions1, 'orientation', 'and', 0, 4)
dev_display (Image)
dev_display (SelectedRegions1)

在这里插入图片描述

  • 14
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值