Main Content

roipoly

다각형 관심 영역(ROI) 지정

설명

대화형 방식으로 다각형 만들기

BW = roipoly는 현재 Figure에 표시된 영상과 연결된 대화형 방식의 다각형 툴을 만듭니다. roipoly는 ROI 내부에 있는 픽셀은 1로, ROI 외부에 있는 픽셀은 0으로 설정하여 마스크를 이진 영상으로 반환합니다.

이 구문 및 그 밖의 다른 대화형 방식 구문을 사용할 때, 다각형 선택 툴은 사용자가 작업을 마칠 때까지 MATLAB® 명령줄을 차단합니다. 다각형 선택 툴 사용에 대한 자세한 내용은 대화형 방식 동작 항목을 참조하십시오.

BW = roipoly(I)는 Figure 창에 회색조 영상 또는 RGB 영상 I를 표시하고, 이 영상과 연결된 대화형 방식의 다각형 선택 툴을 생성합니다.

꼭짓점을 지정하여 다각형 만들기

예제

BW = roipoly(I,xi,yi)는 다각형 꼭짓점의 (x, y) 좌표를 (xi, yi)로 지정합니다.

BW = roipoly(xref,yref,I,xi,yi)xrefyref로 정의되는 세계 좌표계에서 다각형 꼭짓점 좌표를 지정합니다. 다각형 꼭짓점은 이 좌표계상의 (x, y) 좌표인 xi, yi를 갖습니다.

추가 출력 옵션 지정하기

[BW,xi2,yi2] = roipoly(___)는 닫힌 다각형의 꼭짓점 좌표 xi2yi2도 반환합니다. 다른 모든 구문의 입력 인수를 사용할 수 있습니다.

[xrefout,yrefout,BW,xi2,yi2] = roipoly(___)xrefout, yrefout으로 영상 제한값도 반환합니다.

출력 인수 없는 roipoly(___)는 결과 마스크 영상을 새 Figure 창에 표시합니다.

예제

모두 축소

영상을 작업 공간으로 읽어 들입니다.

I = imread('eight.tif');

마스크 다각형의 꼭짓점을 정의합니다.

c = [222 272 300 270 221 194];
r = [21 21 75 121 121 75];

이진 마스크 영상을 만듭니다.

BW = roipoly(I,c,r);

원본 영상과 다각형 마스크를 표시합니다.

imshow(I)

Figure contains an axes object. The axes object contains an object of type image.

figure
imshow(BW)

Figure contains an axes object. The axes object contains an object of type image.

입력 인수

모두 축소

회색조 영상 또는 RGB 영상으로, m×n 숫자형 배열(회색조 영상인 경우) 또는 m×n×3 숫자형 행렬(RGB 영상인 경우)로 지정됩니다.

다각형 꼭짓점의 x 좌표로, 길이가 yi와 같은 숫자형 벡터로 지정됩니다. xref를 사용하여 세계 좌표계상의 영상 제한값을 지정하면 xi는 이 좌표계상에 있습니다. 그렇지 않으면 xi는 디폴트 좌표계상에 있습니다.

다각형 꼭짓점의 y 좌표로, 길이가 xi와 같은 숫자형 벡터로 지정됩니다. yref를 사용하여 세계 좌표계상의 영상 제한값을 지정하면 yi는 이 좌표계상에 있습니다. 그렇지 않으면 yi는 디폴트 좌표계상에 있습니다.

세계 좌표상의 x 차원의 영상 제한값으로, [xmin xmax] 형식의, 요소를 2개 가진 숫자형 벡터로 지정됩니다. xref의 값은 영상 XData를 설정합니다.

세계 좌표상의 y 차원의 영상 제한값으로, [ymin ymax] 형식의, 요소를 2개 가진 숫자형 벡터로 지정됩니다. yref의 값은 영상 YData를 설정합니다.

출력 인수

모두 축소

이진 영상으로, m×n 논리형 행렬로 반환됩니다.

데이터형: logical

닫힌 다각형의 꼭짓점의 x 좌표로, 길이가 yi2와 같은 숫자형 벡터로 반환됩니다. 다각형이 닫히려면 벡터의 첫 번째 요소와 마지막 요소가 동일해야 합니다. xref를 사용하여 세계 좌표계상의 영상 제한값을 지정하면 xi2는 이 좌표계상에 있습니다. 그렇지 않으면 xi2는 디폴트 좌표계상에 있습니다.

닫힌 다각형의 꼭짓점의 y 좌표로, 길이가 xi2와 같은 숫자형 벡터로 반환됩니다. 다각형이 닫히려면 벡터의 첫 번째 요소와 마지막 요소가 동일해야 합니다. yref를 사용하여 세계 좌표계상의 영상 제한값을 지정하면 yi2는 이 좌표계상에 있습니다. 그렇지 않으면 yi2는 디폴트 좌표계상에 있습니다.

세계 좌표상의 x 차원의 영상 제한값으로, [xmin xmax] 형식의, 요소를 2개 가진 숫자형 벡터로 반환됩니다. xref를 사용하여 세계 좌표상의 영상 제한값을 지정할 경우, xrefoutxref와 같습니다. 그렇지 않을 경우 xrefout은 원본 영상 XData와 같습니다.

세계 좌표상의 y 차원의 영상 제한값으로, [ymin ymax] 형식의, 요소를 2개 가진 숫자형 벡터로 반환됩니다. yref를 사용하여 세계 좌표계상의 영상 제한값을 지정하면 yrefoutyref와 같습니다. 그렇지 않을 경우 yrefout은 원본 영상 YData와 같습니다.

세부 정보

모두 축소

대화형 방식 동작

다각형 선택 툴을 사용하면 마우스를 통해 대화형 방식으로 다각형 꼭짓점을 선택하고 조정할 수 있습니다.

다각형 툴이 활성 상태일 때 Figure에서 포인터를 영상 위로 가져가면 포인터가 십자 모양 으로 바뀝니다. 마우스로 다각형 꼭짓점을 선택하여 영역을 지정할 수 있습니다. 마우스를 사용하여 다각형을 이동하거나 다각형의 크기를 조정할 수 있습니다. 다각형의 위치 지정과 크기 조정이 끝나면, 더블 클릭하여 마스크를 만들거나 영역 내에서 마우스 오른쪽 버튼을 클릭하고 상황별 메뉴에서 마스크 만들기를 선택하여 마스크를 만듭니다.

아래 그림은 여러 꼭짓점으로 정의된 다각형을 보여줍니다. 다음 표에는 다각형 툴의 대화형 방식 동작이 모두 설명되어 있습니다.

Selected polygon vertices appear as blue points connected by blue line segments.

대화형 방식 동작설명
다각형 닫기 (관심 영역 완성)

다음 메커니즘을 사용합니다.

  • 선택한 다각형의 첫 번째 꼭짓점 위로 포인터를 가져갑니다. 포인터가 원 으로 바뀝니다. 마우스 버튼 중 하나를 클릭합니다.

  • 왼쪽 마우스 버튼을 더블 클릭합니다. 그러면 마우스 포인터 아래 점에 꼭짓점이 생기고 이 꼭짓점과 초기 꼭짓점을 연결하는 직선이 그려집니다.

  • 마우스 오른쪽 버튼을 클릭합니다. 그러면 선택한 마지막 꼭짓점과 초기 꼭짓점을 연결하는 직선이 그려집니다. 이 경우에는 마우스 아래 점에 새 꼭짓점이 생기지 않습니다.

전체 다각형 이동영역 내에서 포인터를 움직입니다. 포인터가 십자형 화살표 로 바뀝니다. 다각형을 클릭한 후 영상 위로 끌어서 놓습니다.
다각형 삭제

Backspace 키, Esc 키 또는 Delete 키를 누르거나, 영역을 마우스 오른쪽 버튼으로 클릭하고 상황별 메뉴에서 취소를 선택합니다.

참고: ROI를 삭제할 경우 함수는 빈 값을 반환합니다.

꼭짓점 이동 (관심 영역의 형태 변경)포인터를 꼭짓점 위로 가져갑니다. 포인터가 원 으로 바뀝니다. 꼭짓점을 클릭한 후 새 위치로 끌어서 놓습니다.
새 꼭짓점 추가포인터를 다각형 모서리 위로 가져간 후 A 키를 누릅니다. 포인터가 모양으로 바뀝니다. 왼쪽 마우스 버튼을 클릭하면 모서리의 해당 지점에 새 꼭짓점이 생깁니다.
꼭짓점 삭제 (관심 영역의 형태 변경)꼭짓점 위로 포인터를 가져갑니다. 포인터가 원 으로 바뀝니다. 마우스 오른쪽 버튼을 클릭하고 상황별 메뉴에서 꼭짓점 삭제를 선택합니다. roipoly가 삭제된 꼭짓점 근방의 두 꼭짓점을 잇는 새 직선을 그립니다.
다각형 색 변경영역 경계 내 임의 위치로 포인터를 이동한 후 마우스 오른쪽 버튼을 클릭합니다. 상황별 메뉴에서 색 설정을 선택합니다.
꼭짓점의 좌표 가져오기 영역 내에서 포인터를 움직입니다. 마우스 오른쪽 버튼을 클릭하고 상황별 메뉴에서 위치 복사를 선택하여 현재 위치를 클립보드에 복사합니다. 위치는 각 꼭짓점의 x, y 좌표를 포함하는 n×2 배열입니다. 여기서 n은 꼭짓점 개수입니다.

  • roipoly는 항상 닫힌 다각형을 생성합니다. 닫힌 다각형(즉, 좌표의 마지막 쌍과 첫 번째 쌍이 동일함)의 입력 꼭짓점 위치를 지정할 경우, 출력 좌표 벡터의 길이는 지정된 점 개수와 같습니다. 지정된 점으로 닫힌 다각형을 나타내지 못하는 경우, roipoly는 첫 번째 점과 동일한 좌표를 갖는 점을 마지막 점으로 추가합니다. 이 경우 출력 좌표 벡터의 길이는 지정된 점 개수보다 하나 더 큽니다.

  • ROI 경계에 있는 픽셀을 분류하는 방법에 대한 자세한 내용은 Classify Pixels That Are Partially Enclosed by ROI 항목을 참조하십시오.

  • 모든 roipoly 구문에서는 입력 영상 I를 임의 영상의 행 차원과 열 차원을 지정하는 두 개의 인수 mn으로 바꿀 수 있습니다. 예를 들어, 아래 명령을 사용하면 100×200 이진 마스크가 만들어집니다.

    c = [112 112 79 79];
    r = [37 66 66 37];
    BW = roipoly(100,200,c,r);

    대화형 형식의 roipoly를 사용하여 mn을 지정할 경우 m×n의 검은색 영상이 표시됩니다. 이 영상 내에서 마우스를 사용하여 다각형을 지정할 수 있습니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장