파이썬(Python)/opencv

[Python]OpenCV 컴퓨터 카메라로 화면 캡쳐해서 저장하기(Camera capture, save)

끄적끄적아무거나 2022. 2. 15. 22:03
반응형

 

목차

     

     

     

     

    파이썬 OpenCV 기본 함수 설명

     

    노트북 카메라 동작과 카메라 화면 캡쳐 후 이미지 파일로 저장하는 예제에 필요한 함수들에 설명하겠습니다.

     

    cap = cv.VideoCapture(0)

    VideoCapture 클래스에 0을 입력해서 현재 컴퓨터에 연결된 메인 카메라를 불러서 Return 해 줍니다. Cap은 return이 들어가는 객체명으로 원하는 이름을 사용할 수 있습니다.

     

    ret, img = cap.read()

    비디오 카메라 객체로 연결된 cap에서 이미지를 읽어서 이미지는 img에 넣고 이미지 읽는 성공 여부(True/False)는 ret에 넣어 줍니다.

     

     

    cv.imshow('PC_camera', img)

    img 객체를 PC_camera 라는 윈도우 창에 띄웁니다. 

     

     

    cv.waitKey(1) == ord('c')

    키보드 입력을 1초간 기다리고 값이 "c"인지 확인 합니다.

     

     

    cap.release()
    cv.destroyAllWindows()

    객체 할당에 사용된 메모리를 풀어주고 윈도우를 종료 합니다. 

     

     

     

     

    파이썬 OpenCV를 사용해서 카메라 켜고 이미지 파일 캡쳐해서 저장하기 예제

     

    예제 코드>>

    import cv2 as cv
    
    cap = cv.VideoCapture(0)
    if not cap.isOpened():
        print("camera open failed")
        exit()
    while True:
        ret, img = cap.read()
        if not ret:
            print("Can't read camera")
            break
    
        cv.imshow('PC_camera', img)
        if cv.waitKey(1) == ord('c'):
            img_captured = cv.imwrite('img_captured.png', img)
        if cv.waitKey(1) == ord('q'):
            break
    
    cap.release()
    cv.destroyAllWindows()

    4번 라인: 카메라가 열려있지 않으면 프로그램을 종료 합니다.

    7~17번 라인: 카메라에 이미지를 불러서 imshow로 출력하는 동작을 키보드 q값이 들어올때까지 반복 합니다.

     

     

    결과>>

    아래는 c로 캡쳐한 화면 입니다. 저장된 이미지 파일은 코드와 동일 폴더에 만들어 졌습니다.

     

    반응형