주요 콘텐츠

insertText

영상 또는 비디오에 텍스트 삽입

설명

RGB = insertText(I,position,text)는 텍스트를 트루컬러 또는 회색조 영상 I에 삽입합니다. 이 함수는 트루컬러 영상을 반환합니다.

예제

RGB = insertText(I,position,numericValue)는 숫자형 값을 입력 영상에 삽입합니다.

예제

RGB = insertText(___,Name=Value)는 위에 열거된 구문의 입력 인수의 조합 외에 하나 이상의 이름-값 인수를 사용하여 옵션을 지정합니다. 예를 들어 FontColor="red"는 삽입된 텍스트 또는 숫자형 값을 빨간색으로 렌더링합니다.

예제

모두 축소

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

I = imread("board.tif");

비율이 포함된 텍스트 문자열을 만듭니다.

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

텍스트 상자의 위치와 색을 정의합니다.

position = [23 373; 35 185; 77 107]; 
box_color = {"red","green","yellow"};

텍스트 문자열을 각각의 상자 색과 함께 삽입하고, 모든 문자열의 글꼴 크기, 불투명도, 텍스트 색을 지정합니다.

RGB = insertText(I,position,text_str,FontSize=18,TextBoxColor=box_color, ...
    BoxOpacity=0.4,TextColor="white");

영상을 주석과 함께 표시합니다.

figure
imshow(RGB)
title("Board")

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

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

I = imread("peppers.png");

숫자형 값과 해당 xy 위치를 정의합니다.

position =  [1 50; 100 50];
value = [555 pi];

각 텍스트 상자의 왼쪽 아래 코너를 앵커 점으로 사용하여 숫자형 값을 삽입합니다.

RGB = insertText(I,position,value,AnchorPoint="LeftBottom");

숫자형 값이 삽입된 영상을 표시합니다.

figure
imshow(RGB)
title("Numeric Values")

Figure contains an axes object. The hidden axes object with title Numeric Values contains an object of type image.

유니코드 U+014C를 영상에 삽입합니다.

OWithMacron = native2unicode([hex2dec("C5") hex2dec("8C")],"UTF-8");
RGB = insertText(RGB,[256 50],OWithMacron,font="LucidaSansRegular",TextBoxColor="white");

유니코드 문자가 삽입된 영상을 표시합니다.

figure
imshow(RGB)
title("Numeric Values");

Figure contains an axes object. The hidden axes object with title Numeric Values contains an object of type image.

입력 인수

모두 축소

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

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

유니코드 텍스트로, 문자형 벡터, string형 스칼라, 문자형 벡터로 구성된 요소를 M개 가진 셀형 배열 또는 요소를 M개 가진 string형 배열로 지정됩니다. Mposition에 지정된 텍스트 위치의 개수입니다. 이 함수는 픽셀을 text의 값으로 덮어씁니다. 단일 string형 또는 단일 문자형 벡터를 지정하면 이 함수는 position 행렬의 모든 위치에 이를 사용합니다. 대부분의 유니코드 글꼴에는 ASCII 문자가 포함됩니다. 영어 숫자형 값을 포함하여 영어 문자와 영어 이외의 문자를 단일 글꼴로 표시할 수 있습니다.

데이터형: char | string | cell

숫자형 값 텍스트로, 숫자형 스칼라 또는 요소를 M개 가진 숫자형 벡터로 지정됩니다. Mposition에 지정된 위치 개수입니다. 스칼라 값을 지정하면 이 함수는 지정된 모든 위치에 이 값을 사용합니다. 이 함수는 sprintf 형식 '%0.5g'를 사용하여 각 숫자형 값을 문자형 벡터로 변환합니다.

데이터형: numeric

삽입된 텍스트의 위치로, M×2 행렬로 지정됩니다. M은 지정된 텍스트 위치의 개수이고, 각 행은 텍스트 상자에 있는 AnchorPointxy 좌표를 지정합니다.

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

이름-값 인수

모두 축소

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

예: insertText(I,position,text,Font="Calibri")는 폰트 페이스를 Calibri로 설정합니다.

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

예: insertText(I,position,text,"Font","Calibri")는 폰트 페이스를 Calibri로 설정합니다.

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

데이터형: char | string

글꼴 크기로, [1, 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] 벡터로 지정하십시오.

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

짧은 색 이름 또는 색 이름

"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

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

텍스트 상자 색으로, 짧은 색 이름, 색 이름, 색 이름으로 구성된 벡터 또는 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

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

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

텍스트 상자 기준점으로, 다음 값 중 하나로 지정됩니다.

  • "LeftTop"

  • "LeftCenter"

  • "LeftBottom"

  • "CenterTop"

  • "Center"

  • "CenterBottom"

  • "RightTop"

  • "RightCenter"

  • "RightBottom"

앵커 점은 각 텍스트 상자에서의 상대적 위치를 정의합니다. 텍스트 상자의 위치는 position의 대응하는 행으로 지정할 수 있습니다. 예를 들어 텍스트 상자의 중심을 position으로 지정된 xy 좌표에 배치하려면 AnchorPointCenter로 설정하십시오.

데이터형: char | string

출력 인수

모두 축소

출력 영상으로, 지정된 텍스트가 삽입된 M×N×3 트루컬러 영상으로 반환됩니다.

제한 사항

  • 출력 영상에 문자가 보이지 않으면 지정된 글꼴에 해당 문자가 없는 것입니다. 다른 글꼴을 선택하십시오. 시스템에 사용 가능한 글꼴 목록을 가져오려면 MATLAB 명령 프롬프트에 listTrueTypeFonts를 입력하십시오.

  • 글꼴 크기를 늘리면 전처리 시간과 메모리 사용량도 늘어납니다.

  • insertText 함수는 특정 복합 문자에는 동작하지 않습니다. 예를 들어, 문자 코드에 대응하는 그림문자(glyph) 하나를 렌더링할 때 이로 인해 주변 그림문자의 위치, 모양 또는 크기가 영향을 받는 경우 텍스트를 삽입할 수 없습니다.

확장 기능

모두 확장

버전 내역

R2013a에 개발됨

모두 확장