matlab实现简单图形的识别

目的:将一副包含一个或多个矩形(圆形,三角形,正五边形,正六边形),且彼此独立不粘连的图像进行图像切割,提取出里面单独的形状,并利用占空比的方法判断图像的形状。
主程序代码:

%% 代码作用:连通域的分割,判断识别图像类型
% 输入图像中仅包含一个或多个矩形,圆形,三角形,正五边形,正六边形,彼此独立且不粘连
% 思路:
%       直接进行切割,且进行局部图像提取保存。然后利用占空比的方法判断图像的类型
% 说明:
%       暂时只能针对矩形,圆形,三角形,正五边形 ,正六边形的图形检测。如需添加
% 其他类型需要对ratio_search()函数进行扩充。
% 作者:cw      时间:2019.8.14
clc;
clear all;
t0 = clock;
%% 图像读入,灰度化,二值化,显示二值图
img=imread('TEST.jpg');
img = rgb2gray(img);  
BW=~im2bw(img);         % 背景用0表示,有效区域用1表示
figure;imshow(BW),title('二值显示');

%% 连通域切割,8连通域
% 图像连通域标记
[Local,image_num] = bwlabel(BW,8);
% RGB = label2rgb(Local);
% figure;imshow(RGB),title('rgb显示连通域');

% 连通域提取步骤:
% 1 先将图像分为5张,每张图只放一个标签区域;
% 2 删除个图中的无效区域;
% 3 创建元组来保存切割后的图像ÿ
  • 33
    点赞
  • 291
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值