在应用程序设计器GUI中限制ROI时出错-Matlab

问题描述 投票:0回答:1

如何创建矩形的投资回报率并使用应用设计器设置阈值?

这是我得到的错误,它另外打开一个用于标记ROI的图形:

Error using imbinarize
Expected I to be one of these types:

uint8, uint16, uint32, int8, int16, int32, single, double

Instead its type was images.roi.Rectangle.

Error in imbinarize>validateImage (line 262)
validateattributes(I,supportedClasses,supportedAttribs,mfilename,'I');

Error in imbinarize>parseInputs (line 198)
validateImage(I);

Error in imbinarize (line 134)
[I,isNumericThreshold,options] = parseInputs(I,varargin{:});

代码:

    function ButtonPushed(app, event)

        I = imread('coins.png');
        imshow(I,'Parent', app.imageAxes);
        level = graythresh(I)
        roiRect = drawrectangle()
        BW = imbinarize(roiRect,level);
    end
matlab matlab-app-designer
1个回答
0
投票

[请尝试使用此代码,drawrectangle()函数将返回一个对象,而不是图像,您必须从该对象获取位置并根据此裁剪您的ROI。

    function ButtonPushed(app, event)

        I = imread('coins.png');
        imshow(I,'Parent', app.imageAxes);
        level = graythresh(I)
        roiRect = drawrectangle()
        roi = imcrop(I,roiRect.Position);
        BW = imbinarize(roi,level);
    end

© www.soinside.com 2019 - 2024. All rights reserved.