我使用OpenCV 2.4(C++)在灰度圖像上進行線條查找。這涉及一些基本的圖像處理步驟,如模糊,閾值,Canny邊緣檢測器,梯度濾波器或Hough變換。我必須在數千幅圖像上應用線條查找算法。加速OpenCV
考慮到大量圖像,有沒有辦法加速計算?
下列其中一項提供幫助嗎?英特爾TBB,IPP或OpenCV GPU? 我聽說OpenCV GPU可以加速計算,但數據傳輸速度很慢。所以在這裏使用GPU可能不是正確的選擇?
謝謝!
編輯:
是否有使用parallel_for時從TBB,以加快圖像處理任何意義嗎?如果我使用如下循環:
for(int i=0; i<image_location.size();++i)
{
Mat img=imread(image_location[i]);
blur(img...);
threshold(img...);
...
}
我可以通過使用parallel_for來改善性能嗎?任何人都可以提供如何使用parallel_for包含一些opencv操作的例子嗎?
沒有任何處理大量圖像的典型方法嗎?我沒有尋找一個解決方案,加快計算幾個毫秒每個圖像。我想知道是否有一個加速計算的方法可能是兩次或更多。目前我不需要任何代碼示例,但是你們如何看待gpu,ipp,tbb等大量圖像問題?由於我的圖像處理代碼是相對基本的,並不認爲代碼本身是問題,但大量的圖像。 – marc
一個處理大量圖像的典型方法可能是大量採樣,但這似乎不適合您的情況。另一個將是投入更多的計算能力。此外,我不明白爲什麼你說你的代碼是相對基本的,每個OpenCV代碼行可能意味着很多處理。我看過論文描述移植到GPU時的巨大改進,但最終當您從數千張圖片移動到數百萬張圖片時,您遇到了同樣的問題。 – mmgp