opencv目標檢測

2021-09-19 09:39:20 字數 2430 閱讀 2585

以下是需要用到的函式,請讀者在閱讀**時先行了解:

sift演算法:此演算法用於獲取關鍵點和秒數符

flann匹配:用於匹配不同的描述符

詞袋:bow

支援向量機:svm

pos, neg = "pos-", "neg-"         #全部的汽車**都是有pos-x.jpg組成的,非汽車都是有neg-x.jpg組成的。

detect = cv.xfeatures2d.sift_create()   #建立sift演算法

extract = cv.xfeatures2d.sift_create()

indexpara = dict(algorithm=1, trees=5)

checkpara = dict(checks=50)

flann = cv.flannbasedmatcher(indexpara, checkpara)

bow_trainer = cv.bowkmeanstrainer(40) #定義乙個40個族的詞袋

bow_extract = cv.bowimgdescriptorextractor(extract, flann)#sift用來提取特徵,flann用來匹配描述符

for i in range(1, 9):

bow_trainer.add(extract_sift(path(pos, i)))

bow_trainer.add(extract_sift(path(neg, i)))

voc = bow_trainer.cluster() #voc即是詞袋的初始「詞典」

bow_extract.setvocabulary(voc)

traindata, trainlabels = ,

for i in range(1, 21):

traindata.extend(bow_xfeatures(path(pos, i)))#為不同的訓練資料定義不同標籤

traindata.extend(bow_xfeatures(path(neg, i)))

svm = cv.ml.svm_create()   #建立支援向量機並用詞袋提取出來的描述符去訓練支援向量機

cv.destroyallwindows()**的編寫模仿於由喬.公尺尼奇諾編寫的opencv3計算機視覺python實現。

OpenCV實現運動目標檢測的函式

引數 dst 檢測結果 void update mhi iplimage img,iplimage dst,int diff threshold for i 0 i n i cvreleaseimage mhi mhi cvcreateimage size,ipl depth 32f,1 cvzer...

應用OpenCV檢測自定義目標

1.opencv build x86 vc10 bin下的opencv createsamples.exe 2.opencv build x86 vc10 bin下的opencv traincascade.exe 訓練的演算法是adaboost級聯分類器。關於adaboost的演算法講解,這篇博文有...

基於Python和Opencv的目標檢測與特徵

而我們訓練分類器的過程就是給這個分類函式 數學模型 找到一系列最優的引數,使得通過這個函式來判斷時能達到最好的分類效果 更高階一點的分類器就加入了學習和自適應的概念使得分類更精準 那麼通過什麼可以得到這個分類器呢?就是分類演算法 提到演算法我們不得不提到機器學習的概念,機器學習演算法簡單來說可以通過...