zoukankan      html  css  js  c++  java
  • Opencv Error Insufficient memory的解决办法

    本文主要解决如下问题:

    Opencv Error Insufficient memory错误解决方案

    x86架构切换到x64的方法

    应用程序无法正常启动0xc000007b解决方案

      由于本人比较懒,恰好又都是同一天遇到的问题,所以就在一篇文章里面说了,不要学我哈,好了,言归正传

      最近在做一个识别CAD图纸并且画出的项目时,出现内存不足问题,即Opencv Error:Insufficient memory.in cv::out of memory error,导致系统崩溃。

      在网上查了一下,错误的原因可能是VS2012项目的x86架构下的内存太小,无法加载更多数据。当然,也可能是出现内存泄漏导致内存一直飙升,以及栈溢出等等都可能导致该类错误的出现,对待该类问题需要具体情况具体分析。我的解决办法就是将项目切换到x64架构上.这里说一下切换的步骤以及会出现的问题:

    1.修改系统环境变量

    这里我把x86架构以及x64架构的路径都加上了:
    %SystemRoot%system32;
    %SystemRoot%;%SystemRoot%System32Wbem;
    %SYSTEMROOT%System32WindowsPowerShellv1.0;
    C:WindowsSysWOW64;%OPENCV%、

    2.切换x64架构
    .

     如果没有x64选项,则:
    (1)选择其下面的配置管理器,

    在这里插入图片描述
    在这里插入图片描述

    (2)在配置管理窗口,点击箭头所指的“新建”,弹出新建窗口
    在这里插入图片描述

    (3)在“新建解决方案平台”窗口,选择“x64”,然后点击“确定”
    在这里插入图片描述

    3.在项目——属性中更改VC++目录中的库目录,将原来的x86架构下的库目录改为x64架构下的库目录。
    在这里插入图片描述

    4.在同属性页下将链接器——高级——目标计算机更改为:MachineX64 (/MACHINE:X64)

    在这里插入图片描述

    5. 若和QT一起工作的,需要在QT5——> Qt Projecte Settings中的最后一个version选择上qt版本。
    在这里插入图片描述

    注意:在这里已经基本切换完了,如果没有问题恭喜你,但是,如果经过上述修改之后若是如下问题:应用程序无法正常启动0xc000007b ,则可能是缺少相关的 dll文件。

    在这里插入图片描述

    解决方案:找到opencv中x64里面的bin文件夹,将里面的dll文件复制到x64架构对应的systerm32文件夹中(x86对应的是SysWOW64文件夹)。
    在这里插入图片描述

    搞定!可能不一定适合所有人。

  • 相关阅读:
    故障诊断 | 系统级追踪诊断方法及案例分享
    Linux 一个网卡添加多个IP
    DB2 Vs MySQL系列 | MySQL与DB2的数据类型对比
    新年寄语 | 2018 以及 Oracle 18c 一个时代的开启
    perl 全文搜索tr/td标签内容
    perl 监控activemq队列
    年终总结 | 从Oracle到MySQL大家最关注的竟然是...
    辞旧迎新:2018年的分区你们建了吗?
    mysql 执行长sql
    Ubuntu搭建NTP服务器
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/14577018.html
Copyright © 2011-2022 走看看