调用cv2.resize出现module 'cv2' has no attribute 'resize'错误如何解决
问题排查及解决方法
你遇到的AttributeError: module 'cv2' has no attribute 'resize'报错可按以下优先级排查:
- 检查是否安装了错误的
cv2包
不要直接执行pip install cv2,该命令安装的是第三方山寨包,并非官方OpenCV库。首先执行pip uninstall cv2 -y卸载错误包,再安装官方包:pip install opencv-python # 需要额外功能可以安装opencv-contrib-python # pip install opencv-contrib-python - 检查本地是否存在同名文件
如果你当前运行代码的目录下存在命名为cv2.py的脚本文件、或者cv2.pyc的缓存文件,Python导入模块时会优先读取本地文件,而非系统安装的OpenCV库,直接重命名或删除该类文件即可解决。 - 验证运行环境一致性
确认你安装OpenCV的Python虚拟环境,和当前执行代码的虚拟环境为同一个。可以执行以下代码打印cv2模块的安装路径确认:
如果输出路径不属于你正在使用的虚拟环境目录,切换到对应环境重装OpenCV即可。import cv2 print(cv2.__file__) - (可选)图像类型适配
你当前使用的imageio返回的imageio.core.util.Array类型本身是numpy数组的子类,正常不会引发模块属性报错,如果上述问题都排查完毕可以加一行转换代码再调用resize:import numpy as np img = np.array(img) img = cv2.resize(img, dsize=(299, 299), interpolation=cv2.INTER_LINEAR)
内容的提问来源于stack exchange,提问作者hanugm
相关产品推荐
相关产品推荐

