图像分割matlab_基于MATLAB的指针示数识别

本文介绍了基于MATLAB的指针表盘识别方法,通过颜色定位、去除干扰、连通区域标记及坐标计算,实现红色刻度线的精确识别。在颜色分割过程中,利用RGB通道比例设定并结合形态学操作排除干扰,最终计算出示数。对于红黄色干扰情况,提出了进一步的思考。
摘要由CSDN通过智能技术生成

032c0afb1822df97aee9d8c5f6c0d223.png

1.题目类型

基于颜色类的识别

2.课题名称

基于MATLAB的指示针表盘识别

3.应用背景和思路

现实中,我们知道我们肉眼所看到的彩色图像,其实都是有R、G、B三原色按照不同比例组成的,比例不同,对应的颜色就不同。同理,在利用matlab处理一些图像时候,我们往往可以利用颜色的特征来进行定位,分割和识别。如安全帽的定位计数,路锥的识别,水果的分类识别等。该课题中识别如如下:

9dd8b162e96d46d12e9548852d985be8.png

需要我们识别出,红色刻度线的示数。我们观察可知,红色是一个明显的特征,通过颜色的方法可以定位出红色刻度线位置,然后计算其坐标,利用已知的刻度值范围,即计算结果。

4设计过程

  1. 通过颜色定位

将彩色图像进行分理出RGB三通道,分别设置好每个通道比例,将落入颜色比例的像素置1,否则置0,如下图所示:

b989670ec7525cc5ea00e59403f6ce8e.png

2、去除干扰

有的时候,图中除了目标区域,可能还会伴随以下其他同样被判为红色分量的部分,这时候需要我们利用形态学知识把干扰给去除。MATLAB中,有一个去除二值图中,封闭面积块面积小于一定阈值的库函数,bwareaopen,其调用格式为:I1=bwareaopen(I,yuzhi),表示二值图像I中,把其面积小于yuzhi的白色块给去除掉,置0,这样就留下来感兴趣的精准目标区域。因为这里得到的结果效果比较好,所以无需做干扰的滤波。

3、连通区域标记

以上得到的还未必是一整块区域,可能是藕断丝连那种,需要做连同区域标记。

L = bwlabel(d,8); %标记连通
STATS = regionprops(L,'all');

以上中,d为提取颜色分量后的分割二值图,最终得到的连同的一个区域。

4、计算坐标

利用zero函数去寻找框定的最外接矩形的四个角的坐标,调用格式如下:

Ran = zeros(Num,4); % 范围
Fig = zeros(1,Num); % 长宽比
for i = 1:Num
    [ix,iy] = find(L == id(i));
    Ran(i,:) = [min(ix),max(ix),min(iy),max(iy)]; % 每一个区域的范围
End

得到了坐标,结合原刻度分度值,可以按比例换算刻度值。

五、运行结果

bd895c651153ac2e29ac3ccb88e5c976.png
运行图
知乎视频​www.zhihu.com

六、思考

如果是下图,即带有红黄色的干扰呢,又该如何?

5725c214c898c3cc0cc7b7f4d5612fe8.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值