본문 바로가기
■ 칼퇴를 위한 파이썬 : 사례

파이썬으로 이미지 처리하기: OpenCV 사용법

by 포탈메이커 2023. 7. 13.

파이썬으로 이미지 처리하기: OpenCV 사용법

이미지 처리는 컴퓨터 비전 분야에서 중요한 역할을 하는 기술이다. 파이썬은 주요 이미지 처리 라이브러리 중 하나인 OpenCV를 통해 다양한 이미지 처리 작업을 수행할 수 있다. 이번 포스팅에서는 OpenCV를 사용하여 이미지를 처리하는 기본적인 사용법을 알아보겠다.

OpenCV 설치

먼저, OpenCV를 설치해야 한다. 파이썬의 패키지 관리자인 pip를 사용하여 간편하게 설치할 수 있다. 아래의 명령어를 터미널에 입력하여 OpenCV를 설치하자.

pip install opencv-python

이미지 불러오기

OpenCV를 사용하여 이미지를 불러오려면 cv2.imread() 함수를 사용한다. 이 함수는 이미지 파일의 경로를 인자로 받고, 해당 이미지를 NumPy 배열로 반환한다. 아래의 코드는 "image.jpg"라는 이미지 파일을 불러와서 배열로 저장하는 예시이다.

```python import cv2

이미지 파일을 불러와서 배열로 저장

image = cv2.imread("image.jpg") ```

이미지 보기

불러온 이미지를 화면에 보여주려면 cv2.imshow() 함수를 사용한다. 이 함수는 창 제목과 이미지 데이터를 인자로 받아서 이미지를 보여준다. 아래의 코드는 불러온 이미지를 "My Image"라는 창에 보여주는 예시이다.

```python import cv2

이미지 파일을 불러와서 배열로 저장

image = cv2.imread("image.jpg")

이미지를 보여주는 창 생성 및 이미지 표시

cv2.imshow("My Image", image)

키보드 입력 대기

cv2.waitKey(0)

창 닫기

cv2.destroyAllWindows() ```

이미지 저장하기

OpenCV로 처리한 이미지를 파일로 저장하려면 cv2.imwrite() 함수를 사용한다. 이 함수는 파일 경로와 이미지 데이터를 인자로 받아서 이미지를 저장한다. 아래의 코드는 OpenCV로 처리한 이미지를 "output.png"라는 파일로 저장하는 예시이다.

```python import cv2

이미지 파일을 불러와서 배열로 저장

image = cv2.imread("image.jpg")

이미지 처리 작업 수행

이미지를 파일로 저장

cv2.imwrite("output.png", image) ```

이미지 크기 변경하기

cv2.resize() 함수를 사용하여 이미지의 크기를 변경할 수 있다. 이 함수는 이미지 데이터와 변경할 크기를 인자로 받아서 크기를 변경한 이미지를 반환한다. 아래의 코드는 이미지의 가로 크기를 500으로 변경하는 예시이다.

```python import cv2

이미지 파일을 불러와서 배열로 저장

image = cv2.imread("image.jpg")

이미지의 크기를 변경

resized_image = cv2.resize(image, (500, image.shape[0]))

변경된 이미지를 보여줌

cv2.imshow("Resized Image", resized_image) cv2.waitKey(0) cv2.destroyAllWindows() ```

이미지 필터링

이미지에 다양한 필터를 적용하여 이미지를 보강하거나 개선할 수 있다. OpenCV에서는 다양한 필터 함수를 제공한다. 아래의 코드는 이미지에 그레이스케일 필터를 적용하는 예시이다.

```python import cv2

이미지 파일을 불러와서 배열로 저장

image = cv2.imread("image.jpg")

이미지를 그레이스케일로 변환

grayimage = cv2.cvtColor(image, cv2.COLORBGR2GRAY)

변환된 이미지를 보여줌

cv2.imshow("Gray Image", gray_image) cv2.waitKey(0) cv2.destroyAllWindows() ```

이 외에도 OpenCV는 히스토그램 평활화, 가우시안 블러, 샤프닝 등 다양한 이미지 필터링 기능을 제공한다.

결론

이상으로 OpenCV를 사용하여 파이썬으로 이미지 처리하는 기본적인 사용법에 대해 알아보았다. OpenCV는 다양한 이미지 처리 작업에 유용한 함수를 제공하기 때문에, 이미지 처리에 관심이 있는 개발자라면 꼭 알아두어야 하는 라이브러리이다. 파이썬을 활용한 이미지 처리에 대해 더 알고 싶다면 OpenCV 공식 문서를 참고해보는 것을 추천한다. Happy coding!