ImportError: DLL load failed while importing cv2: 找不到指定的程序

ImportError: DLL load failed while importing cv2: 找不到指定的程序及Insufficient memoryFailed to allocate 1065911700 bytes in function 'cv::OutOfMemoryError'解决方法

记一次超坑的python升级及安装opencv记录,也希望能够帮助遇到同样问题的人避坑

总结:

原版本:python:3.8.1 32位, opencv:4.4.0(可正常使用但不满足需求)
尝试版本:python:3.9.0 64位, opencv:4.5.1.48及4.4.0(无法解决问题)
最终版本:python:3.8.2 64位,opencv:4.4.0.46(未遇到问题,成功满足需求)

1.升级原因:

原python版本为3.8.1的32位版本,安装了4.4.0的opencv。因为需要使用opencv读取多张10亿像素的tif图,导致超出opencv限制开辟内存大小,提升错误:error: (-4:Insufficient memory) Failed to allocate 1065911700 bytes in function ‘cv::OutOfMemoryError’。网上查找原因得知是32位的限制问题,所有需要升级到64位python版本并重装opencv。

2.升级过程:

直接选择了较新的3.9.0的64位版本python,python正常安装后,在PyCharm里安装opencv,也默认选择了最新的4.5.1.48版本,于是开始出现了如题的报错。后来也尝试像之前的32位版本一样从 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 这个网站去下载4.4.0的离线包,但是还是遇到同样问题,于是开始在网上搜索解决方法并尝试了各种方法,但都以失败告终。
想起了自己原版本可以正常使用于是决定降低python版本,安装了3.8.2的64位版本python,然后直接从PyCharm里面安装opencv,保险起见选择了4.4.0.46版本的opencv,安装完成后未遇到任何问题测试成功,并可以正常读取高分辨率tif图。

3.测试结果:

在这里插入图片描述
可以正常读取较大图片

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值