import cv2 as cv
img = cv.imread('1.png',1)
基本操作
访问和修改像素值
#通过行、列坐标访问。
pixel = img[100,100]
print(pixel)
#仅访问某一通道的像素
pixel_blue = img[100,100,0]
print(pixel_blue)
注:修改值的方式也是如此。
访问图像属性
print(img.shape) #行、列、通道数
print(img.dtype) #像素总数
print(img.dtype) #返回图像数据类型
切片
img_slice = img[100:200,100:200]
拆分和合并图像通道
法一:
b,g,r = cv.split(img)
img = cv.merge((b,g,r))
法二:
b = img[:,:,0]
将所有红色像素设置为0
img[:,:,2] = 0
图像上的算数运算
图像加法
img_1 = cv.imread('2.png',1)
res = img + img_1
注:img_1与img同类型或者只是一个标量
图像融合
与图像加法类似,但对图像赋予了不同的权重,具有融合或透明的感觉。
import cv2 as cv
img_1 = cv.imread('1.png',1)
img_2 = cv.imread('2.png',1)
res = img_1 + img_2
cv.imshow('image_1',res)
cv.waitKey(0)
cv.destroyAllWindows()
dst = cv.addWeighted(img_1,0.7,img_2,0.3,0)
cv.imshow('image_2',res)
cv.waitKey(0)
cv.destroyAllWindows()
img_1:
img_2:
res:
dst: