cv2.imread读取图片得到的矩阵全为256
时间: 2023-10-08 09:08:32 浏览: 210
使用vc++实现读取256色位图图像
3星 · 编辑精心推荐
这可能是因为您使用的图像是8位灰度图像,即每个像素值的范围在0到255之间。在使用cv2.imread读取图像时,它将像素值转换为numpy数组,其中每个像素值都表示为0到255之间的整数。因此,您得到的矩阵中的所有值都为256,而不是0到255之间的实际像素值。
您可以使用以下代码将图像转换为灰度图像,并将像素值缩放到0到1之间的浮点数范围内:
```
import cv2
# 读取图像
img = cv2.imread('image.png')
# 将图像转换为灰度图像
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 将像素值缩放到0到1之间的浮点数范围内
scaled_img = gray_img / 255.0
```
这将为您提供一个范围为0到1之间的浮点数矩阵,其中每个值表示该像素的相对亮度。
阅读全文