如何在图像处理寻找画椭圆边界不规则?
29日视图(30天)
显示旧的评论
嗨,我是工作形象prcessing发现黑色素瘤。为此,我必须找出边界的不规则性。所以我需要画一个椭圆形的cpde我发现之前的重心。请帮帮我。
0评论
答案(2)
埃米尔哈姆萨
2020年3月8日
它给你选择交互式地画出椭圆,或者你甚至可以画以编程方式通过提供椭圆的中心,它的轴的长度,和旋转角度。例如,
drawellipse (ax,“中心”[500500],“SemiAxes”[200100],“RotationAngle”,90);
斧子是绘制图像的轴。中心和轴长度在像素,而RotationAngle度。
图像分析
2020年3月10日
如果你想手动绘制一个椭圆,看到这段代码:
(行、列,numberOfColorChannels) = (rgbImage)大小;
掩码= true(行、列);%初始化所以我们会有一些情况下会引发一个错误。
hFig =图;
imshow (rgbImage);
hFig。WindowState =“最大化”;
h = uicontrol (“位置”(20 620 200 40),“字符串”,“接受”,“字形大小”12“FontWeight”,“大胆”,…
“回调”,“uiresume (gcbf)”);
userPrompt = sprintf (请画出一个椭圆。\ nClick完成后接受按钮左边。”);
msgboxw (userPrompt);
标题= sprintf (请画出一个椭圆。完成后关闭窗口。”);
标题(标题,“字形大小”14);
%的用户交互式地拖出椭圆和调整它的大小和位置。
投资回报率= drawellipse ();
xy = roi.Vertices;
%的其他东西需要让用户调整椭圆和回到xy坐标。
%的侦听器更新xy基地工作区当用户更改椭圆。
addlistener (roi,“ROIMoved”@ (src evt) assignin (“基地”,“xy”src.Vertices));
uiwait (hFig);
xy = evalin (“基地”,“xy”);%的xy坐标系的基本工作空间。
掩码= poly2mask (xy (: 1), xy(:, 2),行,列);
imshow(面具);
drawnow;
关闭(hFig);
看到这在分段画椭圆团:
史蒂夫eddin图像处理的博客
一旦你xy(椭圆的坐标),您可以使用sqrt()找到实际边界的距离bwboundaries椭圆()。然后得到所有这些距离的均值。
但是,为什么不直接以blob为吗?为什么用户绘制一个椭圆?您可以使用可靠性从regionprops边界不规则的相关指标。