该问题已在最新版本中修复。
问题描述:
在windows下使用vs2015 + Yolov3的DLL版本时(https://github.com/AlexeyAB/darknet),根据官网有两种检测方法如下图:
一种是直接加载图片的文件名,另一种是使用Opencv,先用Mat加载图片文件名,再用Detector做检测。按道理来说两种方法检测效果应该一致,可是实际情况却是使用Mat作为检测目标时,检测效果没有直接加载图片做检测的效果好。
解决方案:
从源码比较
std::vector<bbox_t> detect(std::string image_filename, float thresh = 0.2, bool use_mean = false);和
std::vector<bbox_t> detect(cv::Mat mat, float thresh = 0.2, bool use_mean = false);
这两种方法的异同。发现detect(cv::Mat mat, float thresh = 0.2, bool use_mean = false);方法在检测之前