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)

在这里插入图片描述

相关推荐

  1. 使用QRegularExpression从样式表中提取颜色

    2024-03-20 07:10:09       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-20 07:10:09       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-20 07:10:09       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-20 07:10:09       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-20 07:10:09       20 阅读

热门阅读

  1. kafka connect

    2024-03-20 07:10:09       19 阅读
  2. C# double类型计算精度问题解决

    2024-03-20 07:10:09       21 阅读
  3. 面试复盘(北京某小公司)

    2024-03-20 07:10:09       21 阅读
  4. Unity构建详解(2)——SBP的初始设置和脚本编译

    2024-03-20 07:10:09       16 阅读
  5. windows搭建Elasticsearch环境

    2024-03-20 07:10:09       22 阅读
  6. Openssh

    2024-03-20 07:10:09       18 阅读
  7. [论文笔记] Open-Sora 4、sora复现训练过程 (新repo)

    2024-03-20 07:10:09       20 阅读
  8. OpenCV 单目相机光平面标定

    2024-03-20 07:10:09       23 阅读
  9. 【ML】深度学习演进与神经网络反向传播推导 2

    2024-03-20 07:10:09       17 阅读