本帖最后由 yuejianboil 于 2013-5-18 19:50 编辑
%% 检测出圆形物体
%功能:检测圆形物体
%输入:读入检测的图像;修改近似为圆形的度量值(0,1)之间
%输出:标记图像中圆形物体
%
%讨论:欢迎加入研究生图像处理QQ群:283461032
%
%% 第一步,图像二值化
%读取图像
I_rgb=imread('检测圆.png');
figure,imshow(I_rgb);
%
%真彩图转化为灰度图
I_gray=rgb2gray(I_rgb);
% figure,imshow(I_gray);
%
%灰度图转化为二值图像,需要注意的是二值化阈值大小在[0,1]之间
%本文阈值level可以用Otsu方法获取,全局阈值。采用函数graythresh
level=graythresh(I_gray);
I_bw=im2bw(I_gray,level);
% figure,imshow(I_bw);
%% 第二步,找到物体边界。关键点是:图像“缝隙”和“孔洞”的概念和填补方法
%去掉小目标,像素数小于30的,关键点理解图像连通域的含义。
%这个30根据具体应用中目标的大小调节
bw1=bwareaopen(I_bw,30);
% figure,imshow(bw1);
%二值图像去除小区域后,对大区域中的缝隙填充,同时平滑边界