2014-01-30 108 views
1

我嘗試使用opencv_traincascade.exe,但它啓動後幾秒鐘崩潰。這是我如何進行:opencv_traincascade崩潰沒有解釋

opencv_createsamples -info info.txt -vec vecFile.vec -bg neg.txt -num 100 -w 100 -h 100 
  • info.txt具有116線;這些都是這樣的::

    的ImagePath 1 0 0 100 100

    我使用首先創建所述陽性樣品

    只是文件的名稱在不同的行中發生了變化,但所有圖像的大小都是100 * 100(我正在幹細胞上處理高分辨率圖片,因此在25 * 25圖片中,我想我會n OT有足夠的信息來檢測一下我期待的)

  • neg.txt包含715線,只是文件路徑

成功地創建了100個樣品

,然後我啓動與培訓:

opencv_traincascade -data Cascade -vec vecFile.vec -bg neg.txt -numPos 10 -numNeg 20 -numStages 2 -featureType HAAR -w 100 -h 100 

然後我得到了以下錯誤消息:

opencv_traincascade.exe has stopped working 

而沒有別的。

任何想法是怎麼回事?

謝謝

+0

您是否創建了文件vecFile.vec和文件夾Cascade? – Dabo

+0

vecFile.vec已經使用opencv_createsamples創建,所以是的。是的,我還創建了Cascade – taktak004

回答

3

這是因爲您選擇的窗口大小。 traincascade.exe用於訓練分類器的內存隨着窗口大小成指數增長,並且有幾臺家用計算機可以處理traincascade中的100x100窗口大小。

執行此練習:打開任務管理器並監視內存使用情況當你開始訓練時,你會注意到當程序不能分配更多內存時程序崩潰。 要解決這個問題,你必須選擇一個更小的窗口大小。

+0

文件夾,我只是按照您的建議進行了監視,但它並未使用我個人電腦的所有RAM,或者它可能會如此之快以至於我看不到它... 我會嘗試更小的窗口看 – taktak004

+1

那麼,畢竟你顯然是正確的。 – taktak004

+0

您可以使用參數-precalcValBufSize 1024和-precalcIdxBufSize 1024.如果喜歡,可以增加數字,但需要將值放在RAM容量以下。 – cyberdecker