Main Content

insertShape

영상 또는 비디오에 형태 삽입

설명

예제

RGB = insertShape(I,shape,position)은 지정된 shape를 트루컬러 또는 회색조 영상 I에 삽입합니다. 이 함수는 픽셀 값을 덮어써서 형태를 그리고 트루컬러 영상를 반환합니다.

RGB = insertShape(___,Name=Value)는 위에 열거된 구문의 입력 인수 외에 하나 이상의 이름-값 인수를 사용하여 옵션을 지정합니다. 예를 들어 LineWidth=5는 삽입된 형태의 선 너비 값을 5로 설정합니다.

예제

모두 축소

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

I = imread("peppers.png");

테두리 선 너비가 5픽셀인 원을 영상에 배치합니다.

RGB = insertShape(I,"circle",[150 280 35],LineWidth=5);

영상에 채워진 삼각형과 채워진 육각형을 배치합니다.

pos_triangle = [183 297 302 250 316 297];
pos_hexagon = [340 163 305 186 303 257 334 294 362 255 361 191];
RGB = insertShape(RGB,"filled-polygon",{pos_triangle pos_hexagon}, ...
    ShapeColor=["white","green"],Opacity=0.7);

결과 영상을 표시합니다.

imshow(RGB)

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

입력 인수

모두 축소

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

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

형태의 유형으로, "rectangle", "filled-rectangle", "line", "polygon", "filled-polygon", "circle", "filled-circle" 또는 "projected-cuboid"로 지정됩니다.

데이터형: char | string

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

형태위치

rectangle

filled-rectangle

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

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

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

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

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

[x1y1width1height1x2y2width2height2xMyMwidthMheightM]

Two rectangles for M=2,specified by x, y, width, and height labeled for each rectangle.

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

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

  • xctr과 yctr은 사각형의 중심을 지정합니다.

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

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

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

Square rectangle rotated by -30 degrees.

circle

filled-circle

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

  • M은 원의 개수입니다.

  • xctr과 yctr은 원의 중심을 지정합니다.

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

[xctr1yctr1radius1xctr2yctr2radius2xctrMyctrMradiusM]

Two circles for M=2, with radius and center points defined.

line

선을 하나 이상 지정하려면, 다음 형식 중 하나를 사용해서 공간 좌표를 지정하여 연결된 끝점이 있는 단일 선, 끝점 개수가 동일한 여러 개의 선 또는 끝점 개수가 다른 여러 개의 선을 지정합니다.

  • 연결된 끝점이 있는 단일 선 — P×2 행렬로 지정합니다. 여기서 각 행은 [x y] 형식으로 끝점을 지정하고, 한 행의 끝점은 다음 행의 끝점에 직접 연결됩니다. P는 선의 끝점 개수입니다.

  • 끝점 개수가 동일한 여러 개의 선 — M×2P 행렬로 지정합니다. 여기서 각 행은 [x1 y1 x2 y2 ... xp yp] 형식으로 단일 선의 연속된 끝점을 지정합니다. 각 [x y] 쌍은 단일 끝점의 좌표입니다. M은 지정된 선의 개수이고 P는 선당 끝점의 개수입니다.

  • 끝점 개수가 다른 여러 개의 선 — M×1 셀형 배열로 지정합니다. 여기서 각 셀은 단일 선에 대한 끝점을 P×2 행렬 또는 1×2P 벡터로 포함합니다. M은 지정된 선의 개수이고 P는 각 선의 끝점 개수입니다.

Two lines for M=2, with endpoints defined as [x11,y11], [x12,y12] and [x21,y21], [x22,y22].

polygon

filled-polygon

다각형을 하나 이상 지정하려면, 공간 좌표를 M×1 셀형 배열로 지정합니다. 여기서 각 셀은 [x y] 꼭짓점 위치로 구성된 L×2 행렬 또는 [x1, y1, x2,y2, … xL,yL ] 형식의 연속된 꼭짓점 위치로 구성된 1×2L 벡터를 포함합니다.

  • M은 다각형의 개수입니다.

  • 각 [x y] 쌍은 꼭짓점 위치 또는 끝점을 설명합니다.

  • L은 다각형의 꼭짓점 개수 또는 선의 끝점 개수입니다. 각 다각형이나 선은 서로 다른 개수의 꼭짓점이나 끝점을 가질 수 있습니다.

Two polygons, for M=2, with L=5 for the number of vertices in each polygon. Each vertex location defined of the form (xmn,ymn), where m specifies the polygon and n specifies the vertex.

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

이름-값 인수

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

예: insertShape(I,"circle",position,Color="yellow")는 형태의 색을 노란색으로 설정합니다.

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

예: insertShape(I,"circle",position,"Color","yellow")는 형태의 색을 노란색으로 설정합니다.

형태의 테두리 선 너비로, 양의 정수(단위: 픽셀)로 지정됩니다. 이 인수는 "Rectangle", "Line", "Polygon", "Circle" 형태에만 적용됩니다.

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

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

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

각 형태에 서로 다른 색을 지정하거나 모든 형태에 하나의 색을 지정할 수 있습니다. 모든 마커에 하나의 색을 지정하려면 ShapeColor를 색 이름 또는 [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 | cell

채워진 형태의 불투명도로, [0 1] 범위의 스칼라로 지정됩니다. Opacity 인수는 "filled-rectangle", "filled-polygon", "filled-circle" 형태에만 적용됩니다.

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

형태 경계 평활화로, 논리값 1(true) 또는 0(false)으로 지정됩니다. true 값을 지정하면 안티에일리어싱 필터가 활성화되어 형태 경계를 평활화합니다. 이 값은 사각형이 아닌 형태에만 적용됩니다. 안티에일리어싱을 활성화하면 형태를 그리는 데 추가 시간이 필요합니다.

데이터형: logical

출력 인수

모두 축소

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

확장 기능

버전 내역

R2014a에 개발됨

모두 확장