前言
目标
• 获取像素值并修改
• 获取图像的属性(信息)
• 图像的 ROI()
• 图像通道的拆分及合并
• 图像融合
1.获取并修改图像像素
img = cv2.imread('longmao.jpg')
#获取行:100,列:200的B、G、R顺序的像素值,当为灰度图时返回该点灰度值
px = img[100,200]
print(px)
修改像素时,直接赋值即可
px = [255,255,255]
print(px)
2.获取图像形状、像素数、数据类型
img.shape,img.size,img.dtype
3.图像ROI
opencv-python很多操作很像numpy,按照array进行截取就行
img = cv2.imread('longmao.jpg')
new_img = img[100:200,200:300,:]
cv2.imwrite('new_img.jpg',new_img)
cv2.imshow('new',new_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
4.图像的拆分、合并
img = cv2.imread('longmao.jpg')
b = img[:,:,0]
g = img[:,:,1]
r = img[:,:,2]
img_merge = cv2.merge((b,g,r))
cv2.imshow('merged',img_merge)
cv2.waitKey(0)
cv2.destroyAllWindows()
5.图像融合
cv2.addWeighted(img1,weight1,img2,weight2,gamma)
图像尺寸要一致,权重加起来要为1,gamma控制融合后的图像偏移 :dst = α · img1 + β · img2 + γ