OpenCV错误:Unhandled exception at 0x0133bc63 ....0xC0000005: Access violation reading location 0x00000004.

在OpenCV中使用Mat处理图像,出现的错误Unhandled exception at 0x0133bc63 .... 0xC0000005: Access violation reading location 0x00000004.

描述: 显示完图像,按任意键退出(程序设定),无法退出窗口.

错误提示:  Unhandled exception at 0x0133bc63 in OpenCV_Mat_Test.exe: 0xC0000005: Access violation reading location 0x00000004.

显示窗口始终running, 并弹出访问错误对话框,程序定位到ExitProcess(status).无法运转.

正确加载并显示图像,调用namedWindow("")创建窗口,调用imShow("",*)进行显示. 如下图:

显示完图像,未释放窗口:导致错误如下图:

这个错误找了好久没有解决,今天终于解决了…

原因: 利用Mat操作图像,显示图像使用namedWindows("");,Mat自动释放开辟的Mat内存,但是并不释放window窗口资源,窗口资源内存需要释放…

解决: 在显示完成后,调用函数cvDestroyAllWindows();函数.

OpenCV中的Mat只是自动释放其创建的Mat类型数据,并不释放创建的窗口资源,所以在应用中一定要自己释放窗口资源.

原文地址:https://www.cnblogs.com/xiangwengao/p/2311021.html