거의 알고리즘 일기장

1. OpenCV_ 파일의 종류, cv2 _이미지 불러오기 본문

OpenCV

1. OpenCV_ 파일의 종류, cv2 _이미지 불러오기

건우권 2020. 9. 17. 20:00

BMP : 압축하지 않고 저장

JPG : 손실압축 -> 픽셀값이 바뀜 -> 값의 손실로 결과값이 바뀔수 있기 때문에 영상처리에 잘 안씀!!

GIF : 256색상 이하의 영상 저장 -> 영상처리에서 안씀

PNG : BMP, JPG의 중간, 알파값(투명도) 지원


import sys
import cv2

print("hello opencv", cv2.__version__)

#image 읽기cv2.IMREAD_GRAYSCALE, cv2.IMREAD_COLOR, cv2.IMREAD_UNCHANGED
img = cv2.imread('cat.bmp', cv2.IMREAD_UNCHANGED)

#방어코드
if img is None:
    print("Image is failed!")
    #종료
    sys.exit()

#image 저장하기
cv2.imwrite("cat_gray.png", img)

#image라는 창을 띄우겠다 cv2.WINDOW_NORMAL : 창의 크기 변경 가능
#창을 만들지 않고 imshow를 실행해버리면 창의 조절이 불가하다.
cv2.namedWindow("image", cv2.WINDOW_NORMAL)
#image라는 창에 img를 띄우겠다
#0 1 사이의 값이여야함
cv2.imshow("image", img)
#아무키를 누르기 전까지 여기서 대기
#cv2.waitKey()
while True:
    if cv2.waitKey() == ord('q'):
        break
#창을 끄기
cv2.destroyAllWindows()
#특정창을 끄기
#cv2.destroyWindow("image")
#창 크기 변경
#cv2.resizeWindow(winname, width, height) -> cv2.WINDOW_NORMAL 설정 되어있어야함
#창 위치 이동
#cv2.moveWindow(winname, x, y)

import cv2
import sys
import glob

#저 이름을 가지는 것들 다가져오기
img_files = glob.glob(".\\images\\*.jpg")

cv2.namedWindow("image", cv2.WINDOW_NORMAL)
cv2.setWindowProperty("image", cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)

cnt = len(img_files)
idx = 0

while True:
    img = cv2.imread(img_files[idx])

    if img is None:
        print("Image load failed!")
        break

    cv2.imshow("image", img)

    #1초
    if cv2.waitKey(1000) == 27: #ESC
        break

    idx += 1
    if idx >= cnt:
        idx = 0

cv2.destroyAllWindows()
반응형

'OpenCV' 카테고리의 다른 글

5. OpenCv_ 그리기 함수  (0) 2020.09.21
4. OpenCv_ 마스크 연산과 ROI  (0) 2020.09.21
3. OpenCV_ 영상 생성, 복사, 부분 추출  (0) 2020.09.18
2. OpenCV_ 픽셀값 참조  (0) 2020.09.18
Comments