주요 콘텐츠

imkeepborder

영상 테두리에 연결된 밝은 구조물 유지

R2023b 이후

설명

J = imkeepborder(I)는 영상 I에서 주변보다 밝으면서 영상 테두리에 연결되어 있는 구조물만 유지하고 나머지 모든 구조물을 제거합니다. I가 이진 영상이면, 구조물은 흰색 픽셀의 연결된 그룹입니다. 영상 테두리를 유지하면서 테두리에 닿지 않는 구조물을 지우려면 이 함수를 사용하십시오. 출력 영상 J는 입력 영상에 따라 회색조 또는 이진 영상이 될 수 있습니다.

예제

J = imkeepborder(I,Name=Value)는 하나 이상의 이름-값 인수를 사용하여 테두리 구조물을 선택하는 옵션을 지정합니다. 예를 들어 imkeepborder(I,Borders=["left" "right"])는 왼쪽 또는 오른쪽 영상 테두리에 닿는 구조물만 유지합니다.

예제

예제

모두 축소

이진 영상(미세 석영 주상 결정립의 후처리된 영상[2])을 작업 공간으로 읽어 들인 후 이를 표시합니다.

originalBW = imread("quartz_columns.png");
imshow(originalBW)

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

영상 속에서 영상 테두리에 연결된 밝은 객체만 유지하고 나머지를 모두 제거합니다.

BWborder=imkeepborder(originalBW);
imshow(BWborder)

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

이진 영상을 작업 공간으로 읽어 들인 후 이를 표시합니다. 이 영상은 미세 석영 주상 결정립의 후처리된 영상[2]입니다.

originalBW = imread("quartz_columns.png");
imshow(originalBW)

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

영상의 위쪽 또는 아래쪽 테두리에 연결된 객체만 유지하고 나머지를 제거합니다.

BWkeep2B = imkeepborder(originalBW,Borders=["top" "bottom"]);
imshow(BWkeep2B)

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

입력 인수

모두 축소

회색조 또는 이진 영상으로, 임의 차원의 숫자형 또는 논리형 배열로 지정됩니다.

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

이름-값 인수

모두 축소

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

예: imkeepborder(I,Borders=["left" "right"])는 영상의 왼쪽 또는 오른쪽 영상 테두리에 닿는 밝은 구조물을 유지합니다.

구조물을 유지할 영상 테두리로, string형으로 구성된 벡터 또는 01로 구성된 N×2 행렬로 지정됩니다.

  • string형으로 구성된 벡터 — "left", "right", "top", "bottom"의 조합을 사용하여 2차원 영상의 어느 테두리에서 구조물을 유지할지 지정합니다. I를 2차원 영상으로 지정하면 Borders의 디폴트 값은 ["left" "right" "top" "bottom"]입니다.

  • 01로 구성된 N×2 행렬 — 구조물을 유지할 N차원 영상의 테두리를 지정합니다. 여기서 각 행의 첫 번째 요소는 해당 차원의 첫 번째 테두리를 나타내고 두 번째 요소는 해당 차원의 두 번째 테두리를 나타냅니다. 예를 들어 Borders(k,1)1이면 k번째 차원의 첫 번째 테두리에 닿는 구조물이 선택됩니다. Borders(k,2)1이면 k번째 차원의 두 번째 테두리에 닿는 구조물이 선택됩니다. 예를 들어 Borders = [0 0; 1 1; 0 0]을 지정하는 것은 Borders = ["left" "right"]를 지정하는 것과 동일합니다. N차원 영상에 대한 Borders의 디폴트 값은 ones(ndims(I),2)이며, 이는 영상의 모든 테두리에 닿는 구조물을 유지하도록 지정합니다.

픽셀 연결성으로, 다음 표에 있는 값 중 하나로 지정되거나 01로 구성된 3×3×...×3 행렬로 지정됩니다. 디폴트 연결성은 2차원 영상의 경우 8, 3차원 영상의 경우 26입니다.

의미

2차원 연결성

4

경계가 서로 닿으면 픽셀이 연결됩니다. 픽셀의 이웃은 가로 또는 세로 방향으로 인접한 픽셀입니다.

3-by-3 pixel neighborhood with four pixels connected to the center pixel

현재 픽셀은 회색으로 표시됩니다.

8

경계 또는 코너가 서로 닿으면 픽셀이 연결됩니다. 픽셀의 이웃은 가로, 세로 또는 대각선 방향으로 인접한 픽셀입니다.

3-by-3 pixel neighborhood with 8 pixels connected to the center pixel

현재 픽셀은 회색으로 표시됩니다.

3차원 연결성

6

면이 서로 닿으면 픽셀이 연결됩니다. 픽셀의 이웃은 다음 방향으로 인접한 픽셀입니다.

  • 안쪽, 바깥쪽, 왼쪽, 오른쪽, 위쪽, 아래쪽 방향 중 하나

3-by-3-by-3 pixel neighborhood with 6 pixels connected to the faces of the center pixel

현재 픽셀은 회색으로 표시됩니다.

18

면 또는 경계가 서로 닿으면 픽셀이 연결됩니다. 픽셀의 이웃은 다음 방향으로 인접한 픽셀입니다.

  • 안쪽, 바깥쪽, 왼쪽, 오른쪽, 위쪽, 아래쪽 방향 중 하나

  • 두 방향의 조합(예: 오른쪽-아래쪽 또는 안쪽-위쪽)

3-by-3-by-3 pixel neighborhood with 6 pixels connected to the faces and 12 pixels connected to the edges of the center pixel

현재 픽셀은 큐브의 중앙입니다.

26

면, 경계 또는 코너가 서로 닿으면 픽셀이 연결됩니다. 픽셀의 이웃은 다음 방향으로 인접한 픽셀입니다.

  • 안쪽, 바깥쪽, 왼쪽, 오른쪽, 위쪽, 아래쪽 방향 중 하나

  • 두 방향의 조합(예: 오른쪽-아래쪽 또는 안쪽-위쪽)

  • 세 방향의 조합(예: 안쪽-오른쪽-위쪽 또는 안쪽 -왼쪽-아래쪽)

3-by-3-by-3 pixel neighborhood with 6 pixels connected to the faces, 12 pixels connected to the edges, and 8 pixels connected to the corners of the center pixel

현재 픽셀은 큐브의 중앙입니다.

더 높은 차원의 경우, imkeepborder는 디폴트 값 conndef(ndims(I),"maximal")을 사용합니다.

01로 구성된 3×3×...×3 행렬을 지정하여 모든 차원에 대해 더 일반적인 방식으로 연결성을 정의할 수도 있습니다. 값이 1인 요소는 conn의 중앙 요소를 기준으로 하여 이웃 픽셀의 위치를 정의합니다. conn은 그 중앙 요소를 기준으로 대칭이어야 합니다. 자세한 내용은 사용자 지정된 연결성 지정하기 항목을 참조하십시오.

데이터형: double | logical

출력 인수

모두 축소

처리된 회색조 또는 이진 영상으로, 지정한 입력 영상에 따라 숫자형 배열 또는 논리형 배열로 반환됩니다.

알고리즘

imkeepborder는 다음과 같은 경우 모폴로지 재구성을 사용합니다.

  • 마스크 영상이 입력 영상인 경우.

  • 마커 영상이 테두리 부분을 제외한 모든 곳에서 0이고 테두리 부분이 마스크 영상과 동일한 경우.

참고 문헌

[1] Soille, Pierre. Morphological Image Analysis: Principles and Applications Berlin ; New York: Springer, 1999, 164–165.

[2] Molnar, Ian. "Uniform Quartz - Silver Nanoparticle Injection Experiment." Digital Rocks Portal (April 2025). Accessed August 8, 2025. https://www.doi.org/10.17612/P7Z59J.

확장 기능

모두 확장

버전 내역

R2023b에 개발됨

참고 항목

|