Main Content

regionfill

안쪽 보간을 사용하여 영상에서 특정 영역 채우기

설명

예제

J = regionfill(I,mask)는 영상 I에서 mask로 지정된 영역을 채웁니다. mask의 0이 아닌 픽셀은 영상 I에서 채워야 하는 픽셀을 지정합니다. regionfill을 사용하여 영상에서 객체를 제거하거나 이웃을 사용하여 유효하지 않은 픽셀 값을 교체할 수 있습니다.

예제

J = regionfill(I,x,y)는 영상 I에서 xy로 지정된 꼭짓점을 가진 다각형에 대응하는 영역을 채웁니다.

예제

모두 축소

회색조 영상을 읽어 들이고 표시합니다.

I = imread('eight.tif');
imshow(I)

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

영상에 나오는 동전 하나를 완전히 둘러싸는 다각형의 x 좌표와 y 좌표를 지정합니다.

x = [222 272 300 270 221 194];
y = [21 21 75 121 121 75];

regionfill 함수를 사용하여 다각형을 채웁니다.

J = regionfill(I,x,y);

채워진 영상을 표시합니다.

imshow(J)
title('Filled Image with One Fewer Coin')

Figure contains an axes object. The axes object with title Filled Image with One Fewer Coin contains an object of type image.

회색조 영상을 읽어 들이고 표시합니다.

I = imread('eight.tif');
imshow(I)

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

drawpolygon 함수를 사용하여 동전 두 개를 완전히 둘러싸는 다각형 ROI의 꼭짓점을 지정합니다. 다각형 꼭짓점의 x 좌표와 y 좌표로 'Position' 이름-값 쌍 인수를 지정합니다. 대화형 방식으로 다각형을 그리려면 'Position' 이름-값 쌍 인수를 생략하십시오.

x = [68 296 296 113 68];
y = [12 12 120 120 66];
roi = drawpolygon(gca,'Position',[x;y]');

Figure contains an axes object. The axes object contains 2 objects of type image, images.roi.polygon.

ROI가 true이고 배경이 false인 마스크 영상을 만듭니다. 마스크를 표시합니다.

mask = createMask(roi);
imshow(mask)

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

마스크 영상을 사용하여 입력 영상의 영역을 채웁니다. 채워진 영상을 표시합니다.

J = regionfill(I,mask);
imshow(J)

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

입력 인수

모두 축소

회색조 영상으로, 크기가 3×3보다 크거나 같은 2차원 숫자형 행렬로 지정됩니다.

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

마스크 영상으로, I와 크기가 같은 논리형 행렬 또는 숫자형 행렬로 지정됩니다. 숫자형 입력값의 경우 0이 아닌 픽셀은 1(true)로 간주됩니다.

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

다각형 꼭짓점의 x 좌표로, 숫자형 벡터로 지정됩니다. x는 길이가 y와 같아야 합니다.

예: [222 272 300 270 221 194];

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

다각형 꼭짓점의 y 좌표로, 숫자형 벡터로 지정됩니다. y는 길이가 x와 같아야 합니다.

예: [21 21 75 121 121 75];

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

출력 인수

모두 축소

채워진 회색조 영상으로, 2차원 숫자형 배열로 반환됩니다. JI와 크기 및 클래스가 같습니다.

알고리즘

regionfill은 영역의 바깥쪽 경계선에 있는 픽셀 값으로부터 매끄럽게 안쪽으로 보간합니다. regionfill은 영역에 대해 이산 라플라시안을 계산하고 디리클레 경계값 문제를 풉니다.

확장 기능

버전 내역

R2015a에 개발됨

모두 확장