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()