이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

ROI 생성 개요

이 툴박스는 원, 타원, 다각형, 직선, 사각형, 직접 그린 형태 등 다양한 형태의 관심 영역을 생성할 수 있는 객체의 집합을 제공합니다. 자동으로 경계의 윤곽선을 따라가는 기본 영상의 "도움"을 받아 직접 형태를 그릴 수도 있습니다. 다음 그림은 영상 위에 그린 다각형 ROI를 보여줍니다.

다음은 현재 지원되는 ROI 객체의 전체 목록입니다.

ROI 객체

이 툴박스에 포함된 ROI 객체의 집합을 사용하여 원, 타원, 다각형, 사각형, 직접 그린 형태 등 다양한 모양의 ROI를 만들 수 있습니다. 이러한 객체를 사용하면 마우스를 사용하여 대화형 방식으로 ROI를 그리거나 ROI의 크기와 형태에 대한 정보를 지정하여 프로그래밍 방식으로 그릴 수 있습니다. ROI 객체를 만든 후에는 ROI에 대해 마스크 생성과 같은 연산을 수행할 수 있습니다. ROI의 동작과 모양을 제어하고, 마우스 클릭이나 이동 등 ROI 내부에서 발생하는 이벤트에 응답할 수도 있습니다.

대화형 방식으로 ROI 객체를 사용할 때 기본 워크플로는 객체를 만든 다음 draw 객체 함수를 호출하여 대화형 방식으로 형태 그리기를 시작하는 것입니다.

  1. 영상을 MATLAB® 작업 공간으로 읽어 들인 후 이를 Figure에 표시합니다.

    I = imread('pears.png');
    imshow(I)
  2. 영상에 타원형 ROI를 만듭니다. 이 예제에서는 타원형 ROI 객체를 만듭니다. StripeColor 파라미터를 사용하여 경계의 모양을 사용자 지정합니다. 편의 함수 drawellipse는 객체 그리기 함수를 자동으로 호출하여 영상에서 형태 그리기를 시작합니다.

    roi = images.roi.ellipse('StripeColor','m');
  3. 타원형 객체의 draw 객체 함수를 호출하여 좌표축 위에 ROI를 그립니다. 마우스 포인터를 영상 위로 가져가면 커서가 십자 기호로 바뀝니다. 클릭한 다음 영상 위에서 커서를 움직여서 타원 모양을 만듭니다. 대화형 방식으로 타원을 움직이고 타원의 모양을 변경할 수 있습니다.

    draw(roi)

ROI 생성 편의 함수

이 툴박스는 ROI 객체를 만들 때 사용할 수 있는 여러 편의 함수를 제공합니다. images.roi.Rectangle과 같은 ROI 객체를 사용하여 객체를 만든 다음 draw 객체 함수를 호출하여 형태 그리기를 시작할 수 있습니다. 또는 drawrectangle과 같은 대응하는 편의 함수를 호출할 수 있습니다. 편의 함수는 ROI 객체를 만든 다음 draw 객체 함수를 자동으로 호출해 줍니다. 어떤 방식으로 ROI 객체를 만들더라도 동일한 객체 속성, 객체 함수, 이벤트 지원을 사용하여 그 동작과 기능을 사용자 지정할 수 있습니다.

ROI 편의 함수를 사용할 때의 기본 워크플로는 함수를 사용하여 객체를 만드는 것입니다. 편의 함수가 draw 객체 메서드를 자동으로 호출합니다.

  1. 영상을 MATLAB 작업 공간으로 읽어 들인 후 이를 Figure에 표시합니다.

    I = imread('pears.png');
    imshow(I)
  2. ROI를 만듭니다. 이 예제에서는 drawellipse 편의 함수를 사용하여 타원형 ROI를 만듭니다. 이 예제에서는 StripeColor 파라미터를 사용하여 경계의 모양을 사용자 지정합니다.

    roi = drawEllipse('StripeColor','m');

앱 디자이너로 만든 앱에서 ROI 사용하기

앱 디자이너로 만든 앱의 ROI를 사용하여 UIAxes의 ROI에 부모를 지정할 수 있습니다. ROI 생성 함수를 호출할 때 UIAxes를 명시적으로 입력 인수로 지정하거나 'Parent' 이름/값 쌍을 사용하여 명시적으로 지정해야 합니다. 앱에서 이 방법으로 ROI를 사용할 때는 다음과 같은 몇 가지 제한 사항이 있습니다.

  • ROI 위에서 마우스 커서를 이동해도 커서가 업데이트되지 않습니다. 커서는 항상 화살표로 표시됩니다.

  • ROI 위에서 마우스 커서를 이동해도 ROI의 색이 바뀌지 않습니다.

  • ROI 위에서 마우스 오른쪽 버튼 클릭 메뉴(UIContextMenu)는 지원되지 않습니다.

다음 코드는 일반적인 앱 생성 워크플로는 아니긴 하나, 앱(UIFigure)의 UIAxes에서 ROI를 지정하는 방법을 보여줍니다.

  1. UIAxes를 만듭니다. uiaxes 함수를 호출하면 자동으로 UIFigure를 생성합니다.

    uax = uiaxes;

  2. UIAxes 안에 ROI를 만듭니다. drawcircle과 같은 ROI 생성 함수 또는 images.roi.Circle과 같은 ROI 클래스를 호출합니다. UIAxes를 인수로 지정합니다. 좌표축 위로 커서를 이동하고 마우스를 클릭한 후 끌어서 ROI를 그립니다. UIAxes와 함께 사용하면 커서의 형태가 바뀌지 않습니다.

    h = drawcircle(uax);

    images.roi.Circle 같은 ROI 생성 클래스를 사용하여 ROI를 만들 수도 있습니다. 클래스를 사용하는 경우 draw 함수를 호출하고 ROI 객체를 인수로 지정해야 합니다.

관련 예제

세부 정보