opencv中提供了hog的行人檢測(pedestrain detection)類。
cv::hogdescriptor類的建構函式的各引數的定義:
[cpp]view plain
copy
cv_wrap hogdescriptor() :
winsize(64,128), // detect window
blocksize(16,16), // block 大小
blockstride(8,8), // overlap block的滑動步長
cellsize(8,8), // cell 大小
nbins(9), // 直方圖的bin個數
derivaperture(1), // 微分運算元核
winsigma(-1), // 在window上進行高斯加權
histogramnormtype(hogdescriptor::l2hys), // 直方圖歸一化型別
l2hysthreshold(0.2), // l2-norm followed by clipping (limiting the maximum values of v to 0.2) and renormalising
gammacorrection(true
),
// gamma校正,去除光照影響
nlevels(hogdescriptor::default_nlevels) // 分層數
下面的兩段**採用opencv中的hog行人檢測類來完成對靜態中的行人檢測。
1)採用64*128 (畫素為單位)的detect window
[cpp]view plain
copy
// 基於hog特徵的行人檢測
// author:www.icvpr.com
// blog:
#include
#include
intmain(
intargc,
char
** argv)
// 1. 定義hog物件
cv::hogdescriptor hog; // 採用預設引數
// 2. 設定svm分類器
hog.setsvmdetector(cv::hogdescriptor::getdefaultpeopledetector()); // 採用已經訓練好的行人檢測分類器
// 3. 在測試影象上檢測行人區域
std::vectorregions;
hog.detectmultiscale(image, regions, 0, cv::size(8,8), cv::size(32,32), 1.05, 1);
// 顯示
for(
size_t
i = 0; i
cv::imshow("hog"
, image);
cv::waitkey(0);
return
0;
}
行人檢測實驗結果:
2)採用48*96(畫素為單位)的detect window
[cpp]view plain
copy
// 基於hog特徵的行人檢測
// author:
#include
#include
intmain(
intargc,
char
** argv)
// 1. 定義hog物件
cv::hogdescriptor hog(cv::size(48, 96), cv::size(16, 16), cv::size(8, 8), cv::size(8, 8), 9, 1,-1, cv::hogdescriptor::l2hys, 0.2, true
, cv::hogdescriptor::default_nlevels);
// 2. 設定svm分類器
hog.setsvmdetector(cv::hogdescriptor::getdaimlerpeopledetector()); // 採用已經訓練好的行人檢測分類器
// 3. 在測試影象上檢測行人區域
std::vectorregions;
hog.detectmultiscale(image, regions, 0, cv::size(8,8), cv::size(32,32), 1.05, 1);
// 顯示
for(
size_t
i = 0; i
cv::imshow("hog"
, image);
cv::waitkey(0);
return
0;
}
行人檢測實驗結果:
opencv_基於hog特徵的行人檢測
基於Hog特徵的行人檢測
1 先建立相應的txt檔案 f pedestrian image 00000101 0.png f pedestrian image 00000105 0.png f pedestrian image 00000108 0.png f pedestrian image 00000110 0.png ...
HOG 特徵的提取 基於scikit image
2017年04月12日 16 40 04 hog 特徵,histogram of oriented gradient,梯度方向直方圖特徵,作為提取基於梯度的特徵,hog 採用了統計的方式 直方圖 進行提取.其基本思路是將影象區域性的梯度統計特徵拼接起來作為總特徵.區域性特徵在這裡指的是將影象劃分為多...
Opencv2 4學習 HOG特徵
一 什麼是hog特徵 二 如何提取hog特徵 三 視窗 win 塊 block 細胞 cell 與畫素的關係 四 特徵向量維度數目的計算 五 關於梯度直方圖的計算 重點 1 影象卷積 影象梯度一般利用影象與梯度運算元卷積實現,關於這部分內容,可以參考opencv2.4學習 影象卷積 2 梯度運算元 ...