본문 바로가기
OpenCV

OpenCV 이미지(영상)의 생성, 복사, 부분 영상 추출

by Kwonys 2024. 3. 15.
728x90
반응형
import numpy as np
import cv2
import os
os.chdir('C:\coding\OpenCV\ch02') # can't open/read file: check file path/integrity 오류 해결을 위해 경로 설정


# 새 이미지(영상) 생성하기
img1 = np.empty((240, 320), dtype=np.uint8)       # grayscale image
img2 = np.zeros((240, 320, 3), dtype=np.uint8)    # color image
img3 = np.ones((240, 320), dtype=np.uint8) * 255  # white  * 연산을 통해 흰색 생성
img4 = np.full((240, 320, 3), (0, 255, 255), dtype=np.uint8)  # yellow

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

# 이미지(영상) 복사
img1 = cv2.imread('HappyFish.jpg')

img2 = img1         # img1[:,:] = (0,255,255)로 변경한다면 img2도 함께 변경됨
img3 = img1.copy()  # .copy()를 통해 함께 변경 되는 것을 막을 수 있음

#img1.fill(255)

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

# 부분 이미지(영상) 추출
img1 = cv2.imread('HappyFish.jpg')

img2 = img1[40:120, 30:150]  # numpy.ndarray의 슬라이싱
img3 = img1[40:120, 30:150].copy()

img2.fill(0)

cv2.imshow('img1', img1)
cv2.imshow('img2', img2)
cv2.imshow('img3', img3)
cv2.waitKey()
cv2.destroyAllWindows()
728x90
반응형