예제: canny 윤곽선 검출 함수
canny 함수를 사용하여 이미지의 윤곽선을 검출합니다. 알고리즘에서 윤곽선의 위치를 매우 정확하게 찾고 잘못된 윤곽선 형태를 최소화합니다.
이 예제를 사용하는 것에 대한 자세한 내용은
이미지 처리 예제 정보를 참조하십시오.
인공 이미지
2. zoom 함수를 사용하여 이미지를 확대하고
WRITEBMP 함수를 사용하여 확대한 이미지를 파일에 기록합니다.
3. canny 함수를 원래 이미지에 적용하고 결과를 파일에 기록합니다.
4. 새 이미지를 삽입하고 확대한 이미지와 비교합니다.
| |
(pattern_zoomed.bmp) | (pattern_canny.bmp) |
5. 위 함수 인수 값을 변경하고 출력 이미지의 윤곽선에 미치는 영향을 확인합니다.
◦ sigma 값이 클수록 거친 윤곽선(가로 방향으로 노이즈 줄무늬가 많은 경우에 적합)이 생성되지만 세부 사항이 손실될 수 있습니다(두 윤곽선이 하나로 결합될 수 있음).
◦ 특정 구배 값 이상의 윤곽선만 유지되므로 하위 분계점 값이 클수록 윤곽선 이미지는 더 선명해집니다.
◦ 상위 분계점 값이 클수록 이력 분계점 지정의 효과가 커집니다.
◦ 연결된 윤곽선에는 high보다 광도가 큰 픽셀이 없으므로 high 값이 크면 객체에 해당하는 윤곽선이 완전히 사라집니다.
자연 이미지
머리 이미지의 경계를 검출합니다.
1. 뇌 이미지를 읽고 canny 함수를 적용합니다.
2. 결과를 파일에 기록합니다.
3. 두 이미지를 삽입하고 비교합니다.
| |
(brain.bmp) | (brain_canny.bmp) |
canny 함수는 머리와 뇌 경계를 비롯한 가장 돌출된 윤곽선을 검출합니다. 함수 인수의 값을 조정하여 세부 수준을 조정할 수 있습니다.
4. 지문 이미지를 읽고 canny 함수를 적용합니다.
5. 결과를 파일에 기록합니다.
6. 두 이미지를 삽입하고 비교합니다.
| |
(fingerp.bmp) | (fingerp_canny.bmp) |
canny 함수는 지문 이미지에서 주요 윤곽선 경계를 검출하여 패턴 인식 시스템의 입력으로 사용할 수 있게 만듭니다.
7. 인물 이미지를 읽고 canny 함수를 적용합니다.
8. 결과를 파일에 기록합니다.
9. 두 이미지를 삽입하고 비교합니다.
| |
(lena.bmp) | (lena_canny.bmp) |