91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .py
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-02
  • 語言: Python
  • 標簽: 車輛檢測??

資源簡介

利用bow訓練器進行k-means聚類,訓練svm分類器進行車輛檢測

資源截圖

代碼片段和文件信息

#?-*-?coding:utf-8?-*-
import?cv2
import?numpy?as?np
from?os.path?import?join

trainpath?=?‘D:\PyCharm?2018.2.2\program\image\CarData\TrainImages‘

#定義函數返回訓練集圖像的路徑
def?path(clsi):
????return?‘%s\%s%d.pgm‘%(trainpathclsi+1)

posneg?=?‘pos-‘‘neg-‘

#創建兩個SIFT對象,一個用來提取關鍵點,一個用來提取特征描述符
sift_kp?=?cv2.xfeatures2d.SIFT_create()
sift_des?=?cv2.xfeatures2d.SIFT_create()

#創建FLANN匹配器
indexParams?=?dict(algorithm=1?trees=5)
searchParams?=?{}
flann?=?cv2.FlannbasedMatcher(indexParams?searchParams)

#創建bow訓練器,指定簇數為40
bow_kmeans_trainer?=?cv2.BOWKMeansTrainer(40)
#創建bow特征提取器,視覺詞匯將作為bow提取器的輸入,bow提取器用來提取圖像的特征,與視覺單詞進行特征匹配,返回以視覺單詞為詞基的向量特征
bow_extractor?=?cv2.BOWImgDescriptorExtractor(sift_desflann)

#函數返回圖像的特征描述符,SIFT.compute(圖像,關鍵點)
def?des_extract(imgpath):
????img?=?cv2.imread(imgpath0)
????return?sift_des.compute(imgsift_kp.detect(img))[1]

#將正負樣本的描述符添加至bow訓練器中
for?i?in?range(50):
????bow_kmeans_trainer.add(des_extract(path(posi)))
????bow_kmeans_trainer.add(des_extract(path(negi)))

#cluster()函數執行k-means分類,并返回視覺詞匯,將視覺詞匯輸入到bow提取器中
vocabulary?=?bow_kmeans_trainer.cluster()
bow_extractor.setVocabulary(vocabulary)

#定義函數,返回bow提取器提取的特征描述符
def?bow_features(imgpath):
????img?=?cv2.imread(imgpath)
????return?bow_extractor.compute(img

評論

共有 條評論

相關資源