一、像素读取
-
读取照片
img = cv2.imread(r'F:\picture\1111.jpg',cv2.IMREAD_UNCHANGED) # 不改变之前样式
-
查看照片格式
print("原图像格式为:",img.shape) # 查看图像格式
-
查看某个像素值
print('原象素值为:',img[100,100]) # 因为是RGB图片,所以有3个通道
二、像素值修改
img[100:150,100:150] = [0,0,0] # 因为有3个通道,所以列表元素有3个
如果只是单纯的修改一个点,在图片上并不容易察觉,所以修改了一个矩形区域的像素值
opencv读取的顺序是BGR,不是传统意义上的RGB
三、效果对比
如图所示,修改后的图像较之前有了很大差距
四、完整代码
#Author:MuMengSunny
#Filename:像素值读取
import cv2
img = cv2.imread(r'F:\picture\1111.jpg',cv2.IMREAD_UNCHANGED) # 不改变之前样式
print("原图像格式为:",img.shape) # 查看图像格式
# 查看图像值
print('原象素值为:',img[100,100])
# 查看原图
cv2.imshow('original',img)
# 修改像素值
img[100:150,100:150] = [0,0,0]
# 查看修改后图像
cv2.imshow('final',img)
cv2.waitKey(0)
# 查看修改后图像
cv2.imshow('final',img)
cv2.waitKey(0)