영상 속성 및 픽셀 값 참조

매일 공부(ML)·2021년 11월 1일
0

OPEN CV

목록 보기
1/45

영상의 속성과 픽셀 값 참조

  1. Opencv는 영상 데이터를 numpy.ndarrary로 표현
import cv2

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

*numpy.ndarray

  • ndim: 차원 수. len(img.shape)
  • shape: 각 차원의 크기(h,w) 또는 (h,w,3)
  • size: 전체 원소 개수
  • dtype: 원소의 데이터 타입. 영상 데이터는 unit8
  1. OpenCV영상 데이터 자료형과 Numpy자료형

  • 그레이스케일 영상: cv2.CV_8UC1-> numpy.uint8, shape=(h,w)
  • 컬러 영상: cv2.CV_8UC3-> numpy.uint8, shape=(h,w,3)
  1. 영상의 속성 참조 예제
img1 = cv2.imread('cat.bmp', cv2.IMREAD_GRAYSCALE)
img2 = cv2.imread('cat.bmp', cv2.IMREAD_COLOR)

print('type(img1):', type(img1)) # type(img1): <class 'numpy.ndarray'>
print('img1.shape:', img1.shape) # img1.shape: (480, 640)
print('img2.shape:', img2.shape) # img2.shape: (480, 640, 3)
print('img2.dtype:', img2.dtype) # img2.dtype: uint8

h, w = img2.shape[:2] # h: 480, w: 640
print('img2 size: {} x {}'.format(w, h))

if len(img1.shape) == 2:
	print('img1 is a grayscale image')
elif len(img1.shape) == 3:
	print('img1 is a truecolor image')
  1. 영상의 픽셀 값 참조
img1 = cv2.imread('cat.bmp', cv2.IMREAD_GRAYSCALE)
img2 = cv2.imread('cat.bmp', cv2.IMREAD_COLOR)

for y in range(h):
	for x in range(w):
		img1[y, x] = 255
		img2[y, x] = [0, 0, 255]
# img1[:,:] = 255
# img2[:,:] = (0, 0, 255)
profile
성장을 도울 아카이빙 블로그

0개의 댓글