4
我調用下面的OpenCV方法(Emgu CV包裝器),它同時檢測的面孔,在多個線程:如何使OpenCV檢測方法線程安全?
IntPtr objects = CvInvoke.cvHaarDetectObjects(
img.Ptr,
haarObj.Ptr,
stor.Ptr,
scaleFactor,
minNeighbors,
flag,
minSize);
我得到AccessViolationException。標準的.NET鎖定在這裏是不可接受的,因爲這個方法幾乎佔用了線程的所有時間。任何想法如何使這種方法同時工作?
可能你知道,OpenCV上的任何文檔都說什麼可以同時運行,什麼是不是?我需要在不同的線程中運行Emgu.CV.CameraCalibration.FindChessboardCorners的幾個實例(heh,你也在基輔:)) – sergtk
@sergdev在我看來,沒有這樣的文檔。檢查您的方法是否支持併發的最好方法是在多個線程中運行它,或查看OpenCV源代碼。或者您可以使用TBB支持構建OpenCV。 – Centro
我現在這樣做了,但由於doc中沒有任何聲明,它可能會在未經通知的情況下在未來發生變化 – sergtk