TaeHyun Lee·2023년 8월 28일
0

OpenCV 공부

목록 보기
2/2

1. OpenCV로 영상 파일 읽기

먼저, OpenCV를 사용하여 이미지 파일을 읽어보겠습니다. 아래는 이미지 파일을 읽고 화면에 표시하는 간단한 Python 코드입니다.

import cv2

# 이미지 파일 읽기
img = cv2.imread('your_image.jpg')

# 이미지 창에 출력
cv2.imshow('Image', img)

# 창 닫기
cv2.waitKey(0)
cv2.destroyAllWindows()

제가 요청하신 내용을 기반으로 OpenCV를 사용하여 영상 파일을 읽는 방법, 웹캠을 소스로 읽는 방법, 영상을 쓰는 방법, 그리고 영상을 흑백으로 변환하여 출력하는 방법에 대한 기술 블로그를 작성해보겠습니다.

2. 웹캠을 소스로 사용하기

이번에는 웹캠을 사용하여 실시간 비디오 스트림을 읽어오는 방법을 살펴보겠습니다. 아래는 웹캠을 활용하는 코드 예제입니다.

import cv2

# 웹캠 열기
cap = cv2.VideoCapture(0)

while True:
    # 프레임 읽기
    ret, frame = cap.read()

    # 웹캠 화면 출력
    cv2.imshow('Webcam', frame)

    # 'q' 키를 누르면 루프 종료
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 웹캠 해제 및 창 닫기
cap.release()
cv2.destroyAllWindows()

이 코드에서는 cv2.VideoCapture() 함수를 사용하여 웹캠을 열고, cap.read()를 통해 프레임을 읽어옵니다. 그리고 웹캠 화면을 실시간으로 출력하며, 'q' 키를 누르면 루프가 종료되고 웹캠이 해제됩니다.

3. 영상 저장하기

영상을 저장하기 위해서는 cv2.VideoWriter를 사용할 수 있습니다. 아래는 영상을 저장하는 코드 예제입니다.

import cv2

# 웹캠 열기
cap = cv2.VideoCapture(0)

# 비디오 저장 설정
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))

while True:
    ret, frame = cap.read()

    # 프레임을 비디오에 저장
    out.write(frame)

    cv2.imshow('Webcam', frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 웹캠 해제 및 비디오 파일 닫기
cap.release()
out.release()
cv2.destroyAllWindows()

이 코드에서는 cv2.VideoWriter()를 사용하여 영상을 저장할 객체를 생성하고, out.write(frame)을 통해 프레임을 비디오에 저장합니다. 'q' 키를 누르면 루프가 종료되고 영상 파일이 닫힙니다.

4. 영상 흑백으로 변환하기

영상을 흑백으로 변환하기 위해서는 각 프레임에 대해 적절한 색상 변환을 수행하면 됩니다. 아래는 영상을 흑백으로 변환하여 출력하는 코드 예제입니다.

import cv2

# 웹캠 열기
cap = cv2.VideoCapture(0)

while True:
    ret, frame = cap.read()

    # 색상 변환 (BGR -> 그레이스케일)
    gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    cv2.imshow('Webcam (Grayscale)', gray_frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

cv2.cvtColor() 함수를 사용하여 BGR 색상 공간에서 그레이스케일 색상 공간으로 변환합니다. 그 결과, 웹캠에서 읽어온 영상이 흑백으로 출력됩니다.

이제 위의 예제 코드를 참고하여 OpenCV를 활용하여 영상 파일을 읽는 법, 웹캠을 사용하는 법, 영상을 저장하는 법, 그리고 영상을 흑백으로 바꾸어 출력하는 법을 알아보았습니다. OpenCV는 더 많은 영상 처리 작업을 수행할 수 있는 다양한 기능을 제공하므로, 필요한 작업에 맞게 활용할 수 있을 것입니다.

profile
서커스형 개발자

0개의 댓글