一个matlab图像处理中关于感兴趣区选取的问题:如何产生一个大小固定的圆,且可以随意拖动?

如题所述

clear all
close all
clc
im=imread('test.jpg');
imshow(im);
state=1;
while(state==1)
figure(1);
[x y]=ginput(1);
if(x<0)
state=0;
else
save_x=x;
save_y=y;
end
r=100; %圆半径
sita=0:pi/20:2*pi;
imshow(im);
hold on
plot(x+r*cos(sita),y+r*sin(sita));
pause(.1);

end
plot(save_x+r*cos(sita),save_y+r*sin(sita));

我写的这段代码,圆的半径形状什么的你都可以自己修改,程序很简单,你自己看看 替换图片或者写成函数都很简单,可以随意修改,达到自己的效果。
在图片范围内,单击鼠标左键,就可以画圆,然后想停止取点,就在图像的左面范围外单击一下,只要x左边小于0,就可以自己停止了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-01
imellipse函数可以实现,函数具体看帮助
相似回答