Как решить ошибку про drawcircle в Matlab? - PullRequest
0 голосов
/ 29 января 2019

В следующем коде, то есть для рисования круга на изображении, произошла ошибка.Я пытаюсь решить ее, но не могу найти проблему.

figure('color', [1 1 1]);
clf;
imshow(inputVol(:,:,85),[]);
drawcircle([blobSlice(ind,2),blobSlice(ind,1)],round(sqrt(3)*blobSlice(ind,4)),50,'-','g', 1); % Error

Для экземпляра:

I = imread('Img.jpg');
% blobSlice(ind,2) =  179;
% blobSlice(ind,1) = 206;
% round(sqrt(3)*blobSlice(ind,4)) = 9;
imshow(I,[]);
drawcircle(gca, [179, 206], 9, 500, '-', 'g', 1); % Error is here.

И ошибка:

Error using images.roi.internal.ROI/parseInputs
ROI parent must be a valid Axes object.

Error in images.roi.Circle

Error in drawcircle (line 165)
h = images.roi.Circle(varargin{:});

Error in tumor2dVis (line 18)
    drawcircle([blobSlice(ind,2),blobSlice(ind,1)],round(sqrt(3)*blobSlice(ind,4)),500,'-','g', 1);

Error in Blob3D_Detection (line 38)
tumor2dVis(volume_image, 85, nonMaxOutput, 1);

Итак, как решить ошибку с линией нарисованного круга?

1 Ответ

0 голосов
/ 29 января 2019

Для MATLAB 2018b

В своем коде добавьте текущие оси, если вы хотите построить круг:

figure('color', [1 1 1]);clf;
imshow(inputVol(:,:,85),[]);

% Get current axis (gca):
ax=gca;
% add them to the function. 
drawcircle(ax,...);

Примером может бытьbe:

drawcircle(gca,'Center',[206,179],'Radius',9,'StripeColor','g');

Для других MATLAB

drawcircle, по-видимому, не существует, если вы не используете какую-либо функцию панели инструментов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...