Programming/OpenCV

3. OpenCV로 이미지 불러오기

오숭이 2021. 12. 26. 01:20
import cv2

img = cv2.imread('cat.bmp', cv2.IMREAD_REDUCED_GRAYSCALE_2) #이미지 읽어 mat 객체로 변환하여 반환한다. 다른 폴더의 파일을 불러올때는 절대 경로 및 상대 경로 지정
if img is None: #이미지 불러오기 실패 시, (값을 비교할 때는 ==를 사용하지만, None은 객체의 id값을 비교한다.)
    print("Image load failed!")
    exit()

print(img) #픽셀에 대한 색상 정보 출력(0~255)
cv2.imshow('image', img)
cv2.waitKey(0) #키 입력까지 대기
cv2.destroyAllWindows() # 열려있는 이미지를 모두 닫아준다.

 

cv2.imread(filename, flags)

 

imread() 함수는 filename 영상 파일을 불러와 Mat 객체로 변환하여 반환한다.

 

imread() 함수의 두 번째 인자 flags는 영상 파일을 불러올 때 사용할 컬러 모드와 영상 크기를 지정하는 플래그로 기본값으로 IMREAD_COLOR가 지정되어 있기 때문에 imread() 함수 호출 시 두 번째 인자를 지정하지 않으면 자동으로 3채널 컬러 영상 형식으로 영상을 불러온다.


행렬의 복사

import cv2
import numpy as np

img1 = cv2.imread('cat.bmp')

img2 = img1[]
img3 = img1.copy()

img1[:,:] = (0,255,255) #yellow

cv2.imshow('img1', img1)
cv2.imshow('img2', img2)
cv2.imshow('img3', img3)
cv2.waitKey()
cv2.destroyAllWindows()

행렬의 복사


부분 행렬 추출

import cv2

img1 = cv2.imread('cat.bmp', cv.IMREAD_GRAYSCALE)

img2 = img1[200:400,200:400]
img3 = img1[200:400,200:400].copy()

img2 += 20 # 값이 255를 넘어버리면 색상 반전 -> 값 - 255

cv2.imshow('img1', img1)
cv2.imshow('img2', img2)
cv2.imshow('img3', img3)
cv2.waitKey()
cv2.destroyAllWindows()

부분 행렬 추출

값이 255을 넘어버리면 색상이 반전되는 것을 확인할 수 있다.

'Programming > OpenCV' 카테고리의 다른 글

함수 정리  (0) 2021.12.26
2. 그레이스케일 영상과 컬러 영상  (0) 2021.12.25
1. 컴퓨터 비전의 시작  (0) 2021.12.25