你好,我有两个圆图像同心,我使用一个命令(x, y) = ginput (1)。使用鼠标点击一个同心圆,参照(x, y)点如何找出内在dia,外dia,中心

2视图(30天)
能画一个圆,参照的{(x, y) = ginput(1)}单点。
3评论

登录置评。

接受的答案

图像分析
图像分析 2012年12月28日
下面是如何做ginput(1),而不是自动的,就像你要求:
clc;%清除命令窗口。
关闭所有;%关闭所有数据(除了imtool。)
imtool关闭所有;%关闭所有imtool数字图像处理工具箱。
清晰;%擦掉所有现有的变量。或者clearvars如果你想要的。
工作空间;%确定工作区面板显示。
格式长g;
格式紧凑的;
字形大小= 20;
imshow (“C: \ \ Naresh \ \ \ intq.png临时文件的用户);
使用ginput %要求中心(1)
消息= sprintf (“请点击圆圈的中心”);
按钮= questdlg(消息,“继续?”,“好吧”,“退出”,“好吧”);
drawnow;%刷新屏幕上残余的对话框。
如果strcmpi(按钮,“退出”)
返回;
结束
[xCenter, yCenter] = ginput (1)
持有;
markerSize = 30;%的十字架。
线宽= 2;%厚度的十字架。
情节(xCenter yCenter,' r + ',“MarkerSIze”markerSize,“线宽”、线宽);
%要求内部边缘使用ginput (1)
消息= sprintf (内部边缘的“请点击圆圈的);
按钮= questdlg(消息,“继续?”,“好吧”,“退出”,“好吧”);
drawnow;%刷新屏幕上残余的对话框。
如果strcmpi(按钮,“退出”)
返回;
结束
(鑫,阴)= ginput (1)
%画一个十字架在点击的地步。
情节(鑫,阴,' r + ',“MarkerSIze”markerSize,“线宽”、线宽);
%画一条线。
线([xCenter,鑫],[yCenter,阴),“颜色”,“b”,“线宽”、线宽);
%计算直径:
内径=√(xInner-xCenter) ^ 2 + (yInner-yCenter) ^ 2)
%要求使用ginput外缘(1)
消息= sprintf (的内径= %。2 f \ n \ nPlease点击外缘的外圆”、内径);
按钮= questdlg(消息,“继续?”,“好吧”,“退出”,“好吧”);
drawnow;%刷新屏幕上残余的对话框。
如果strcmpi(按钮,“退出”)
返回;
结束
[xOuter,你]= ginput (1)
情节(xOuter,你,' r + ',“MarkerSIze”markerSize,“线宽”、线宽);
%画一条线。
线([xCenter xOuter], [yCenter,你),“颜色”,“b”,“线宽”、线宽);
%计算直径:
outerDiameter =√(xOuter-xCenter) ^ 2 + (yOuter-yCenter) ^ 2)
内径=√(xInner-xCenter) ^ 2 + (yInner-yCenter) ^ 2)
消息= sprintf (的外直径= %。2 f \ nThe内径= % .2f ',
outerDiameter,内径);
uiwait (helpdlg(消息));
2的评论
图像分析
图像分析 2021年4月11日
是的
(鑫,阴)= ginput (1);
行=圆(阴);%确保它是一个整数,而不是一个分数值。
列=圆(新);
pixelValue = yourImage(行、列,:)

登录置评。

更多的答案(3)

图像分析
图像分析 2012年12月25日
查看常见问题解答: http://matlab.wikia.com/wiki/FAQ How_do_I_create_a_circle.3F 为代码如何画圆和椭圆。
10评论
图像分析
图像分析 2012年12月31日
我们已经讲过了。如果你不想做它与ginput手动,然后有很多方法自动阈值和regionprops找到东西。你也可以把它们如果你想找,说,只是一双直径而不是整个集合。

登录置评。


沃尔特·罗伯森
沃尔特·罗伯森 2012年12月25日
关于你的当前版本的问题问是否可以画一个圆,参照ginput(1)坐标,答案是肯定的,和相关的方法是图像分析的常见问题。

沃尔特·罗伯森
沃尔特·罗伯森 2012年12月25日
所涉及的问题,你发邮件给我找到内外圈直径在一个“靶心”类型模式,并想知道如何找到一个圆的直径指出使用ginput ()
我建议你找到所有的内外直径,然后担心输出。
发现直径,通过阈值图像用“<”,这样你得到“真正”的黑暗区域。然后bwlabel()的二进制图像结果。regionprops(),请求EquivDiameter和FilledArea的面积。外径EquivDiameter会给你。√(区域- FilledArea) / pi)的内径,0是最里面的圆。排序EquivDiameter圈的顺序。
如果你仍然希望用户能够点击选择一个特定的点,然后点击后,提取同一点的标记图像,和标签会告诉你regionprops结果的数组索引。
11日评论

登录置评。

类别

找到更多的在图像处理和计算机视觉帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的