728x90
이미지의 속성
다음은 이미지 객체에 대한 속성입니다.
import cv2
color_img = cv2.imread('banana.jpg', cv2.IMREAD_COLOR)
gray_img = cv2.imread('banana.jpg', cv2.IMREAD_GRAYSCALE)
print('color_img type:', type(color_img))
print('gray_img type:', type(color_img))
print('color_img dtype:', color_img.dtype)
print('gray_img dtype:', gray_img.dtype)
print('color_img ndim:', color_img.ndim)
print('gray_img ndim:', color_img.ndim)
print('color_img shape:', color_img.shape)
print('gray_img shape:', gray_img.shape)
print('color_img size:', color_img.size)
print('gray_img size:', gray_img.size)
더보기
color_img type: <class 'numpy.ndarray'>
gray_img type: <class 'numpy.ndarray'>
color_img dtype: uint8
gray_img dtype: uint8
color_img ndim: 3
gray_img ndim: 3
color_img shape: (168, 300, 3)
gray_img shape: (168, 300)
color_img size: 151200
gray_img size: 50400
속성 | 값 | 설명 |
type | numpy.ndarray | 객체 타입 |
dtype | uint8 | 원소의 데이터 타입 |
shape | (168, 300, 3) | color_img (h, w, 3) |
(168, 300) | gray_img (h, w) | |
size | 151200 | color_img 전체 픽셀 개수 |
50400 | gray_img 전체 픽셀 개수 |
이미지 식별하기
다음 예제는 shape 를 이용하여 color, gray 이미지를 식별합니다.
color image shape size : 3
grayscale image shape size : 2
import cv2
img1 = cv2.imread('banana.jpg', cv2.IMREAD_COLOR)
img2 = cv2.imread('banana.jpg', cv2.IMREAD_GRAYSCALE)
print('img1 shape:', img1.shape)
print('img2 shape:', img2.shape)
if len(img1.shape) == 3:
print('img1 is color')
elif len(img2.shape) == 2:
print('img1 is gray')
if len(img2.shape) == 3:
print('img2 is color')
elif len(img2.shape) == 2:
print('img2 is gray')
더보기
img1 shape: (168, 300, 3)
img2 shape: (168, 300)
img1 is color
img2 is gray
픽셀값 변경하기
이미지 객체에 접근은 [height-index, width-index] 로 합니다.
import cv2
img1 = cv2.imread('banana.jpg', cv2.IMREAD_COLOR)
img2 = cv2.imread('banana.jpg', cv2.IMREAD_GRAYSCALE)
x = 33
y = 33
print(img1[y,x])
print(img2[y,x])
img1[y,x] = (255,0,0)
img2[y,x] = 0
cv2.imshow('img1', img1)
cv2.imshow('img2', img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
전체 좌표 [:,:]
import cv2
img1 = cv2.imread('banana.jpg', cv2.IMREAD_COLOR)
img2 = cv2.imread('banana.jpg', cv2.IMREAD_GRAYSCALE)
img1[:,:] = (255,0,0)
img2[:,:] = 0
cv2.imshow('img1', img1)
cv2.imshow('img2', img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
'OpenCV' 카테고리의 다른 글
파이썬 OpenCV 이미지 밝기 조절 : add, sub (0) | 2020.07.14 |
---|---|
파이썬 OpenCV 도형 그리기 : line, rectangle, circle, polilines (0) | 2020.07.13 |
파이썬 OpenCV 이미지 생성/복사하기 (0) | 2020.07.13 |
파이썬 OpenCV 이미지 읽기 -1 : imread() 속성, 흑백으로 읽기 (0) | 2020.07.08 |
파이썬 OpenCV 시작하기 : 설치 (0) | 2020.07.08 |