opencv findcontours記憶體錯誤的解決過程
阿新 • • 發佈:2021-01-08
技術標籤:影象處理與機器視覺opencvopencvfindContours記憶體錯誤
在使用findcontours函式過程中,出現莫名其妙的錯誤,造成程式無法執行,根據網上的所有解決措施做了一下實驗都沒有解決,後來發現一個令人尷尬的問題,現在大體說一下。
首先說一下網上給的方法,具體如以下幾個網址,大家可以自行檢視:
1、https://www.cnblogs.com/wangtianning1223/p/13588505.html
2、https://blog.csdn.net/fightingforcv/article/details/78423866
3、根據自己的VS版本重新編譯opencv;
但是在此過程中,按照網上的方法都是失效的,最後檢視opencv中關於此函式的說明:
void cv::findContours ( InputOutputArray image,
OutputArrayOfArrays contours,
OutputArray hierarchy,
int mode,
int method,
Point offset = Point()
)
InputArray型別的image,即輸入的源影象,是Mat型別的8位單通道影象。本人的生成的雖然也是二值影象,但是經過分析其為3通道資料。可以利用cvtColor函式進行二值化的操作即可。