Re: [問題] 抽OpenCV裡需要的code

看板C_and_CPP (C/C++)作者 (阿水~*)時間16年前 (2009/08/01 11:34), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串6/8 (看更多)
※ 引述《neutronstars (I'm...)》之銘言: : 如同我前面說的,OpenCV內提供的cvHaarDetectObjects, : 它的內容包含其他基礎結構,所以一個包一個, : 如果真的要單獨抽出cvHaarDetectObjects function, : 那你應該會把很多部份的code都抓出來(或是你自己修改)。 : 如果真的要抓出來用,那你可以把某些部份去掉。 : --------------------------------------- : /* 這段都不用 */ : if( flags & CV_HAAR_SCALE_IMAGE ) : { : /* code */ : } : /* 下面這段需要留下來 */ : else : { : } : /* call cvHaarDetectObjects時,記得不要給CV_HAAR_SCALE_IMAGE flag. */ 我不記得我的範例裡面有沒有這段,我回去再找找看 我是使用安裝完之後直接將opencv/sample/facedetect.c裡面的code改寫到我的程式裡 並include需要的.h 還有setting那邊增加.lib : --------------------------------------- : 當然,裡面還包含 : cvCreateMat : cvCreateSeq : cvRunHaarClassifierCascade : cvSetImagesForHaarClassifierCascade : icvEvalHidHaarClassifier : ...... : 等function,其中可能還有某些特別的資料結構,你也需要自己重新build, : 不然就是去找他們被實作的部份,然後把他們一起抓過來用。 : 這部份你就可以參考前面大大提到的doxygen,幫助你找到相關的header file或.cpp檔。 : 另外,OpenCV的使用方式,我想如果你有辦法把這些code抓出來成功獨立運作, : 那參考下面網址的sample code後,你一定很快就會知道如何使用OpenCV了。 : http://www.opencv.org.cn/index.php 可以使用~(也是參考這個網站) 接下來要把function一個個抽出來 在這之前我現在就像您說的 正在刪除不必要的code,許多變數的驗證我就刪除了(我想它是怕使用者操作錯誤) 現在只剩下幾行關鍵的 1.使用cvCreatImage開圖 2.使用cv產生一個window 3.我要的核心cvHaarDetectObjects 1,2 我想替換掉,但不知道怎麼處理 1. 我現在是用CxImage做開圖的動作 我覺得我只需要將我開完的圖,轉換成IplImage的格式儲存 然後再送入cvHaarDetectObjects運算即可,不必花時間去修改cvCreatImage的部份 2.opencv的結果通常都是秀在一個他自己另外開的視窗裡面 我想,產生一個新的視窗... 這部份如果copy過來會產生很多麻煩(老實說我只會影像處理不會視窗程式...) 我的程式裡面就有一個現成的view了,我想要讓結果放在這個view就好 核心的部份就保留,以及其內部的函式跟結構 刪掉不必要的部份之後,缺什麼補什麼 : ------------------------- : 題外話,既然你們有自己的adaboost code,是不是就tune看看, : 或許可以藉由了解OpenCV的實作細節後, : 你們會發現自己的code哪邊可以再最佳化,這樣或許是較好的作法。 你說的對! 其實我對adaboost的演算法,只能說似懂非懂 只是看過資料上過課,沒有實際寫過(手邊是學長寫的) 有人推薦我侯捷的那篇文章,裡面就有人問 "如果我對我要深入剖析的演算法不熟析,是否會很困難?" 呵呵,跟我狀況類似 所以我也有心理準備了 您說的方向(參考->最佳化)我很認同,我會去嘗試 : ------------------------ : 坦白說,我也曾經想過要把它的code抽出來, : 不過trace完他的source code之後...... : 我還是決定改它的code就好了。 : 或許有高手做過這件事吧,但就我來說,看完那些code之後, : 在時間允許的情況下,我會選擇照它的程式邏輯重寫。 你說的"改它的code"的意思我不太了解 假如你要做的是灰階,(我忘記是cvCvtImage 還是cvCvtColor) 這個函式裡面有許多選項,我知道有Ostu其他我猜是Moment ISOdata Entrpy(亂拼..嫡) 但是你想要新增一個最近看paper看到的方法到這個函式裡頭 你是指說copy他的function並另外產生一個名字 然後修改內容 還是說 直接就去動他的source code? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.122.15

08/02 16:06, , 1F
1 2 能呼叫WINAPI來做?
08/02 16:06, 1F
文章代碼(AID): #1ASxUfxz (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1ASxUfxz (C_and_CPP)