# 简介 p5从车道检测升级为车辆检测,课程目的是检测行驶过程中遇到的车辆,属于目标检测范畴。这篇文章主要介绍如何使用传统计算机视觉方法进行车辆识别,比较基础。当然实现车辆识别的方案还有其他高大的方案,如yolo等,后面我会开另一篇文章介绍基于深度学习的车辆检测方案。 # 处理流程 本节课程处理流程如下图所示
# HOG特征提取 梯度直方图(Histogram of Oriented Gradient),简称HOG,它是一种特征描述符。其原理是把图像分成很多个部分,然后计算每个部分的梯度,HOG特征描述符能为特征匹配和目标检测提供非常重要的信息。 为了判断是否是车辆,我们需要分别提取车辆的HOG和非车辆物体的HOG。这里我们使用skimage的hog方法进行图像的特征提取,经过特征提取后的效果如下
贴上这部分代码
import cv2
import numpy as np
from skimage.feature import hog
import glob
import matplotlib.pyplot as plt
#读取car data
def load_car_data():
vehicles = glob.glob('./vehicles/*/*.png')
return vehicles
#读取non car data
def load_non_car_data():
non_vehicles = glob.glob('./non-vehicles/*/*.png')
return non_vehicles
#提取HOG特征
def extract_feature