opencv-사진 띄우기, 비디오 실행

암영·2022년 9월 28일

opencv(raspberry)

목록 보기
1/1
import cv2 as cv

import sys

img = cv.imread(cv.samples.findFile("starry_night.jpg"))//.jpg까지 사진 제목임.

if img is None:

    sys.exit("Could not read the image.")

cv.imshow("Display window", img)

k = cv.waitKey(0)


if k == ord("s"): # ord 함수를 사용하는 이유는 waitKey함수가 키보드로 입력한 "값"을 리턴하기 때문

    cv.imwrite("starry_night.png", img)
  • img = cv.imread(cv.samples.findFile("starry_night.jpg"))//.jpg까지 사진 제목임.

  • import sys
    파이썬 인터프리터가 제공하는 변수나 함수를 제어할 수 있는 방법을 제공함

  • 인터프리터
    프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경

  • imread
    이미지 파일을 읽을 떄 사용하는 함수
    이미지 파일은 Numpy array 형태로 숫자값들이 넘어오고 이 숫자가 해당 위치에서의 색을 의미함.

  • cv.samples.findFile(파일명): 특정파일 path를 찾아가기 위해 사용하는 모듈과 함수

  • sys.exit:sys모듈의 프로그램 종료 함수 exit()함수의 괄호안에는 인자 값이 포함될 수 있음

  • cv.imshow(이미지창 이름, 파일명) : 이미지를 모니터에 보여주기 위한 함수

  • cv.waitKey(키입력 대기 시간)
    함수 매개변수로 넣는 키 입력 대기 시간은 ms 단위이고 0이면 무한 대기
    키보드로 입력한 키 값이 리턴됨

  • cv.imwrite(저장할 파일명, 이미지파일[추가변수..]): 이미지를 파일로 출력함
    cv.imwrite("starry_night.png", img)

import cv2

cap = cv2.VideoCapture(0)

cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1024)

cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 768)

while cap.isOpened():

    success, frame = cap.read()

    cv2.imshow(“Video”,frame)

    if cv2.waitKey(1) & 0xFF == ord(‘q’): //q를 입력하면 while문을 빠져나옴

         break

cap.release() # 오픈한 cap 객체를 캡쳐를 해제(자원 반납)

cv2.destroyAllWindows()# 생성한 모든 윈도우 제거
  • cv2.VideoCapture(0) =첫번째(0)카메라를 VideoCapture타입의 객체로 가져옴 첫 프레임을 읽어 객체 CAP에 저장
    -> 여러 카메라를 설치할 수 있나..?

  • cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1024): 프레임폭

  • cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 768): 프레임 높이

  • cap.isOpened(): cap 객체가 지정한 파일로 정상적으로 초기화 됬는지 확인 하는 코드

  • 연속해서 파일의 프레임을 읽어오기위해 무한루프로 cap.read()호출
    프레임을 잘 읽었다면 success에 True, frame은 프레임 이미지가 됨

while cap.isOpened():

    success, frame = cap.read() 
  • cv2.imshow(“Video”,frame): 프레임 이미지를 화면에 표시
profile
just do! -얼레벌레 굴러가는 공대생

0개의 댓글