Open CV 영상 파일 조작
3118 단어 OpenCV 컴퓨터비전OpenCV 컴퓨터비전
Section 1. 영상 파일 불러와서 출력
1. 실습 코드
2. 실습 코드 설명
import cv2 # opencv 패키지 불러오기
img = cv2.imread('cat.bmp') # 폴더 내에 존재하는 cat.bmp 파일을 불러와 img 변수에 저장
if img is None: # imread함수는 파일을 불러오는데 실패했을 경우 None 반환
print('Image load failed!') # 실패했을 경우 실패했다는 문구 출력
sys.exit() # 프로그램 종료
cv2.namedWindow('image') # image를 제목으로 하는 창을 생성
cv2.imshow('image', img) # image 창에 불러온 img 영상 파일 지정
cv2.waitKey() # 사용자의 입력을 기다림 (기다리는 동안 영상 파일 Display)
cv2.destroyAllwindows() # 현재 존재하는 창을 모두 닫음
Section 2. 주요 함수 설명
1. imread() 함수
- filename : 불러올 영상 파일명 (폴더 내에 존재하지 않을 시 절대경로 또는 상대경로명으로 지정
- flags : 영상 파일 불러오기 옵션 플래그
- cv2.IMREAD_COLOR : 컬러 영상으로 불러오기 (Default)
- cv2.IMREAD_GRAYSCALE : 그레이 스케일 영상으로 불러오기
2. imwrite() 함수
- filename : 저장될 파일명 지정
- img : 저장할 영상 데이터 (numpy.ndarray 형식)
- params : 파일 저장 옵션 지정
- [cv2.IMWRITE_JPEG_QUALITY, 90] : JPG 파일 압축률을 90%로 지정 - retval : 성공하면 True, 실패하면 False
3. namedWindow()함수
- winname : 창의 제목
- flags : 창 속성 지정 플래그
- cv2.WINDOW_NORMAL : 영상 크기를 창 크기에 맞게 지정
- cv2.WINDOW_AUTOSIZE : 창 크기를 영상 크기에 맞게 변경 (Default)
4. imshow()함수
- winname : 영상을 출력할 대상 창
- mat : 출력할 영상 데이터
- imshow() 함수가 실행된다고 해서 실제로 화면에 영상 파일이 출력되는 것은 아님
5. waitKey()함수
- delay : 밀리 초 단위 대기 시간, 0 이하이면 무한 대기, Default = 0
- retval : 눌린 키 값 (아스키코드), 키가 눌리지 않으면 -1 반환
- opencv 창이 하나라도 있을 때 동작함
- imshow() 함수 실행 뒤에 waitKey() 함수 실행해야 실제로 영상 파일이 출력
6. destroy()함수
- winname : 닫고자 하는 창 이름
error
1. cat.bmp 영상 파일 불러오기 error
- VScode의 메뉴바 Run 및 Debug 기능은 현재 프로젝트 폴더 기준으로 파일 경로 설정
- VScode의 run in terminal 기능은 vscode 터미널 창 현재 디렉토리 기준으로 파일 경로 설정
img = cv2.imread('cat.bmp') # 절대 및 상대경로 지정하던지 terminal에서 디렉토리로 cd 하던지 해야함
Author And Source
이 문제에 관하여(Open CV 영상 파일 조작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@codren/Open-CV-영상-파일-조작저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)