yolov3 裁剪识别的目标,并将剪裁的目标图片保存到本地
1 image.h中加入函数声明
void save_cut_image(int px, int py, int ph, int pw, int no, image m_img, char **names, float cut_pro, int the_class);
2 image.c中加入如下函数定义
void save_cut_image(int px, int py, int ph, int pw, int no, image m_img, char **names, float cut_pro, int the_class)
{image copy = copy_image(m_img);if (m_img.c == 3) rgbgr_image(copy);int x, y, k;char buff[256];sprintf(buff, "results//%s%.0f%%%d.jpg", names[the_class], cut_pro, no);printf(" cut_class :%s ...........cut_class:%.0f ", names[the_class], cut_pro);printf(names[the_class]);printf("%f",cut_pro); IplImage *disp = cvCreateImage(cvSize(m_img.w, m_img.h), IPL_DEPTH_8U, m_img.c);int step = disp->widthStep;for (y = 0; y < m_img.h; ++y) {for (x = 0; x < m_img.w; ++x) {for (k = 0; k < m_img.c; ++k) {disp->imageData[y*step + x*m_img.c + k] = (unsigned char)(get_pixel(copy, x, y, k) * 255);}}}CvMat *pMat = cvCreateMatHeader(m_img.w, m_img.h, IPL_DEPTH_8U);CvRect rect = cvRect(px, py, pw, ph);cvGetSubRect(disp, pMat, rect);IplImage *pSubImg = cvCreateImage(cvSize(pw, ph), IPL_DEPTH_8U, m_img.c);cvGetImage(pMat, pSubImg);cvSaveImage(buff, pSubImg, 0); free_image(copy);
}
3 在image.c 的 draw_detection_v3()中插入一下代码
插在 draw_box_width(im, left, top, right, bot, width, red, green, blue);前一行
int the_class = selected_detections[i].best_class;
float cut_pro = selected_detections[i].det.prob[the_class] * 100;
printf("cut_class :%s ...........class_pro:%.0f \n", names[the_class], cut_pro);
int pre_x = left;
int pre_y = top;
int pre_h = bot - top;
int pre_w = right - left;
save_cut_image(pre_x, pre_y, pre_h, pre_w, i, im, names, cut_pro, the_class);
printf("/************ cut and save over *****************/ \n");
重编译,运行测试图片可自动裁剪图片中的目标到 目录下的results文件夹,图片命名格式为:类名+概率+计数.jpg
4 结果展示
5、问题:
问题:save_cut_image重定义:不同的基类型
解决:在image.h头文件中复制一下定义就好。
yolov3 裁剪识别的目标,并将剪裁的目标图片保存到本地相关推荐
- Android人脸识别Demo竖屏YUV方向调整和图片保存
2019独角兽企业重金招聘Python工程师标准>>> 本博客包含三个常用方法,用于盛开Android版人脸识别Demo中竖屏使用时送入yuv数据,但一直无法识别的情况. 1.首先可 ...
- yolov3为什么对大目标检测不好_【目标检测简史】进击的YOLOv3,目标检测网络的巅峰之作...
YOLOv3的前世今生 2013年,R-CNN横空出世,目标检测DL世代大幕拉开. 各路豪杰快速迭代,陆续有了SPP,fast,faster版本,至R-FCN,速度与精度齐飞,区域推荐类网络大放异彩. ...
- 海思HI3516DV300 实现YOLOv3实时识别
在网上搜寻海思HI3519或者hi3516实时识别除了官方给的SDK 中有Rfcn的实时识别例子之外,其它都是读图片例子.官方例子中给了如下网络参考:Rfcn.Segnet.FasterRcnn.Cn ...
- 【目标检测】56、目标检测超详细介绍 | Anchor-free/Anchor-based/Backbone/Neck/Label-Assignment/NMS/数据增强
文章目录 1.双阶段和单阶段目标检测器 1.1 双阶段目标检测器 1.1.1 R-CNN 1.1.2 SPP 1.1.3 Fast R-CNN 1.1.4 Faster R-CNN 1.2 单阶段目标 ...
- 巧用词语角色:基于目标自适应图的跨目标立场检测
©PaperWeekly 原创 · 作者|梁斌.傅勇昊 学校|哈尔滨工业大学(深圳) 研究方向|情感分析.立场识别 摘要 跨目标立场检测(cross-target stance detection)的 ...
- 人工智能目标检测模型总结(二)——目标检测two-stage模型汇总
two-stage模型:R-CNN.Fast R-CNN.Faster R-CNN 三个模型都是Ross Girshick教授分别在2014.2015年提出来的,在PASCAL VOC 2007数据集 ...
- 单目标跟踪SiamMask:特定目标车辆追踪 part2
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) CNN:RCNN.SPPNet.Fast RCNN.Faste ...
- 目标跟踪介绍(单目标)
Abstract 视觉跟踪技术是计算机视觉领域(人工智能分支)的一个重要课题,有着重要的研究意义:且在军事制导.视频监控.机器人视觉导航.人机交互.以及医疗诊断等许多方面有着广泛的应用前景.随着研究人 ...
- 【目标检测】0、目标检测方法发展综述
引言 目标检测: 目标检测的目标是确定某张给定图像中是否存在给定类别(比如人.车.自行车.狗和猫)的目标实例:如果存在,就返回每个目标实例的空间位置和覆盖范围(比如返回一个边界框). 目标检测的意义 ...
最新文章
- usaco Pollutant Control
- 洛谷P3688/uoj#291. [ZJOI2017]树状数组
- vue+element-ui实现表格的增删改查
- 感知机预测NBA总冠军
- HTML和CSS进阶
- c语言标准课程方案,《C语言程序设计》课程标准方案.doc
- Linux知识汇总 (二)
- VM虚拟机打开其中一个vmx文件没反应问题解决
- 命令行Terminal增加proxy开关
- easy Connect连接成功,但是虚拟IP地址获取失败,而导致网页无法打开
- 全国计算机软考程序员考试大纲(2012)
- 第二十九节 MT-iBeacon基站关于LightBlue软件的使用
- axios http请求报错: Request failed with status code 400
- python+django+mysql健身房管理系统6yx95
- 周末加班,中午吃饭时看到了马总的一条新闻
- 在jsp页面上直接打开pdf文档
- 核壳油溶性CaSe/CdS/ZnS量子点修饰DADA与MPA-CdSe量子点的制备过程
- oracle中varchar2类型的字段长度单位默认是按照byte来定义
- ping命令常用参数
- Shell- 获取ESXI主机虚拟交换机中MAC表