解決OpenCV Error:Insufficient memory(Failed to allocate 1244164 bytes) in unknown function


從師兄那拷貝過來的代碼,師兄的機器上可以運行,環境為Win7+OpenCV231,編譯器為Debug Win32,拷貝到自己機器上運行時出現問題。

本機的運行環境為win10+OpenCV244,編譯器為Debug Win32,一直提示如下錯誤:

1

 

2

根據錯誤提示“內存分配不足”

解決方法嘗試:

①懷疑是OpenCV版本問題,將OpenCV換回231版本,結果不起作用;

②懷疑是單個程序運行分配內存不足,嘗試擴大單個程序運行分配的內存,使用命令提示符,在管理員模式下運行,bcdedit /set increaseuserva 8192,結果發現運行出錯的位置向前推進了,但最終依然還是內存不足;

③將編譯器調整為Release x64,結果程序跑起來了,那叫一個激動啊;

④別被勝利沖昏了頭腦,立即將編譯器調整為Debug x64,程序也可以運行;

⑤在來驗證一下bcdedit /set increaseuserva 8192是否有用,將程序運行內存設置為2G,bcdedit /set increaseuserva 2048,程序依然可以運行。

總結:

    通過上面的測試,解決這個問題的方法是將編譯器調整為x64環境下,也就是將程序編譯成64位程序。

存在的疑問:為什么師兄的機器在win32編譯器可以運行的,難道是與操作系統有關,求證。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM