[OpenCV] 4. 빈 영상 생성

최재혁·2022년 10월 4일
0

opencv-python

목록 보기
5/10

빈 영상 생성 및 index 접근

빈 영상 생성

numpy 함수 중 zeros를 사용하여 모든 픽셀값이 0인 빈 영상을 생성한다.

np.zeros(shape, dtype) 지정한 shape과 data type에 맞추어 모든 값이 0인 텐서를 생성

shape(height,width,dim) : 그리고자 하는 영상의 모양

color 영상 : (height, width, 3) / B,G,R 3-channel

grayscale 영상 : (height, width) / intensity single-channel

dtype : 저장되는 값의 type, 영상처리를 위해 np.uint8로 지정한다

영상 index 접근

numpy.ndarray 영상의 x,y 픽셀에 접근하기 위해 arr[y, x] 를 통해 접근이 가능하며, 원하는 픽셀값을 넣어줄 수 있다. 또한 인덱스 슬라이싱이 가능하다.

단일 픽셀 접근

# color 3 channel
image[y, x] = [B, G, R] 

# grayscale single channel
image[y, x] = intensity

인덱스 슬라이싱을 통한 픽셀 접근

# color 3-channel
image[y : y+n, x : x+m] = [B, G, R] 

# grayscale single channel
image[y : y+n, x : x+m] = intensity

예제 코드 및 결과

import cv2
import numpy as np  
    
height = 100
width = 150
    
# 빈영상 생성
color = np.zeros((height,width,3),np.uint8)
grayscale = np.zeros((height,width),dtype=np.uint8)
    
# color index 접근
color[60,80] = [0,255,0]
color[0:50,50:100]= [255,0,0]
    
# grayscale index 접근
grayscale[60,80]=255
grayscale[0:50,50:100]=150
    
cv2.imshow("color",color)
cv2.imshow("gray",grayscale)
cv2.waitKey()
cv2.destroyAllWindows()

출력 결과

profile
Autonomous driving vision

0개의 댓글