Computer Vision/opencv(python)

[06] 2) 영상의 생성, 복사, 부분 영상 추출

jwjwvison 2021. 3. 12. 23:36
  • 지정한 크기로 새 영상 생성하기
numpy.empty (shape , dtype= float , ......) --> arr
numpy.zeros (shape , dtype= float , ......) --> arr
numpy.ones (shape , dtype= None , ......) --> arr
numpy.full (shape , fill_value , dtype= None , ......) --> arr
  • shape: 각 차원의 크기, (h,w)또는 (h,w,3)
  • dtype: 원소의 데이터 타입, 일반적인 영상이면 numpy.unit8지정
  • arr: 생성된 영상(numpy.ndarray)
  • 참고사항

 

  • 영상의 생성 예제코드
import numpy as np
import cv2

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                           #참조
img3=img1.copy()                    #복사 (메모리 새롭게 할당)

 

img1=cv2.imread('HappyFish.jpg')
img2=img1                           #참조
img3=img1.copy()                    #복사 (메모리 새롭게 할당)

img1.fill(255)

 

  • 부분 영상 추출
img1=cv2.imread('HappyFish.jpg)

img2=img1[40:120,30:150]
img3=img1[40:120:,30:150].copy()

img2.fill(0)