[openCV] CH1. 이미지, 비디오, 웹캠 읽어들이기와 기본 함수들

김우경·2021년 1월 15일
0

openCV

목록 보기
2/5

Murtaza's Workshop님 강의를 보고 공부한 내용입니다.

이렇게 resources 디렉토리를 만들고, 디렉토리 안에 읽을 이미지와 비디오를 넣어줍니다.

이미지 읽어들이기

openCV의 imread()함수를 이용해서 이미지를 읽어들입니다.
waitKey()는 키 입력 대기 시간으로, 파라메터로 넣은 시간(ms)단위 만큼 기다리는 함수입니다. 0은 무한대기!

import cv2

img = cv2.imread("resources/chiiro.jpg")
cv2.imshow("output_img", img)
cv2.waitKey(0) #0: infinite, 1: 1ms

비디오 읽어들이기

비디오는 이미지의 연속이므로 무한루프를 이용해서 비디오를 프레임별로 캡쳐하고 이를 보여줍니다!

import cv2

cap = cv2.VideoCapture("resources/chiiro_video.MP4")

while True:
    #성공적으로 읽어들였는지의 flag, 캡쳐한 이미지
    success, img = cap.read()
    cv2.imshow("Video", img)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

웹캠 읽어들이기

웹캠을 읽어들이는 방법도 비디오와 같이 간단합니다.

import cv2

cap = cv2.VideoCapture(0) #0: default webcam
cap.set(3, 640) #width
cap.set(4, 480) #height
cap.set(10, 100)

while True:
    success, img = cap.read()
    cv2.imshow("Video", img)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

Basic Functions

imread("src path", option)

  • Options
    여러 옵션이 있는데, 그중에서도 자주 사용하는 옵션은 이미지를 흑백으로 불러오는 COLOR_BGR2GRAY입니다. COLOR_BGR2GRAY말고도 HSV로 불러오기 등 여러 옵션이 있음
    - COLOR_BGR2GRAY : 이미지 흑백으로 불러오기
import cv2

img = cv2.imread("resources/chiiro.jpg")

imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("Gray Image", imgGray)
cv2.waitKey(0)


흑백이 되어버린 얼짱고양이 ,,

import cv2
import numpy as np

img = cv2.imread("resources/chiiro.jpg")
kernel = np.ones((5,5), np.uint8)

imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
imgBlur = cv2.GaussianBlur(imgGray, (7,7), 0)
imgCanny = cv2.Canny(img, 150, 200)
imgDialation = cv2.dilate(imgCanny, kernel, iterations=1) #increasing thickness
imgEroded = cv2.erode(imgDialation, kernel, iterations=1)

cv2.imshow("Gray Image", imgGray)
cv2.imshow("Blur Image", imgBlur)
cv2.imshow("Canny Image", imgCanny)
cv2.imshow("Dialation Image", imgDialation)
cv2.imshow("Eroded Image", imgEroded)
cv2.waitKey(0)
profile
Hongik CE

0개의 댓글