解决win下vs+yolov3使用Dll载入图片和载入Mat检测出来效果不一致的问题。

在Windows环境下使用VS2015和Yolov3的DLL版本时,通过文件名加载图片和使用OpenCV的Mat加载图片进行检测,效果存在差异。问题在于detect(cv::Mat mat)方法中对Mat进行了resize操作导致检测质量下降。解决方案是修改源码,避免不必要的resize步骤,从而保持检测的一致性。
摘要由CSDN通过智能技术生成

该问题已在最新版本中修复。

问题描述:

    在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);方法在检测之前

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值