用HOG算法编程实现行人检测
时间: 2024-05-29 18:13:16 浏览: 23
行人检测是计算机视觉领域的一个重要任务,HOG(Histogram of Oriented Gradients)算法是常用的行人检测算法之一。
HOG算法的步骤:
1.将图片划分为若干个小的区域(cell),每个区域内计算梯度(包括大小和方向),得到一个梯度方向直方图。
2.将多个相邻的cell组成一个block,对block内的梯度方向直方图进行归一化,得到一个HOG特征向量。
3.对所有block的HOG特征向量进行拼接,得到整张图片的特征向量。
4.使用分类器(如支持向量机)对行人检测目标进行分类。
实现时,可以使用计算机视觉库OpenCV中的HOGDescriptor类。
以下是使用OpenCV实现的行人检测代码示例:
import cv2
# 加载HOG检测器
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
# 加载图片
image = cv2.imread('person.jpg')
# 行人检测
(rects, weights) = hog.detectMultiScale(image, winStride=(4, 4),
padding=(8, 8), scale=1.05)
# 绘制检测结果
for (x, y, w, h) in rects:
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 2)
# 显示结果
cv2.imshow('detector', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)