예제: 컨볼루션 윤곽선 검출 함수
freichen, sobel, prewitt 및
roberts 함수를 사용하여 이미지 행렬에 대해 다양한 커널을 차례로 컨볼루션하여 이미지의 윤곽선을 검출합니다. 윤곽선 검출은 경계의 영향을 받는 특정 유형의 피쳐에 대한 이미지 가독성을 개선하기 위해 사용합니다.
이 예제를 사용하는 것에 대한 자세한 내용은
이미지 처리 예제 정보를 참조하십시오.
freichen
이 함수는 다음 두 커널을 사용하여 이미지 행렬을 컨볼루션(회전)합니다.
1. 이미지를 읽습니다.
2. freichen 함수를 이미지에 적용합니다.
3. 두 이미지를 비교합니다.
(brain.bmp) | (brain_fre.bmp) |
freichen 윤곽선 검출 함수는 그림의 다양한 윤곽선을 정의하는 여러 광도 레벨이 있는 이미지에 유용합니다. 이러한 커널은 픽셀의 밝기와 독립된 상대적인 픽셀 값에 뛰어난 민감도를 보입니다.
sobel
이 함수는 다음 두 커널을 사용하여 이미지 행렬을 컨볼루션(회전)합니다.
sobel 함수를 입력 이미지에 적용합니다.
(brain_sob.bmp)
sobel 커널은 균일한 윤곽선 검출을 제공하지만 대각선 방향의 픽셀보다 직교하는 픽셀에 더 많은 가중치를 지정합니다.
prewitt
이 함수는 다음 두 커널을 사용하여 이미지 행렬을 컨볼루션(회전)합니다.
prewitt 함수를 입력 이미지에 적용합니다.
(brain_pre.bmp)
prewitt 커널에서는 직교하는 픽셀과 대각선 방향 픽셀의 차이를 동등하게 처리합니다.
roberts
이 함수는 다음 두 커널을 사용하여 이미지 행렬을 컨볼루션(회전)합니다.
roberts 함수를 입력 이미지에 적용합니다.
(brain_rob.bmp)
roberts 커널에서는 대각선 방향 픽셀 차이만 고려하므로 코너가 보다 선명하게 강조되지만 가로나 세로 방향의 작은 피쳐가 합쳐져 흐려질 수 있습니다.