Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14632
  • 博文数量: 1
  • 博客积分: 30
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-09 21:13
文章分类
文章存档

2012年(1)

我的朋友
最近访客

分类:

2012-10-09 21:22:52

原文地址:matlab中的图像圆心确定 作者:tastesweet

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

%
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');   %绘制*,表示圆心位置


处理过程图像:

 

处理结果:

 

 

阅读(5760) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~