Halcon利用颜色信息提取背景相似的字符区域

Halcon利用颜色信息提取背景相似的字符区域


本文以一个例子说明利用颜色信息进行目标提取。如图所示,图(a)为输入的原始图像,目标为提取出字符区域。由图(a)可见,文字与背景颜色非常相近,如果使用灰度图进行阈值处理,可能不容易得到理想的区域。这里介绍使用颜色信息的提取方法,将原图进行通道分解,然后选择区分度比较明显的通道图像进行区域分割。
在这里插入图片描述
首先使用read_image 算子读取图像,然后将彩色图像分解为R、G、B3个通道。由于字符颜色和背景颜色属于同一色调但饱和度不同,因此可以转化成饱和度图像观察其差异。这里使用trans_from_rgb算子将RGB彩色图像转化为HSV图像。然后对饱和度图像进行阈值处理,提取出灰度值比较高的部分。最后经过膨胀等形态学处理,完整地提取出字符区域。
图(a)为输入的原始图像,图(b)到(d)分别为分解后的红色、绿色、蓝色通道图像,图(e)到(g)分别为色调、饱和度、明度通道图像,图(h)为经阈值处理后提取到的字符图像。程序代码如下;

*读取待检测图像
read_image (Image, 'm105.jpg')
*将原始图像进行通道分离,得到红、绿、蓝3个分量的图像
decompose3 (Image, Red, Green, Blue)
*将R、G、B3 个分量的图像转化为H(色调)、S(饱和度)、v(明度)图像
trans_from_rgb (Red, Green, Blue, ImageResultH, ImageResultS, ImageResultl, 'hsv')
*对饱和度图像进行阈值处理,分割出高饱和度区域,即字符区域的大致范围
threshold (ImageResults, High, 192,255)
*区域分割
reduce_domain (ImageResultH, High, ImageReduced)
*进行膨胀操作
dilation_circle (ImageReduced, RegionDilation, 3.5)
*开运算,使边缘更清晰
opening_circle (RegionDilation, RegionChars, 5.5)
dev_clear_window ()
dev_display (RegionChars)

如此,即可通过颜色通道的分解,提取出理想的字符区域。

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值