亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python 使用Opencv實(shí)現(xiàn)目標(biāo)檢測(cè)與識(shí)別的示例代碼

 更新時(shí)間:2020年09月08日 10:43:40   作者:Xy-Huang  
這篇文章主要介紹了Python 使用Opencv實(shí)現(xiàn)目標(biāo)檢測(cè)與識(shí)別的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在上章節(jié)講述到圖像特征檢測(cè)與匹配 ,本章節(jié)是講述目標(biāo)檢測(cè)與識(shí)別。后者是在前者的基礎(chǔ)上進(jìn)一步完善。
在本章中,我們使用HOG算法,HOG和SIFT、SURF同屬一種類型的描述符。功能代碼如下:

import cv2
def is_inside(o, i):
 ox, oy, ow, oh = o
 ix, iy, iw, ih = i
 # 如果符合條件,返回True,否則返回False
 return ox > ix and oy > iy and ox + ow < ix + iw and oy + oh < iy + ih

# 根據(jù)坐標(biāo)畫出人物所在的位置
def draw_person(img, person):
 x, y, w, h = person
 cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 255), 2)

# 定義HOG特征+SVM分類器
img = cv2.imread("people.jpg")
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
found, w = hog.detectMultiScale(img, winStride=(8, 8), scale=1.05)

# 判斷坐標(biāo)位置是否有重疊
found_filtered = []
for ri, r in enumerate(found):
 for qi, q in enumerate(found):
 a = is_inside(r, q)
 if ri != qi and a:
  break
 else:
 found_filtered.append(r)
# 勾畫篩選后的坐標(biāo)位置
for person in found_filtered:
 draw_person(img, person)
# 顯示圖像
cv2.imshow("people detection", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

運(yùn)行結(jié)果如圖所示:


這個(gè)例子是使用HOG特征進(jìn)行SVM算法訓(xùn)練,這部分已開始涉及到機(jī)器學(xué)習(xí)的方面,通過SVM算法訓(xùn)練數(shù)據(jù)集,然后根據(jù)某圖像與數(shù)據(jù)集進(jìn)行匹配。

到此這篇關(guān)于Python 使用Opencv實(shí)現(xiàn)目標(biāo)檢測(cè)與識(shí)別的示例代碼的文章就介紹到這了,更多相關(guān)Opencv 目標(biāo)檢測(cè)與識(shí)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論