AFL++实战(七)-测试detection

detection

运动分析和目标跟踪,该项目显示了如何跟踪运动对象。它使用Lukas-Kanade方法在视频流中找到运动并为稀疏特征集计算光流。。项目源码

detection的下载
#安装opencv4.0及以上
#安装cmake3.0以上版本
git clone https://github.com/ndrwk/detection.git

有源码测试

测试代码
#include "Capture.h"
#include <thread>

using namespace std;
using namespace cv;

map<milliseconds, Frame> frames;
vector<map<milliseconds, vector<Point>>> allTracks;
mutex mutex_frames, mutex_tracks;

const int cameraNumber = 0;
const string fileName = R"(/home/drew/ClionProjects/detection/123.avi)";
//const string fileName = R"(/home/drew/ClionProjects/detection/TB.mp4)";


int main(int argc,char** argv)
{

	FILE* f = fopen(argv[1], "r");
	if (f == NULL) {
		cout << "Error: File  is not found." << endl;
		return -1;
	}
	fclose(f);
	Capture capture(string(argv[1]));


	thread capturing(&Capture::find, &capture, ref(frames), ref(mutex_frames), ref(allTracks), ref(mutex_tracks));
	thread display(&Capture::display, &capture, ref(frames), ref(mutex_frames), ref(allTracks), ref(mutex_tracks));

	if (capturing.joinable())
	{
		capturing.join();
	}


	if (display.joinable())
	{
		display.join();
	}


	return 0;
}

配置

对于完整的项目,需要将编译器指定为 afl-clang,然后再进行编译。

export CC=afl-clang
export CXX=afl-clang++
mkdir build
cd build
cmake ../
make -j4

fuzz

正式执行 fuzz 测试的命令如下:

mkdir in
# 在in文件下下创建image语料库,使用jpeg.dict字典
# https://github.com/AFLplusplus/AFLplusplus/tree/stable/dictionaries
afl-fuzz  -x mp4.dict -m none -i in -o out_res ./detection -f
测试结果

在这里插入图片描述

注意事项

  1. detection/Capture.cpp:156:24: error: use of undeclared identifier ‘CV_TERMCRIT_ITER’ TermCriteria termcrit(CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, 20, 0.03);

在这里插入图片描述
源文件中加入 #include <opencv2/imgproc/types_c.h>

  1. /detection/Capture.cpp:154:27: error: variable type ‘cv::BackgroundSubtractorMOG2’ is an abstract class BackgroundSubtractorMOG2 backgroundSubtractor(10, 25, false);
    在这里插入图片描述 Ptr pMOG2 = createBackgroundSubtractorMOG2 (20, 16, true);

pMOG2->apply(frame, mask, 0.001);

  1. undefined reference to symbol ‘pthread_create@@GLIBC_2.2.5’
    在这里插入图片描述
    CMakeLists.txt 中改为SET(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -std=c++11 -pthread”)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值