beginDrawingFromPoint

Начните рисование информация только для чтения из заданной точки

Описание

пример

beginDrawingFromPoint(ROI,[x y]) входит в интерактивный режим, чтобы нарисовать форму для объекта ROI. Чертеж начинается с местоположения (x, y) в осях. Этот метод предназначен для использования в ButtonDownFcn коллбэк Image или Axes объект.

beginDrawingFromPoint(ROI,[x y z]) входит в интерактивный режим, чтобы нарисовать кубоидальную ROI (images.roi.Cuboid). Чертеж начинается с местоположения (x, y, z) в осях.

beginDrawingFromPoint(ROI,[x y z],s) входит в интерактивный режим, чтобы нарисовать кубоидальную ROI (images.roi.Cuboid). Чертеж начинается с местоположения (x, y, z) в осях, привязываясь к ближайшему местоположению мыши из Scatter s объекта.

beginDrawingFromPoint(ROI,[x y z],pos) входит в интерактивный режим, чтобы нарисовать кубоидальную ROI (images.roi.Cuboid). Чертеж начинается с местоположения (x, y, z) в осях, привязываясь к ближайшему местоположению мыши из положения, заданного pos.

Примеры

свернуть все

Создайте новый скрипт под названием sampleDrawLine.m. Внутри скрипта скопируйте и вставьте этот код, затем сохраните файл.

hIm = imshow(imread('coins.png'));
hIm.ButtonDownFcn = @(~,~) buttonPressedCallback(hIm.Parent);
 
function buttonPressedCallback(hAx)
    cp = hAx.CurrentPoint;
    cp = [cp(1,1) cp(1,2)];
    obj = images.roi.Line('Parent',hAx,'Color',rand([1,3]));
    beginDrawingFromPoint(obj,cp);
end

Возврат к MATLAB® командное окно. Запустите скрипт путем ввода команды:

sampleDrawLine

Код открывает окно рисунка, содержащее изображение монет. Каждый раз, когда вы кликаете мышь над рисунком, скрипт выполняет функцию обратного вызова, buttonPressedCallback. Функция обратного вызова начинает рисование нового информация только для чтения, начиная с пикселя, который вы кликнули.

В редакторе откройте файл с именем cuboidExample.m. Скопируйте и вставьте этот код в файл, а затем сохраните его.

function cuboidExample
    [x,y,z] = sphere(16);
    X = [x(:)*.5 x(:)*.75 x(:)];
    Y = [y(:)*.5 y(:)*.75 y(:)];
    Z = [z(:)*.5 z(:)*.75 z(:)];
    
    % Specify the size and color of each marker.
    S = repmat([1 .75 .5]*10,numel(x),1);
    C = repmat([1 2 3],numel(x),1);
    
    % Create a 3-D scatter plot
    figure
    hScatter = scatter3(X(:),Y(:),Z(:),S(:),C(:),'filled'); 
    view(-60,60);
 
    % Begin drawing cuboids when a scatter
    % point is clicked
    hScatter.ButtonDownFcn = @(~,~) buttonPressedCallback(hScatter.Parent);
   
    function buttonPressedCallback(hAx)
       cp = hAx.CurrentPoint;
       cp = cp(1,1:3);
       obj = images.roi.Cuboid('Parent',hAx,'Color',rand([1,3]));
       obj.beginDrawingFromPoint(cp);
    end
 end

Вернитесь в командное окно MATLAB и запустите функцию путем ввода команды:

cuboidExample

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

Входные параметры

свернуть все

Необходимая область, заданная как объект информация только для чтения одного из следующих типов:

Начальная точка в осях, заданная как числовой массив.

Начальная точка в 3-D осях, заданная как числовой массив.

График поля точек, заданный как matlab.graphics.chart.primitive.Scatter объект.

Начальная точка в 3-D осях, заданная как числовой массив N -на 3. Каждая строка в pos представляет 3-D пространственное положение потенциального положения размещения.

Введенный в R2018b