无名 发表于 2022-5-8 18:34:32

【HC】Opencv : HOG 特征与行人检测 Python


http://cdn.u1.huluxia.com/g3/M02/65/4B/wKgBOV3jdamAKXnoAAFAIevZ-vc270.jpg
Opencv:HOG特征与行人检测Python实现
一、内容http://cdn.u1.huluxia.com/g3/M00/65/4A/wKgBOV3jdTOAdY1JAALkACmaCRw915.jpg
HOG特征与行人检测

HOG(Histogram of Oriented Gradient)特征在对象识别与模式匹配中是一种常见的特征提取算法,是基于本地像素块进行特征直方图提取的一种算法,对象局部的变形与光照影响有很好的稳定性,最初是用HOG特征来来识别人像,通过HOG特征提取+SVM训练,可以得到很好的效果。

HOG特征提取的大致流程:
在这里插入图片描述

二、代码
import cv2 as cv

# 主程序入口
if __name__ == '__main__':
    # 读取图像
    src = cv.imread("D:/vsprojects/images/pedestrian.png")
    cv.imshow("input", src)
    # HOG + SVM
    hog = cv.HOGDescriptor()
    hog.setSVMDetector(cv.HOGDescriptor_getDefaultPeopleDetector())
    # Detect people in the image
    (rects, weights) = hog.detectMultiScale(src,
                                          winStride=(4, 4),
                                          padding=(8, 8),
                                          scale=1.25,
                                          useMeanshiftGrouping=False)
    # 矩形框
    for (x, y, w, h) in rects:
      cv.rectangle(src, (x, y), (x + w, y + h), (0, 255, 0), 2)
    # 显示
    cv.imshow("hog-detector", src)
    cv.waitKey(0)
    cv.destroyAllWindows()

三、结果
1.原图http://cdn.u1.huluxia.com/g3/M00/65/4A/wKgBOV3jdTOABICNAADUK9nH99g552.jpg

2.结果http://cdn.u1.huluxia.com/g3/M00/65/4A/wKgBOV3jdTSAXfWuAADxRX93hRc897.jpg
页: [1]
查看完整版本: 【HC】Opencv : HOG 特征与行人检测 Python