opencv 모폴로지 예제

우리는 형태 변환을 수행하는 핵심 기능이 형태Ex임을 관찰 할 수 있습니다. 이 예제에서는 네 개의 인수를 사용합니다(나머지는 기본값으로 남음): 이전 예제에서 보여 준 형태학적 작업 TOPHAT 외에도 OpenCV는 다양한 다른 유형의 형태를 수용합니다. 이러한 모든 형식은 Imgproc 클래스의 미리 정의된 정적 필드(고정 값)로 표시됩니다. 작업: 수행할 형태 변환의 종류입니다. 5가지 대안이 있습니다: 첫 번째 트랙바 „연산자”는 사용할 형태 작업 의 종류를 반환합니다(morph_operator). 예를 들어 아래 예제를 확인하십시오. 왼쪽의 이미지는 원본이고 오른쪽 이미지는 열기 변환을 적용한 후 의 결과입니다. 우리는 편지의 모서리에있는 작은 공간이 dissapear 경향이 있음을 관찰 할 수 있습니다. 각 미리 정의된 값을 morphologyEx() 메서드의 매개 변수 op에 전달하여 필요한 형태 유형을 선택할 수 있습니다. 슬라이더를 이동할 때마다 사용자의 함수 Morphology_Operations가 호출되어 새 형태변형 작업을 적용하고 현재 트랙바 값을 기반으로 출력 이미지를 업데이트합니다.

이들은 쌍으로 오는 경향이 있습니다. 우리가 얘기할 첫 번째 쌍은 침식과 팽창입니다. 침식은 우리가 가장자리를 „침식”할 곳입니다. 이러한 작업은 슬라이더(커널)로 작업하는 방식입니다. 슬라이더의 크기를 지정하면 5 x 5 픽셀이라고 가정 해 봅시다. 이 슬라이더를 슬라이드하면 모든 픽셀이 흰색이면 흰색이되고 그렇지 않으면 검은 색이 됩니다. 이렇게 하면 백색 잡음이 제거될 수 있습니다. 이 것의 다른 버전은 팽창, 기본적으로 반대를 수행: 주위 슬라이드, 전체 영역이 검은 색이 아닌 경우, 다음 흰색으로 변환 됩니다. 예: 이전 장에서는 침식과 팽창 과정에 대해 설명했습니다. 이 두 가지 외에도 OpenCV에는 더 많은 형태학적 변형이 있습니다. 클래스 Imgproc의 메서드의 morphologyEx()는 지정된 이미지에서 이러한 작업을 수행하는 데 사용됩니다. .

요소: 사용할 커널입니다. 우리는 함수를 사용구조화요소는 우리 자신의 구조를 정의합니다. 이전 자습서에서는 두 가지 기본 형태학 작업을 다루었습니다. 입력 이미지에 구조 화 요소를 적용 하고 출력 이미지를 생성 합니다. 가장 기본적인 형태학적 연산은 두 가지입니다: 침식 및 팽창 기본: [dst = 열기(src, 요소) = 팽창(침식(src, element)]\ [dst = tophat (src, element) = src – open (src, element)] 사용자가 매개 변수를 입력할 수 있도록 03 트랙바 만들기: 다음 쌍은 „열기” 및 „닫기”입니다. 개방의 목표는 말하자면 „거짓 긍정”을 제거하는 것입니다. 때로는 백그라운드에서 „노이즈”의 일부 픽셀을 얻을 수 있습니다. „닫기”의 아이디어는 거짓 부정을 제거하는 것입니다.

기본적으로 이것은 당신이 우리의 모자처럼, 당신의 감지 모양을 가지고 있는 곳이며, 아직 당신은 여전히 개체 내에 몇 가지 검은 픽셀을 가지고있다. 닫으면 이를 지우려고 시도합니다. 마지막 트랙바 „커널 크기”는 사용할 커널의 크기를 반환합니다(morph_size). . 여기에 우리의 경우에 정말 유용 하지 않습니다 두 가지 다른 옵션은 „tophat” 그리고 „blackhat:” 형태 학적 작업의 결과 표시 하는 창을 만듭니다.

Posted in Bez kategorii