[파이썬] opencv-python 이미지의 컬러 매핑 및 가장자리 감지

이미지 처리를 위한 OpenCV-Python 라이브러리는 컴퓨터 비전 기술에서 널리 사용되는 도구입니다. 이번 블로그 포스트에서는 OpenCV-Python을 사용하여 이미지의 컬러 매핑과 가장자리 감지를 수행하는 방법을 살펴보겠습니다.

컬러 매핑

컬러 매핑은 이미지에 색상을 적용하여 시각적인 효과를 만드는 기술입니다. OpenCV-Python은 다양한 컬러 매핑 기법을 제공합니다. 예를 들어, 그레이스케일 이미지를 가장자리 감지한 결과를 컬러 매핑하여 표현하거나, 열 지도(heat map) 등을 사용하여 이미지를 시각화할 수 있습니다.

아래의 예제 코드는 OpenCV-Python을 사용하여 이미지에 컬러 매핑을 적용하는 방법을 보여줍니다:

import cv2
import numpy as np

# 이미지 로드
image = cv2.imread('image.jpg')

# 컬러 매핑을 위한 색상 맵 선택
colormap = cv2.COLORMAP_JET

# 컬러 매핑 적용
mapped_image = cv2.applyColorMap(image, colormap)

# 이미지 출력
cv2.imshow('Original', image)
cv2.imshow('Color Mapped', mapped_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

위의 코드에서 cv2.COLOR_JET은 Jet 색상 맵을 사용하여 이미지에 컬러 매핑을 적용하는 예시입니다. 다른 색상 맵을 사용하려면 colormap 변수를 해당하는 값으로 변경하면 됩니다.

가장자리 감지

가장자리 감지는 이미지에서 객체의 윤곽을 식별하는 기술입니다. 이를 통해 이미지에서 중요한 변화와 특징을 추출할 수 있습니다. OpenCV-Python은 여러 가장자리 감지 알고리즘을 제공합니다. 대표적인 예로는 Canny 가장자리 감지, Sobel 연산자, Laplacian 연산자 등이 있습니다.

아래의 예제 코드는 OpenCV-Python을 사용하여 이미지에서 가장자리를 감지하는 방법을 보여줍니다:

import cv2

# 이미지 로드
image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)

# 가장자리 감지를 위한 Canny 알고리즘 적용
edges = cv2.Canny(image, 100, 200)

# 이미지 출력
cv2.imshow('Original', image)
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()

위의 코드에서 cv2.Canny 함수는 Canny 가장자리 감지 알고리즘을 적용하여 이미지의 가장자리를 찾습니다. 알고리즘에 사용되는 두 개의 임계값(Threshold)은 실험적으로 설정해야 합니다. 결과적으로 edges 변수에 가장자리를 포함한 이미지가 저장됩니다.

OpenCV-Python을 사용하면 이미지의 컬러 매핑과 가장자리 감지를 손쉽게 수행할 수 있습니다. 이를 통해 이미지 처리 및 컴퓨터 비전 작업을 보다 쉽고 효과적으로 수행할 수 있습니다.