python的opencv库,读取图片,返回是None。既非中文路径文件,也非无效图片。
用PIL.Image读取的话,就是正常的,转成np数组,可以正常查看图片大小。同时也发现是单通道。。
但是别人在mac上查看,却看到是4通道的。。
很迷糊,求指点。我这里也上传这张图片给各位验证

cv2读取图片返回为None,非中文路径问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- ShowMeAI 2022-12-19 17:23关注
望采纳
如果你使用 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)。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报