本文主要解决如下问题:
- Opencv Error Insufficient memory错误解决方案
- x86架构切换到x64的方法
由于本人比较懒,恰好又都是同一天遇到的问题,所以就在一篇文章里面说了,不要学我哈,好了,言归正传
最近在做一个识别CAD图纸并且画出的项目时,出现内存不足问题,即Opencv Error:Insufficient memory.in cv::out of memory error,导致系统崩溃。
![[win32切换x64] Opencv Error Insufficient memory -- 解决措施_解决方案](https://file.cfanz.cn/uploads/png/2023/12/22/8/d4SVJ23P34.png)
在网上查了一下,错误的原因可能是VS2012项目的x86架构下的内存太小,无法加载更多数据。当然,也可能是出现内存泄漏导致内存一直飙升,以及栈溢出等等都可能导致该类错误的出现,对待该类问题需要具体情况具体分析。我的解决办法就是将项目切换到x64架构上.这里说一下切换的步骤以及会出现的问题:
- 修改系统环境变量
- 这里我把x86架构以及x64架构的路径都加上了:
%SystemRoot%\system32;
%SystemRoot%;%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0;
C:\Windows\SysWOW64;%OPENCV%、 - 切换x64架构
. - 如果没有x64选项,则:
(1)选择其下面的配置管理器, - (2)在配置管理窗口,点击箭头所指的“新建”,弹出新建窗口
- (3)在“新建解决方案平台”窗口,选择“x64”,然后点击“确定”
- 在项目——属性中更改VC++目录中的库目录,将原来的x86架构下的库目录改为x64架构下的库目录。
- 在同属性页下将链接器——高级——目标计算机更改为:MachineX64 (/MACHINE:X64)
![在这里插入图片描述 [win32切换x64] Opencv Error Insufficient memory -- 解决措施_Opencv Error_02](https://file.cfanz.cn/uploads/png/2023/12/22/8/e9KdeJe790.png)
![List item [win32切换x64] Opencv Error Insufficient memory -- 解决措施_内存不足_03](https://file.cfanz.cn/uploads/png/2023/12/22/8/Zf2UDWffX6.png)
![在这里插入图片描述 [win32切换x64] Opencv Error Insufficient memory -- 解决措施_Win32切换X64_04](https://file.cfanz.cn/uploads/png/2023/12/22/8/81dN3cIaY2.png)
![在这里插入图片描述 [win32切换x64] Opencv Error Insufficient memory -- 解决措施_解决方案_05](https://file.cfanz.cn/uploads/png/2023/12/22/8/2d33d56B0e.png)
![在这里插入图片描述 [win32切换x64] Opencv Error Insufficient memory -- 解决措施_内存不足_06](https://file.cfanz.cn/uploads/png/2023/12/22/8/2T0129b9Q2.png)
![在这里插入图片描述 [win32切换x64] Opencv Error Insufficient memory -- 解决措施_Opencv Error_07](https://file.cfanz.cn/uploads/png/2023/12/22/8/c79eK0TOX3.png)
![在这里插入图片描述 [win32切换x64] Opencv Error Insufficient memory -- 解决措施_解决方案_08](https://file.cfanz.cn/uploads/png/2023/12/22/8/03bd9469cb.png)
![在这里插入图片描述 [win32切换x64] Opencv Error Insufficient memory -- 解决措施_解决方案_09](https://file.cfanz.cn/uploads/png/2023/12/22/8/dL2eFdIf2F.png)
5. 若和QT一起工作的,需要在QT5——> Qt Projecte Settings中的最后一个version选择上qt版本。
![在这里插入图片描述 [win32切换x64] Opencv Error Insufficient memory -- 解决措施_内存不足_10](https://file.cfanz.cn/uploads/png/2023/12/22/8/NAF03432c6.png)
注意:在这里已经基本切换完了,如果没有问题恭喜你,但是,如果经过上述修改之后若是如下问题:应用程序无法正常启动0xc000007b ,则可能是缺少相关的 dll文件。
解决方案参考:应用程序无法正常启动0xc000007b










