之前在用qt寫mac桌面應用程式的時候,當時做的是行人檢測,由於每次檢測要讀取訓練出來的xml檔案,因此需要把xml儲存起來,然後每次執行程式後儲存起來。
首先想到的第乙個解決方法是把xml檔案放在resources中,然後通過
qfile file
(":/detectionfile/source/svm_hog.xml");
string tempname = file.
tostdstring()
;ptr svm = svm::
create()
;// 建立分類器
svm = svm::
load
(tempname)
;
來讀取,後面實現發現這種方法不行,在編譯器上可以執行,但是單獨開啟編譯好的軟體一讀取xml檔案就會崩潰。
後面嘗試了第二種方法,
qstring temp = qdir::
currentpath()
;string tempname = temp.
tostdstring()
;tempname +
="/svm_hog.xml"
;ptr svm = svm::
create()
;// 建立分類器
svm = svm::
load
(tempname)
;
ptr svm = svm::
create()
;// 建立分類器()
;string tempname = temp.
tostdstring()
+"/svm_hog.xml"
;ptr svm = svm::
create()
;// 建立分類器
svm = svm::
load
(tempname)
;
為什麼能解決呢?
因為如果使用qstring qdir::currentpath()
,那麼這個靜態方法將返回應用程式當前目錄的絕對路徑。 當前目錄是使用qdir :: setcurrent()設定的最後乙個目錄,或者,如果從未呼叫過,則是父程序在其上啟動該應用程式的目錄。
示例:
OpenCV訓練分類器
opencv訓練分類器 一 簡介 目標檢測方法最初由paul viola viola01 提出,並由rainer lienhart lienhart02 對這一方法進行了改善。該方法的基本步驟為 首先,利用樣本 大約幾百幅樣本 的 harr 特徵進行分類器訓練,得到乙個級聯的boosted分類器。分...
訓練Opencv分類器
由於在做乙個專案的需要,接觸到opencv。並使用其中的機器識別,自己會的實在不多。在使用它自帶的人臉分類器時,用自己的arm板上的攝像頭拍的,基本上識別不出。於是自己想訓練乙個分類器 用自己arm板上的攝像頭拍 給自己在專案中使用。於是找了個教室,拍了三百張 回去做分類器。開始以為做分類器會很麻煩...
OpenCV訓練分類器
一 簡介 目標檢測方法最初由paul viola viola01 提出,並由rainer lienhart lienhart02 對這一方法進行了改善。該方法的基本步驟為 首先,利用樣本 大約幾百幅樣本 的 harr 特徵進行分類器訓練,得到乙個級聯的boosted分類器。分類器中的 級聯 是指最終...