在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類型數據,並不釋放創建的窗口資源,所以在應用中一定要自己釋放窗口資源.