资源简介
基于聚合通道特征ACF的行人检测代码,代码使用opencv和vs开发,能够实现对图片中行人的检测,检测还可以,适合于对ACF特征的学习
代码片段和文件信息
#include “stdafx.h“
#include “ACFDetector.h“
#include “imResample.h“
#include
#include
enum ConvolutionType {
CONVOLUTION_FULL
CONVOLUTION_SAME
CONVOLUTION_VALID
};
void conv2(const cv::Mat &A const cv::Mat &B ConvolutionType type cv::Mat &dst) {
cv::Mat src = A kernel;
cv::flip(B kernel -1);
if (type == CONVOLUTION_FULL) {
src = cv::Mat();
const int ar = kernel.rows - 1 ac = kernel.cols - 1;
cv::copyMakeBorder(A src (ar + 1) / 2 ar / 2 (ac + 1) / 2 ac / 2 cv::BORDER_CONSTANT cv::Scalar(0));
}
cv::Point anchor(kernel.cols - kernel.cols / 2 - 1 kernel.rows - kernel.rows / 2 - 1);
int borderMode = cv::BORDER_CONSTANT;
cv::filter2D(src dst src.depth() kernel anchor 0 borderMode);
if (type == CONVOLUTION_VALID) {
dst = dst.colRange((kernel.cols - 1) / 2 dst.cols - kernel.cols / 2)
.rowRange((kernel.rows - 1) / 2 dst.rows - kernel.rows / 2);
}
}
ACFDetector::ACFDetector():clf() pPyramid() filters() {
}
void ACFDetector::loadModel(const std::string &filepath) {
FILE *fp = fopen(filepath.c_str() “rb“);
if (fp == NULL) {
wrError(“cannot open model“);
}
// get pPyramid
// TODO: WARNING!! hard code for chnsInput
fread(&pPyramid.chnsInput.shrink sizeof(int) 1 fp);
pPyramid.chnsInput.pColor.enabled = true;
fread(&pPyramid.chnsInput.pColor.smooth sizeof(float) 1 fp);
pPyramid.chnsInput.pColor.colorSpace = CS_LUV;
pPyramid.chnsInput.pGradMag.enabled = true;
fread(&pPyramid.chnsInput.pGradMag.colorChannel sizeof(int) 1 fp);
fread(&pPyramid.chnsInput.pGradMag.normRad sizeof(float) 1 fp);
fread(&pPyramid.chnsInput.pGradMag.normConst sizeof(float) 1 fp);
fread(&pPyramid.chnsInput.pGradMag.full sizeof(bool) 1 fp);
pPyramid.chnsInput.pGradHist.enabled = true;
pPyramid.chnsInput.pGradHist.binSize = pPyramid.chnsInput.shrink;
fread(&pPyramid.chnsInput.pGradHist.nOrients sizeof(int) 1 fp);
fread(&pPyramid.chnsInput.pGradHist.softBin sizeof(bool) 1 fp);
fread(&pPyramid.chnsInput.pGradHist.useHog sizeof(bool) 1 fp);
fread(&pPyramid.chnsInput.pGradHist.clipHog sizeof(float) 1 fp);
pPyramid.chnsInput.complete = true;
fread(&pPyramid.nPerOct sizeof(int) 1 fp);
fread(&pPyramid.nOctUp sizeof(int) 1 fp);
fread(&pPyramid.nApprox sizeof(int) 1 fp);
uint32_t nTypes; fread(&nTypes sizeof(uint32_t) 1 fp);
pPyramid.lambdas.resize(nTypes);
for (size_t i = 0; i < nTypes; ++i) {
fread(&pPyramid.lambdas[i] sizeof(float) 1 fp);
}
fread(pPyramid.pad sizeof(int) 2 fp);
fread(pPyramid.minDs sizeof(float) 2 fp);
fread(&pPyramid.smooth sizeof(float) 1 fp);
fread(&pPyramid.complete sizeof(bool) 1 fp);
if (pPyramid.nApprox < 0) pPyramid.nApprox = pPyramid.nPerOct - 1;
// get filters
uint32_t rows cols channels;
fread(&rows sizeof(uint32_t) 1 fp);
fread(&cols sizeof(uint32_t) 1 fp);
fread(&channels sizeof(uint32_t) 1 fp);
f
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-30 08:25 ACFTest-master\
文件 57 2018-01-30 08:25 ACFTest-master\.gitignore
文件 1293 2018-01-30 08:25 ACFTest-master\ACFTest.sln
文件 30208 2018-01-30 08:25 ACFTest-master\ACFTest.v12.suo
目录 0 2018-01-30 08:25 ACFTest-master\ACFTest\
文件 8558 2018-01-30 08:25 ACFTest-master\ACFTest\ACFDetector.cpp
文件 2461 2018-01-30 08:25 ACFTest-master\ACFTest\ACFDetector.h
文件 1514 2018-01-30 08:25 ACFTest-master\ACFTest\ACFTest.cpp
文件 9329 2018-01-30 08:25 ACFTest-master\ACFTest\ACFTest.vcxproj
文件 4511 2018-01-30 08:25 ACFTest-master\ACFTest\ACFTest.vcxproj.filters
文件 1575 2018-01-30 08:25 ACFTest-master\ACFTest\CMakeLists.txt
文件 3045 2018-01-30 08:25 ACFTest-master\ACFTest\CellArray.cpp
文件 2424 2018-01-30 08:25 ACFTest-master\ACFTest\CellArray.h
文件 15487 2018-01-30 08:25 ACFTest-master\ACFTest\EdgeBoxes.cpp
文件 2764 2018-01-30 08:25 ACFTest-master\ACFTest\EdgeBoxes.h
文件 10494 2018-01-30 08:25 ACFTest-master\ACFTest\EdgeDetector.cpp
文件 3096 2018-01-30 08:25 ACFTest-master\ACFTest\EdgeDetector.h
文件 1675 2018-01-30 08:25 ACFTest-master\ACFTest\ReadMe.txt
文件 2350 2018-01-30 08:25 ACFTest-master\ACFTest\bbNms.cpp
文件 1064 2018-01-30 08:25 ACFTest-master\ACFTest\bbNms.h
文件 2965 2018-01-30 08:25 ACFTest-master\ACFTest\box.cpp
文件 3260 2018-01-30 08:25 ACFTest-master\ACFTest\box.h
文件 2102 2018-01-30 08:25 ACFTest-master\ACFTest\chnsCompute.cpp
文件 2379 2018-01-30 08:25 ACFTest-master\ACFTest\chnsCompute.h
文件 5884 2018-01-30 08:25 ACFTest-master\ACFTest\chnsPyramid.cpp
文件 2096 2018-01-30 08:25 ACFTest-master\ACFTest\chnsPyramid.h
文件 10358 2018-01-30 08:25 ACFTest-master\ACFTest\convConstMex.h
文件 718 2018-01-30 08:25 ACFTest-master\ACFTest\convUtil.cpp
文件 2336 2018-01-30 08:25 ACFTest-master\ACFTest\convUtil.h
文件 545 2018-01-30 08:25 ACFTest-master\ACFTest\global.h
文件 18946 2018-01-30 08:25 ACFTest-master\ACFTest\gradientMex.h
............此处省略25个文件信息
- 上一篇:OpenStack+混合云之路-
- 下一篇:ST7920中文手册.pdf
相关资源
- YOLOv3检测行人结果caltech reasonble
- 视频行人检测源码
- 行人检测视频 hog 检测 直接可以使用
- 安全帽检测行人检测数据集视频图片
- Vehicle-And-Pedestrian-Detection-Using-Haar-Ca
- 基于hog+pca+svm行人检测源码
- 行人检测与跟踪
- 自己训练SVM分类器进行HOG行人检测
- mac for FileZilla
- 行人检测数据集 USC数据集
- hog+svm行人检测分类器训练
- 行人检测训练库
- hog+svm负样本处理
- FLACFLAC3D基础与应用-陈育民.pptx
- 行人检测代码
- 测试行人检测用的视频
- 行人检测数据集/目标检测
- Pets2009行人检测数据集
- KCF使用摄像头实现行人自主跟踪.zip
- 机器学习--行人检测图片负样本NEG
- e133678921608dacfc040eefc9c29e98.rar
- 13个行人检测数据集.txt
- 基于HOG和LBP的行人检测代码
- 基于卡尔曼滤波的行人检测
- a1acf4e820b492d7f9d7c47636ddf3c5.txt
- cbc970483af4c418facf4389b5cb4149.rar
- HOG-LBP+detection 行人检测
- MacFilterCalloutInstaller
- 密集人群中的行人检测
-
DPM模型行人检测xm
l文件
评论
共有 条评论