资源简介
该资源包括YOLO权重文件,YOLO配置文件,YOLO框架的测试源码,主要针对YOLOv1-v3版本,方便大家入门YOLO。
代码片段和文件信息
#pragma once
#include“stdafx.h“
#include
#include
#include
#include
#include
#include
using namespace std;
using namespace cv;
using namespace cv::dnn;
float confidenceThreshold = 0.1;
String modelConfiguration = “yolov2-tiny-voc.cfg“;//yolov2-tiny-voc.cfg
String modelBinary = “yolov2-tiny-voc.weights“;
ifstream classNamesFile(“voc.names“);
int dnn_yolo_syx_Img();
int dnn_yolo_syx_Cam();
int main()
{
dnn_yolo_syx_Img();
}
int dnn_yolo_syx_Img() {
dnn::Net net = readNetFromDarknet(modelConfiguration modelBinary);
//判断是否读入成功
if (net.empty())
{
printf(“Could not load net...\n“);
return -1;
}
//定义一个string类的数组
vector classNamesVec;
if (classNamesFile.is_open())
{
string className = ““;
while (std::getline(classNamesFile className))
classNamesVec.push_back(className);
}
// 加载图像
Mat frame = imread(“111.jpg“);
if (frame.empty())
{
printf(“Could not load image...\n“);
return -1;
}
Mat inputBlob;
inputBlob = blobFromImage(frame 1 / 255.F Size(416 416) Scalar() true false);
net.setInput(inputBlob “data“);
// 检测
Mat detectionMat = net.forward(“detection_out“);
vector layersTimings;
double freq = getTickFrequency() / 1000;
double time = net.getPerfProfile(layersTimings) / freq;
ostringstream ss;
ss << “detection time: “ << time << “ ms“;
putText(frame ss.str() Point(20 20) 0 0.5 Scalar(0 0 255));
// 输出结果
for (int i = 0; i < detectionMat.rows; i++)
{
const int probability_index = 5;
const int probability_size = detectionMat.cols - probability_index;
float *prob_array_ptr = &detectionMat.at(i probability_index);
size_t objectClass = max_element(prob_array_ptr prob_array_ptr + probability_size) - prob_array_ptr;
float confidence = detectionMat.at(i (int)objectClass + probability_index);
if (confidence > confidenceThreshold)
{
float x = detectionMat.at(i 0);
float y = detectionMat.at(i 1);
float width = detectionMat.at(i 2);
float height = detectionMat.at(i 3);
int xLeftBottom = static_cast((x - width / 2) * frame.cols);
int yLeftBottom = static_cast((y - height / 2) * frame.rows);
int xRightTop = static_cast((x + width / 2) * frame.cols);
int yRightTop = static_cast((y + height / 2) * frame.rows);
Rect object(xLeftBottom yLeftBottom xRightTop - xLeftBottom yRightTop - yLeftBottom);
rectangle(frame object Scalar(0 0 255) 2 8);
if (objectClass < classNamesVec.size())
{
ss.str(““);
ss << confidence;
String conf(ss.str());
String label = String(classNamesVec[objectClass]) + “: “ + conf;
int baseLine = 0;
Size labelSize = getTextSize(label CV_FONT_HERSHEY_SIMPLEX 0.5 1 &baseLine);
rectangle(frame Rect(Point(xLeftBottom yLeftBottom)
Size(l
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9296 2018-05-31 17:40 111.jpg
文件 6529 2018-09-08 09:31 LearnYolo.cpp
文件 135 2018-04-17 18:24 voc.names
文件 1456 2018-04-17 18:24 yolov2-tiny-voc.cfg
文件 63471556 2018-04-17 18:24 yolov2-tiny-voc.weights
相关资源
- yoloV3实验文档.tar.gz
- YOLOv3 训练日志
- Ubuntu16.04下YOLO V3训练自己的数据集超
- 吴恩达-第四课-YOLO作业所需的yolo.h5文
- yolo源代码
- YOLO快速图像标注工具
- yolov1的tensorflow实现
- 《Win10 opencv4.4 dnn cuda源码编译/安装说
- yolo.h5,YOLOv3转换后的初始权重
- Complex-YOLO
- KITTI数据集转化为VOC数据集,用于yo
- yolo5训练文件,包括yolov5l.pt,yolov5m
- keras-yolo3 实时目标检测
- YOLOv4人头检测器训练数据集
- keras-yolov3 进行批量测试 并 保存测试
- 之 keras-yolov3训练自己数据集第三部分
- yolov3可视化图
- yolov5_weights_3.0.zip
- yolov3训练数据
- 改进YOLO_V3遥感图像飞机识别应用_郑志
- samylee的yolo训练src
- vs2015编译的yolo3图形界面程序源码
- YOLOV3的部分代码注释,绝对良心
- Qt调用darknet
- yolov3.weights
- yolov4.weights
- poly-yolo.pdf
- yolov3使用教程(从tensorflow-gpu环境搭建
- 海思Hi35xx系列运行YoloV3以及YoloV3-tin
- yolov3的h5文件转darknet的weights
评论
共有 条评论