Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1645007
  • 博文数量: 245
  • 博客积分: 10378
  • 博客等级: 上将
  • 技术积分: 2571
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-27 08:19
文章分类

全部博文(245)

文章存档

2013年(4)

2012年(8)

2011年(13)

2010年(68)

2009年(152)

分类:

2010-07-29 14:58:14

原始图像:
 
 
要完成的任务: 找到这个圆的圆心
处理过:
 

%
clear;
clc;

img=imread('c:/1.jpg');

img=im2bw(img,graythresh(img) );%二值化图像

se=strel('square',9);

img_1=imclose(img,se);       %执行形态闭操作

img_2=imfill(img_1,'holes');   %图像填充处理

img_3=imerode(img_2,se);      %腐蚀操作。

w=[-1 -1 -1;2 2 2;-1 -1 -1];

img_4=xor(img_2(:,:),img_3(:,:)); %腐蚀操作后,图像比原来图像要小,异或从而获得边缘

img_edge=bwmorph(img_4,'thin');  % 边缘细化

[l,num]=bwlabel(img_edge,8);      %获取标注分量

[y_index,x_index]=find(l == 1);

x=mean(x_index);                  %计算圆心
y=mean(y_index);

figure;
subplot(221);
imshow(img);
title('二值化后的图像');


subplot(222)
imshow(img_1);
title('close操作后的图像');

subplot(223)
imshow(img_2);
title('填充后的图像');

subplot(224);
imshow(img_4);
title('腐蚀处理后的图像');

figure;

imshow(img_edge);
title('绘制出圆心的图像');
hold on;
plot(x,y,'Marker','*','MarkerEdgeColor','w');   %绘制*,表示圆心位置


处理过程图像:

 

处理结果:

 

 

阅读(9276) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~