Computer Vision/opencv(python)
[05] openCV-Python 기초 사용법 1) 영상의 속성과 픽셀 값 참조
jwjwvison
2021. 3. 11. 23:55
- OpenCV는 영상 데이터를 numpy.ndarray로 표현
- OpenCV 영상 데이터 자료형과 NumPy 자료형
- 영상의 속성 참조 예제
import sys
import cv2
img1=cv2.imread('cat.bmp',cv2.IMREAD_GRAYSCALE)
img2=cv2.imread('cat.bmp',cv2.IMREAD_COLOR)
if img1 is None or img2 is None:
print('Image load failed')
sys.exit()
print(type(img1))
print(img1.shape)
print(img2.shape)
print(img1.dtype)
print(img2.dtype)
h,w=img1.shape
print('w x h = {} x {}'.format(w,h))
h,w=img2.shape[:2]
print('w x h = {} x {}'.format(w,h))
if img1.ndim==2:
print('img1 is a grayscale image')
x=20
y=10
p1=img1[y,x] #행-열 순서로 쓰여지기 때문에
p2=img2[y,x]
print(p1,p2) # img1의 [20,10] 위치에 있는 grayscale 값을 출력해줌
# img2의 BRG 값
'''
픽셀값에 대입도 가능하지만 실행속도가 매우 느리다
for y in range(h):
for x in range(w):
img1[y,x]=0
img2[y,x]=(0,255,255)
'''
img1[:,:]=0
img2[:,:]=(0,255,255)
cv2.imshow('img1',img1)
cv2.imshow('img2',img2)
cv2.waitKey()