주요 콘텐츠

insertObjectAnnotation

트루컬러 또는 회색조 영상 또는 비디오에 주석 추가

설명

RGB = insertObjectAnnotation(I,shape,position,label)은 지정된 position에 지정된 shapelabel을 사용하여 회색조 또는 트루컬러 영상에 주석을 추가합니다. 이 함수는 트루컬러 영상을 반환합니다.

예제

___ = insertObjectAnnotation(___,Name=Value)는 위에 열거된 구문 외에 하나 이상의 이름-값 인수를 사용하여 옵션을 지정합니다. 예를 들어 FontSize=18은 주석 글꼴 크기를 18로 설정합니다.

예제

예제

모두 축소

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

I = imread("board.tif");

부동소수점 숫자를 사용하여 신뢰 값 레이블을 만듭니다.

label_str = cell(3,1);
conf_val = [85.212 98.76 78.342];
for ii = 1:3
    label_str{ii} = ['Confidence: ' num2str(conf_val(ii), '%0.2f') '%'];
end

[x y width height] 형식을 사용하여 레이블과 연결된 사각형 경계 상자의 위치를 설정합니다.

position = [23 373 60 66; 35 185 77 81; 77 107 59 26];

영상에 레이블을 삽입합니다.

RGB = insertObjectAnnotation(I,"rectangle",position,label_str,TextBoxOpacity=0.9,FontSize=18);

주석이 달린 영상을 표시합니다.

figure
imshow(RGB)
title("Annotated chips")

Figure contains an axes object. The hidden axes object with title Annotated chips contains an object of type image.

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

I = imread("coins.png");

영상에서 레이블과 연결된 원형 경계 상자의 위치를 설정합니다. 각 행의 처음 두 값은 원의 중심의 좌표 (x,y)를 지정하고 세 번째 값은 반지름입니다.

position = [96 146 31; 236 173 26];

레이블에 표시할 값을 정수 5와 10으로 설정합니다. 이 값은 각각 미국 통화인 5센트와 10센트 동전을 나타냅니다.

label = [5 10];

영상에 주석을 삽입합니다.

RGB = insertObjectAnnotation(I,"circle",position,label,LineWidth=3,AnnotationColor=["cyan","yellow"],FontColor="black");

주석이 달린 영상을 표시합니다.

figure
imshow(RGB)
title("Annotated Coins")

Figure contains an axes object. The hidden axes object with title Annotated Coins contains an object of type image.

입력 인수

모두 축소

입력 영상으로, M×N×3 트루컬러 영상 또는 M×N 회색조 영상으로 지정됩니다.

데이터형: single | double | int16 | uint8 | uint16

주석의 형태로, "rectangle", "circle", "projected-cuboid" 또는 "ellipse"로 지정됩니다. "rectangle" 주석을 지정하는 경우 축 정렬 또는 회전된 사각 형의 위치를 지정합니다.

데이터형: char | string

형태의 위치로, 표에 설명된 대로 형태 유형에 따라 지정됩니다.

형태위치정의

rectangle

축 정렬된 사각형 또는 채워진 사각형을 하나 이상 지정하려면, M×4 숫자형 행렬로 지정합니다. 여기서 각 행은 [xywidthheight] 형식의 사각형을 지정합니다.

  • M은 축 정렬된 사각형의 개수입니다.

  • xy는 사각형의 왼쪽 위 코너를 지정합니다.

  • w는 사각형의 너비, 즉 x축에서의 길이를 지정합니다.

  • h는 사각형의 높이, 즉 y축에서의 길이를 지정합니다.

[x1y1width1height1x2y2width2height2xMyMwidthMheightM]

회전된 사각형을 하나 이상 지정하려면, 공간 좌표를 M×5 숫자형 행렬로 지정합니다. 여기서 각 행은 [xctr yctr w h yaw] 형식의 회전된 사각형을 지정합니다.

  • M은 회전된 사각형의 개수입니다.

  • xctryctr은 사각형의 중심을 지정합니다.

  • w는 사각형의 너비, 즉 회전하기 전 x축에서의 길이를 지정합니다.

  • h는 사각형의 높이, 즉 회전하기 전 y축에서의 길이를 지정합니다.

  • yaw는 회전 각도(단위: 도)를 지정합니다. 회전은 사각형의 중심을 기준으로 양의 시계 방향으로 수행됩니다.

Square rectangle rotated by -30 degrees.

circle

원을 하나 이상 지정하려면, 공간 좌표를 M×3 숫자형 행렬로 지정합니다. 여기서 각 행은 [xctr yctr radius] 형식의 원을 지정합니다.

  • M은 원의 개수입니다.

  • xctryctr은 원의 중심을 지정합니다.

  • radius는 원의 반지름을 지정합니다.

[xctr1yctr1radius1xctr2yctr2radius2xctrMyctrMradiusM]

ellipse

타원을 하나 이상 지정하려면, 공간 좌표를 M×5 행렬로 지정합니다. 지정하는 행렬의 각 행은 [xctr yctr major minor yaw] 형식의 타원을 지정합니다.

  • M은 타원의 개수입니다.

  • xctryctr은 타원의 중심을 지정합니다.

  • majorminor는 각각 타원의 장축과 단축의 길이입니다.

  • yaw는 회전 각도(단위: 도)입니다. 회전 각도는 타원 중심을 기준으로 한 시계 방향의 양수입니다.

projected-cuboid

투영 직육면체를 하나 이상 지정하려면, 공간 좌표를 8×2×M 배열 또는 M×8 행렬로 지정합니다. 여기서 M은 투영 직육면체의 개수입니다.

8×2×M 배열로 지정하는 경우 각 행은 투영 직육면체 꼭짓점의 [x y ] 위치를 포함해야 합니다. 이들 꼭짓점이 연결되어 6개의 면을 갖는 직육면체를 형성합니다. 입력 꼭짓점의 순서는 도식에 표시된 순서와 일치해야 합니다.

M×8 행렬로 지정하는 경우 각 행은 [x1 y1 w1 h1 x2 y2 w2 h2] 형식으로 투영 직육면체의 앞면과 뒷면의 크기를 지정합니다. 여기서 [x1 y1]과 [x2 y2]는 각각 앞면과 뒷면의 왼쪽 위 좌표를 지정합니다. [w1 h1]과 [w2 h2]는 대응하는 너비와 높이를 지정합니다.

Cuboid showing numbered vertices. The number starts with 1 assigned to the top right corner of the front facing rectangle. Going counter-clockwise 1-4 for the top face of cuboid, then 5-8 for the bottom face. The positive Z-axis goes up, the positive Y-axis goes to the right and the positive X-axis faces forward.

데이터형: single | double | cell | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

형태와 연결할 레이블로, 요소를 M개 가진 숫자형 벡터, string형 배열, categorical형 레이블로 구성된 벡터, 또는 ASCII 문자형 벡터로 구성된 셀형 배열로 지정됩니다. 문자형 벡터, string형 스칼라 또는 categorical형 레이블을 사용하는 경우 ASCII 문자로 인코딩해야 합니다. 셀형 배열을 지정하는 경우 길이는 지정된 형태 위치의 개수여야 합니다. 숫자형 스칼라, string형 스칼라 또는 스칼라 categorical형 레이블을 사용하여 모든 형태에 대해 단일 레이블을 지정할 수 있습니다.

예: [5 10]은 첫 번째 형태를 레이블 5로 표시하고 두 번째 형태를 레이블 10으로 표시합니다.

이름-값 인수

모두 축소

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

예: insertObjectAnnotation(I,"rectangle",position,label,FontSize=18);은 주석을 삽입할 때 사용할 글꼴 크기를 18로 설정합니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: insertObjectAnnotation(I,"rectangle",position,label,"FontSize","18");은 주석을 삽입할 때 사용할 글꼴 크기를 18로 설정합니다.

레이블 텍스트의 폰트 페이스로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 폰트 페이스는 시스템에 설치된 사용 가능한 트루타입 글꼴 중 하나여야 합니다. 시스템에 사용 가능한 글꼴 목록을 가져오려면 MATLAB® 명령 프롬프트에서 listTrueTypeFonts 함수를 사용하십시오.

데이터형: char | string

레이블 텍스트 글꼴 크기로, [8 200] 범위 내 점에 대응하는 정수로 지정됩니다.

데이터형: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

글꼴 색으로, 짧은 색 이름, 색 이름, 색 이름으로 구성된 벡터 또는 RGB 3색으로 구성된 3열 행렬로 지정됩니다.

지원되는 색이 나열된 아래 표에는 RGB 농도의 범위가 [0, 1]로 되어 있지만, 선택된 데이터형에 해당하는 범위 내에서 RGB 3색을 지정해야 합니다. 예를 들어, 이 인수를 uint8형 값으로 구성된 행렬로 지정하는 경우 각 농도값을 [0, 255] 범위로 변환해야 합니다. 나열된 농도값을 uint8 데이터형으로 변환하려면 코드 uint8(255*intensity)를 사용합니다. 여기서 농도는 표에 나열된 RGB 3색 값입니다.

각 글꼴 문자열에 서로 다른 색을 지정하거나 모든 문자열에 하나의 색을 지정할 수 있습니다. 모든 문자열에 하나의 색을 지정하려면 FontColor를 색 이름 또는 [R G B] 벡터로 지정하십시오.

데이터형: logical | uint8 | uint16 | int16 | double | single

주석 색으로, 짧은 색 이름, 색 이름, 색 이름으로 구성된 벡터 또는 RGB 3색으로 구성된 3열 행렬로 지정됩니다.

지원되는 색이 나열된 아래 표에는 RGB 농도의 범위가 [0, 1]로 되어 있지만, 선택된 데이터형에 해당하는 범위 내에서 RGB 3색을 지정해야 합니다. 예를 들어, 이 인수를 uint8형 값으로 구성된 행렬로 지정하는 경우 각 농도값을 [0, 255] 범위로 변환해야 합니다. 나열된 농도값을 uint8 데이터형으로 변환하려면 코드 uint8(255*intensity)를 사용합니다. 여기서 농도는 표에 나열된 RGB 3색 값입니다.

각 마커에 서로 다른 색을 지정하거나 모든 마커에 하나의 색을 지정할 수 있습니다. 모든 마커에 하나의 색을 지정하려면 AnnotationColor를 색 이름 또는 [R G B] 벡터로 지정하십시오.

사양형식
모든 형태(또는 마커)에 하나의 색 지정

짧은 색 이름 또는 색 이름

"r"

"red"

RGB 3색

[1 0 0]1-by-3 grid, with columns labeled r,g,b respectively.

각 형태(또는 마커)마다 색 지정

색 이름으로 구성된 벡터

["red","yellow","blue"]

RGB 3색으로 구성된 3열 행렬

[1 0 0
 0 1 1
 1 0 1
 1 1 1]
M-by-3 grid, with columns labeled r,g,b respectively.

다음 표에 지원되는 색이 나열되어 있습니다.

색 이름짧은 이름RGB 3색실제 표시 색
"red""r"[1 0 0]

Sample of the color red

"green""g"[0 1 0]

Sample of the color green

"blue""b"[0 0 1]

Sample of the color blue

"cyan" "c"[0 1 1]

Sample of the color cyan

"magenta""m"[1 0 1]

Sample of the color magenta

"yellow""y"[1 1 0]

Sample of the color yellow

"black""k"[0 0 0]

Sample of the color black

"white""w"[1 1 1]

Sample of the color white

데이터형: cell | char | uint8 | uint16 | int16 | double | single

텍스트 레이블 상자 배경의 불투명도로, [0, 1] 범위의 스칼라로 지정됩니다. 값 0은 레이블 텍스트 상자의 배경을 완전히 투명하게 렌더링하고, 값 1은 완전히 불투명하게 렌더링합니다.

데이터형: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

형태의 테두리 선 너비로, 양의 정수(단위: 픽셀)로 지정됩니다.

원래 방향 표시자로, 숫자형 또는 논리형 1 (true) 또는 0 (false)으로 지정됩니다. 1 (true) 값은 경계 상자에 화살표 주석을 사용하여 회전된 사각형의 원래 방향을 표시합니다. 원래 방향은 회전 각도가 0인 것으로 정의됩니다. 0 (false) 값은 화살표 주석을 표시하지 않습니다.

이 인수는 Shape가 회전된 사각형이나 타원을 설명하는 경우에만 적용됩니다.

데이터형: logical | integer

출력 인수

모두 축소

출력 영상으로, M×N×3 트루컬러 영상으로 반환됩니다.

확장 기능

모두 확장

버전 내역

R2012b에 개발됨

모두 확장