img = cv2.imread('messi5.jpg')
print(img.shape)
print(img.size)
print(img.dtype)
读取图片 messi5.jpg 梅西相比大家都认识估计 opencv 团队也是梅西的粉丝。然后通过输出查看图片数据的信息,为 342 x 548 矩阵每一个元素是一个 3 维数组。
(342, 548, 3)
562248
uint8
通过 cv.split 方法可以将图片分离出 b g r 三个通道,使用 cv2.merge 将通道进行合并。
b,g,r = cv2.split(img)
img = cv2.merge((b,g,r))
img = cv2.imread('messi5.jpg')
print(img.shape)
print(img.size)
print(img.dtype)
b,g,r = cv2.split(img)
img = cv2.merge((b,g,r))
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
ROI
既然我们读取到图片数据就可以将图像一部分像素读取出到一个对象。
ball = img[280:340,330:390]
img[273:333,100:160] = ball
我们通过测量将球周围像素提取出然后,然后通过merge 将提取球像素和原图进行合并得到下图中的效果。
图img = cv2.imread('messi5.jpg')
img2 = cv2.imread('opencv-logo.png')
dst = cv2.add(img, img2);
调整大小
我们需要通过 cv2.resize 调整图片大小,然后通过调用 addWeight 方法为两张大小一致图片进行合并,表示图片合并后所占比例。
img = cv2.resize(img,(512,512))
img2 = cv2.resize(img2,(512,512))
图
dst = cv2.addWeighted(img, .9,img2, .1, 0);
图
网友评论