취미와 밥줄사이

[OpenCV] - Dilation, Erosion, Opening and Closing 본문

Python/Open CV

[OpenCV] - Dilation, Erosion, Opening and Closing

취미와 밥줄사이 2021. 5. 3. 01:35

Theory


  • 형태학적 변환은 이미지 모양으 기반으로 하는 몇 가지 간단한 작업입니다.
  • 일반적으로 이진 이미지에서 수행됩니다.
  • 두 개의 입력이 필요합니다.
  • 하는 원본 이미지이고, 두 번째는 구조화 요소 또는 작동의 특성을 결정하는 커널이라고 합니다.
  • 두 가지 기본 형태학적 연산자는 Erosion과 Dilation 입니다.
  • 그런 다음 Opening, Closing, Gradient 등과 같은 변형 형태도 작동합니다.

 

 

Erosin


  • 침식의 기본 개념은 토양 침식과 같으며 전경 물체의 경계를 침식합니다.
  • 항상 전경은 흰색으로 유지
  • 커널은 이미지를 따라 이동합니다.
  • 2D 컨볼루션에서와 같이
  • 원본 이미지의 픽셀( 1 또는 0 )은 커널 아래의 모든 픽셀이 1인 경우에만 1로 간주되고,
  • 그렇지 않으면 침식(0이 됨)이 됩니다.
  • 그래서 일어난 일은 커널의 크기에 따라 경계 근처의 모든 픽셀이 폐기 된다는 것입니다.
  • 따라서 전경 물체의 두께 또는 크기가 감소하거나 단순히 흰색 영역이 이미지에서 감소합니다.
  • 작은 백색 잡음을 제거하고 ( 색 공간 장에서 보았듯이) 두 개의 연결된 개체를 분리하는 데 유용합니다.

 

 

 

Dilation


  • Erosin의 반대입니다.
  • 여기서, 커널 아래의 픽셀 하나 이상이 '1'이면 픽셀 요소는 '1'입니다.
  • 따라서 이미지의 흰색 영역이 증가하거나 전경의 물체의 크기가 증가합니다.
  • 일반적으로 소음 제거와 같은 경우 침식에 이어 팽창이 발생합니다.
  • 침식은 백색 소음을 제거하지만 물체를 축소시키기 때문입니다.
  • 그래서 우리는 그것을 확장합니다. 
  • 소음이 없어 졌기 때문에 돌아 오지는 않지만 물체 영역은 증가합니다.
  • 또한 개체의 끊어진 부분을 결합하는데 유용합니다.

 

 

Opening


  • Opening은 Erosion과 dilation의 또 다른 이름 입니다.
  • 위에서 설명한 것럼 노이즈를 제거하는데 유용합니다.

 

 

 

Closing


  • Closing은 Opening, Dilation, Erosion의 역순입니다.
  • 전경 개체 내부의 작은 구멍이나 개체의 작은 검은 점을 닫을 떄 유용합니다.

 

 

 

예제코드


Erosion

 

dilation

'

Opening





Closing

 

 

 

 

 

 

이미지 비교














 

 

Reference


docs.opencv.org/master/d9/d61/tutorial_py_morphological_ops.html

 

OpenCV: Morphological Transformations

Goal In this chapter, Theory Morphological transformations are some simple operations based on the image shape. It is normally performed on binary images. It needs two inputs, one is our original image, second one is called structuring element or kernel wh

docs.opencv.org

 

'Python > Open CV' 카테고리의 다른 글

[OpenCV] - Crop and Resize  (0) 2021.05.04
[OpenCV] - 기본 사용법2  (0) 2021.05.04
[Open CV] - 기본 사용법  (0) 2021.05.04
[OpenCV] - Sharpening  (0) 2021.05.03
[openCV] - What is openCV?  (0) 2021.05.02