python的opencv库,读取图片,返回是None。既非中文路径文件,也非无效图片。
用PIL.Image读取的话,就是正常的,转成np数组,可以正常查看图片大小。同时也发现是单通道。。
但是别人在mac上查看,却看到是4通道的。。
很迷糊,求指点。我这里也上传这张图片给各位验证
望采纳
如果你使用 PIL.Image 库的 Image.open() 函数可以正常读取图片,那么可能是 OpenCV 库对图片的格式或者图片的某些属性不支持导致的。
你可以尝试使用 OpenCV 库的 imdecode() 函数读取图片,代码如下:
import numpy as np
import cv2
# 读取图片文件
with open('image.jpg', 'rb') as f:
image_data = f.read()
# 使用 imdecode() 函数解码图片数据
image = cv2.imdecode(np.frombuffer(image_data, np.uint8), -1)
# 检查读取的图片数据
print(image.shape)
上面的代码中,imdecode() 函数的第二个参数 -1 表示保留图片的所有通道。如果你只想保留单通道,可以将参数改为 0,例如 cv2.imdecode(np.frombuffer(image_data, np.uint8), 0)。