今天寫了一段用到opencv的代碼,最後主函數(main)傳回時産生了runtime error! R6025-pure virtual function call 的錯誤提示。程式前面的所有代碼都沒有問題,就到最後return 0;的時候報錯了。 看了opencv說明文檔後知道在顯示了一張圖檔後要将顯示該圖檔的視窗給 destroy 。原來部分代碼是這樣的
if (bol)
{
PaintInterestingPoint(im1,map_point);
cvSaveImage("immapped.ppm",im1);
cvShowImage("painted mapped image",im1);
cvWaitKey(0);
}
cvReleaseImage(&im1);
cvReleaseImage(&im2);
return 0;
後來加入了視窗清除語句,錯誤解決。代碼如下:
{
PaintInterestingPoint(im1,map_point);
cvSaveImage("immapped.ppm",im1);
cvShowImage("painted mapped image",im1);
cvWaitKey(0);
cvReleaseImage(&im1);
cvDestroyWindow("painted origin image");
cvDestroyWindou("painted mapped image");