您的位置:首页 > 编程语言 > Qt开发

使用QT和opencv3.3进行目标检测(YOLO)

2017-11-11 09:47 656 查看
这篇文章先放个图,准备有时间写



我这里使用的是YOLO2的方法实现的,没有使用cudnn加速,所以速度上慢了点,不过对于高端的显卡来说,我觉得可以做到视屏级的图片产生速度。并且我这里并没有训练好数据,只是一个测试,但是效果还不错。

动态链接库文件

YOLOv2 dll cpu

YOLOv2 dll 头文件

前面一个是动态链接库文件,后面是对应的头文件。动态链接库文件,要在QT64位下运行,这个是CPU版本,对应的GPU版本,有时间再做了/(ㄒoㄒ)/~~

函数接口

class Detector
{
public:
Detector(std::string cfg_filename, std::string weight_filename, int gpu_id = 0);
~Detector();
std::vector<bbox_t> detect(std::string image_filename, float thresh = 0.2, bool use_mean = false);
std::vector<bbox_t> detect(image_t img, float thresh = 0.2, bool use_mean = false);

#ifdef OPENCV
std::vector<bbox_t> detect(cv::Mat mat, float thresh = 0.2, bool use_mean = false);
std::vector<bbox_t> detect_resized(image_t img, cv::Size init_size, float thresh = 0.2, bool use_mean = false);
std::shared_ptr<image_t> mat_to_image_resize(cv::Mat mat) const;
std::shared_ptr<image_t> mat_to_image(cv::Mat img);
#endif
};


主要使用的是
detect
函数,应该看得懂吧?怎么使用,只能有时间再说了/(ㄒoㄒ)/~~

具体怎么生成一个动态链接库,有时间再说吧/(ㄒoㄒ)/~~

是真的没时间,不过要告诉大家一个好消息,我最近在使用
Alpha Zero
的算法,做一个很牛逼的五子棋机器人和中国象棋机器人(你没听错,就是之前干掉柯杰的
Alpha Master
的加强版),有时间开源出来吧/(ㄒoㄒ)/~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: