虞C 发表于 2020-12-1 20:15:02

用python提取图片的灰度值

如何将ABC三张灰度图的像素点的灰度值提取并计算同位置像素点的灰度值的变化情况

prophet-1 发表于 2020-12-1 21:26:58

可以使用openCV来实现。
import cv2

image = cv2.imread('lena.jpg') # 读入图片
image = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY) # RBG改为灰度

suchocolate 发表于 2020-12-1 21:47:19

本帖最后由 suchocolate 于 2020-12-1 22:03 编辑

opencv生成的是numpy,可以直接计算和与差值:import cv2

img1 = cv2.imread('test1.jpg', 0)# 以灰度读取;-1保持原格式;1默认值,以BGR3通道读取。
img2 = cv2.imread('test2.jpg', 0)
img3 = cv2.imread('test3.jpg', 0)

print(type(img1))                     # 查看img对象类型
c2 = img2 - img1                        # 图像差值计算
cv2.imwrite('c2.jpg', c2)            # 保存差值图像
print(c2)                              # 打印结果值,灰度是2纬列表
c3 = img3 + img1                      # 图像和
cv2.imwrite('c3.jpg', c3)            # 保存差值为图像
print(c3)                               # 打印所有像素值
print(c3)                        # 打印第0行第0个像素值
cv2.imshow('c2', c2)                  # 显示c2图像



虞C 发表于 2020-12-14 11:37:19

suchocolate 发表于 2020-12-1 21:47
opencv生成的是numpy,可以直接计算和与差值:

好的,谢谢,我试一试

虞C 发表于 2020-12-14 11:37:56

prophet-1 发表于 2020-12-1 21:26
可以使用openCV来实现。

谢谢,我试一试

虞C 发表于 2020-12-14 20:49:50

suchocolate 发表于 2020-12-1 21:47
opencv生成的是numpy,可以直接计算和与差值:

你好,我想再问一下如果我有很多个图片,是否可以进行迭代呢?

suchocolate 发表于 2020-12-14 21:26:42

虞C 发表于 2020-12-14 20:49
你好,我想再问一下如果我有很多个图片,是否可以进行迭代呢?

可以
页: [1]
查看完整版本: 用python提取图片的灰度值