본문 바로가기

언어

[Python] OpenCV 모듈 활용 - 1

이번 포스팅글은 opencv 모듈을 이용한 웹캠 개발 및 위협요소 분석을 위한 테스트를 진행할 것이다.

 

# OpenCV란

OpenCV는 실시간 컴퓨터 비젼을 처리하는 목적으로 만들어진 라이브러리이다.

 

# 환경

- 언어 : python 3.9.0

- 모듈 : opencv

 

# OpenCV 테스트

 

OpenCV 설치

Microsoft Windows [Version 10.0.19042.985]
(c) Microsoft Corporation. All rights reserved.

C:\Users\Hans>pip install opencv-python
Collecting opencv-python
  Downloading opencv_python-4.5.2.54-cp39-cp39-win_amd64.whl (34.7 MB)
     |████████████████████████████████| 34.7 MB 6.4 MB/s
Requirement already satisfied: numpy>=1.19.3 in c:\python39\lib\site-packages (from opencv-python) (1.19.5)
Installing collected packages: opencv-python
Successfully installed opencv-python-4.5.2.54
WARNING: You are using pip version 21.1.1; however, version 21.1.2 is available.
You should consider upgrading via the 'c:\python39\python.exe -m pip install --upgrade pip' command.

 

영상처리 예제

import cv2

# 0: default camera
cap = cv2.VideoCapture(0)
 
while cap.isOpened():
    # 카메라 프레임 읽기
    success, frame = cap.read()
    if success:
        # 프레임 출력
        cv2.imshow('Camera Window', frame)
 
        # ESC를 누르면 종료
        key = cv2.waitKey(1) & 0xFF
        if (key == 27): 
            break
 
cap.release()
cv2.destroyAllWindows()

 

예제 실행결과

 

영상 출력 및 저장 예제

import cv2
 
cap = cv2.VideoCapture(0); 
 
#화면 크기 값 출력
width = cap.get(cv2.CAP_PROP_FRAME_WIDTH)
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT)
print("size: {0} x {1}".format(width, height))
 
# 영상 저장을 위한 VideoWriter 인스턴스 생성
fourcc = cv2.VideoWriter_fourcc(*'XVID')
writer = cv2.VideoWriter('test.avi', fourcc, 24, (int(width), int(height)))
 
while cap.isOpened():
    success, frame = cap.read()
    if success:
        writer.write(frame)  # 프레임 저장
        cv2.imshow('Video Window', frame)
 
        # ESC 종료
        if cv2.waitKey(1) & 0xFF == 27: 
            break
    else:
        break
 
cap.release()
writer.release()  # 저장 종료
cv2.destroyAllWindows()

 

'언어' 카테고리의 다른 글

GraphQL 개념이해  (0) 2022.01.10
[Python] OpenCV 모듈 활용 - 2  (0) 2021.06.09
[Python] 큐싱(Qshing)이란?  (0) 2021.06.08