OpenCV를 활용한 고급 이미지 처리 기법
이번 수업에서는 OpenCV를 활용한 엣지(가장자리) 검출, 블러링, 객체 탐지 등의 고급 이미지 처리 기법을 다루겠습니다.
1. 엣지(Edge) 검출 - Canny Edge Detection
엣지 검출(Edge Detection)은 이미지에서 경계를 감지하는 기법입니다.
Canny Edge Detection은 가장 널리 사용되는 경계선 검출 알고리즘입니다.
Canny 엣지 검출 예시
import cv2
# 이미지 불러오기
image = cv2.imread("sample.jpg", cv2.IMREAD_GRAYSCALE)
# Canny 엣지 검출 적용
edges = cv2.Canny(image, 100, 200)
cv2.imshow("Canny Edges", edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
2. 블러(Blur) 및 노이즈 제거
이미지에서 노이즈를 줄이거나 부드럽게(Blur) 처리할 때는 GaussianBlur()
를 사용할 수 있습니다.
가우시안 블러 적용 예시
blurred = cv2.GaussianBlur(image, (5, 5), 0)
cv2.imshow("Blurred Image", blurred)
cv2.waitKey(0)
cv2.destroyAllWindows()
여기서 (5, 5)
는 커널 크기(kernel size)로, 값이 클수록 블러 효과가 강해집니다.