OpenCV

OpenCV 개발환경 윈도우 버전

개요

  • Windows에서 Opencv 개발환경을 구축한다.
  • 아나콘다를 설치하지 않고 구축한다.

사전 준비

  • 파이썬 설치는 이미 진행된 것으로 가정한다.
  • 또한 가상환경을 이미 설치한 것으로 가정한다.

주요 설치 명령어

  • opencv-pythonOpenCV의 메인 모듈을 포함하고, opencv-contrib-python은 메인 모듈과 Extras 모듈을 포함한다.
    • 설치 시, NumPy는 자동으로 설치 된다.
  • matplotlib 라이브러리는 파이썬 기본 시각화 라이브러리이다.
  • pafy 라이브러리는 Youtube의 메타 데이터를 수집/검색하거나 다운로드 할 수 있도록 도와줌
  • youtube_dl 라이브러리는 터미널에서 사용 가능한 라이브러리이다.
  • pygame은 파이썬에서 제공하는 게임 라이브러리이다.
pip install opencv-contrib-python
pip install matplotlib
pip install pafy youtube_dl pygame
  • 그런데, python 3.11.* 버전에서는 pygame이 설치가 안될 수 있다. 이럴 경우 downgrade를 통해 설치를 진행한다.
pip install pygame --pre

테스트

  • 먼저 opencv 라이브러리가 잘 작동하는지 테스트 한다.

이미지 출력

  • 먼저 opencv 라이브러리를 활용하여 아래 코드를 실행한다.
import cv2
imgFile = 'RGB_paint.png'
img = cv2.imread(imgFile)

cv2.imshow('image', img)
cv2.waitKey()
cv2.destroyAllWindows()

Untitled

[Python] 이미지 데이터 입출력

1줄 요약

  • OpenCV를 활용한 다양한 이미지 입출력에 대해 배우도록 한다.

Reading/Writing an image file

  • 이미지 관련 I/O
  • BMP, PNG, JPEG, and TIFF also supported.
import numpy as np
img = np.zeros((3, 3), dtype=np.uint8)
img
array([[0, 0, 0],
       [0, 0, 0],
       [0, 0, 0]], dtype=uint8)
  • 각 픽셀은 8비트 int로 구성되어 있음.
  • 각 픽셀의 범위는 0-255, 0은 검은색, 255는 흰색을 의미함.
import cv2 
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
img
array([[[0, 0, 0],
        [0, 0, 0],
        [0, 0, 0]],

       [[0, 0, 0],
        [0, 0, 0],
        [0, 0, 0]],

       [[0, 0, 0],
        [0, 0, 0],
        [0, 0, 0]]], dtype=uint8)
  • 3차원 배열을 의미. 각 채널은 Blue, Green, Red를 의미한다.

image Load

  • Convert PNG into JPEG
  • 사용할 이미지는 아래와 같다.