2011-09-10 110 views
-2

我目前正在使用haar分類器(我正在使用opencv安裝附帶的示例程序)進行人臉檢測程序。我需要做的是從opencv中提取此代碼,使代碼工作沒有opencv庫,即沒有opencv安裝在Windows和Linux桌面上。我一直在嘗試做一段時間,但沒有成功。關於如何做到這一點的任何建議? 在此先感謝沒有opencv的人臉檢測(Haar)

+3

爲你重新從頭開始寫全的東西,在這種情況下,它可能會更容易。 cvHaarDetectObjects()很大程度上依賴於許多OpenCV實用程序類,您還必須「提取」它們。 – istepura

+0

出於好奇,你爲什麼需要這樣做? –

+0

在OpenCV中已經內置了人臉檢測器,它可以在桌面上實時運行。我期望它(面部檢測或汽車檢測)在beagle板上運行非常緩慢。這樣做的目標是取出該代碼。使用beagle板上的DSP來查看它在嵌入式平臺上的運行速度。 – icoder

回答

4

OpenCV是一個非常複雜的圖像庫。示例程序將使用庫(!),您不能簡單地在沒有庫的情況下運行代碼。

2

在BeagleBoard的DSP上運行「複製粘貼」的OpenCV代碼,您將無法獲得任何性能優勢。

  1. C64x是一個定點DSP,浮點支持是用軟件完成的。因此,您需要將OpenCV代碼轉換爲固定點,才能使用DSP的全部功能。cvHaarDetectObjects()的主要瓶頸不是計算,而是在功能計算期間未緩存內存訪問,所以在運行時不會獲得任何好處在DSP上按原樣。

你可以嘗試的是像cvIntegral()這樣的端口函數 - 它們可能在DSP上加速。

檢查:

http://elinux.org/BeagleBoard/GSoC/2010_Projects/OpenCV

http://code.google.com/p/opencv-dsp-acceleration/

http://www.computer-vision-software.com/blog/2009/04/fixing-opencv/

http://pramodpoudel.blogspot.com/

這 - 在ARM7

運行維奧拉 - 瓊斯

http://cmucam.org/wiki/viola-jones(尤其是CC3臉檢測文件)

http://cmucam.org/browser/trunk/projects/viola-jones