- 博客(67)
- 收藏
- 关注
原创 《深入探索c++对象模型》笔记
参考https://www.iteye.com/blog/dsqiu-1669614,大部分摘自书中这本书主要讲的是c++编译器在默默的为我们做什么第一章 关于对象使用class封装之后的布局成本:class并没有增加成本,data members直接内含在每一个class object之中,就像C struct一样。而member functions虽然被包含在class的声明之内,但是不出现在Object之中。每一个non-inline function 只会产生一个函数实体。至于.
2020-05-24 10:38:35
462
原创 mathtype报错 未找到文件mathpage.wll word2016
看了很多博主的方法,对于win10 word2016都不成功,因为在win10中,office的配置文件路径变了!!我自己研究了一下,步骤如下: 在MathType\ Office Support\中复制两个文件,一个是MathType Commands 6 For Word2016.dotm,还一个是WordCmds.dot, 打开word2016,打开文件-->信任中心-->信任中心设置-->受信任位置把这里面第三个路径,startup这个路径记下来,在我的电脑上是这个
2020-05-09 00:27:07
1184
1
原创 用opencv实现yolov4中的mosaic数据增强
简单看了一个yolov4的介绍,mosaic数据增强简单说就是四张图片合一,长宽随机变化。理想的实现是结合图片集和标签集,对单张图片标注过之后,四张合一的图片就不用再标注。这里只做一个简单的实现,仅仅把四张图片随机合一,生成mosaic图片集,后面需要对这个生成的图片标注。c++程序:#include <opencv2/opencv.hpp>#include ...
2020-04-30 23:45:34
4644
2
原创 YOLOv4训练过程显示loss,win10
参考:https://blog.youkuaiyun.com/dz4543/article/details/88075408,https://blog.youkuaiyun.com/qq_34806812/article/details/81459982用darknet训练的时候会显示一个动态loss图,但这个图不适合作为论文中使用。在win10中做loss图和iou图,yolov4和yolov3有区别,用别的博...
2020-04-30 12:10:57
9077
16
原创 yolov4如何计算map
如果用的是AlexyAB版的darknet训练和测试,很简单,训练完后在darknet.exe同级文件夹中运行:./darknet detector map D:/yolov4/darknet-master/cfg/voc.data D:/yolov4/darknet-master/cfg/yolov4.cfg D:/yolov4/darknet-master/backup/yolov4_la...
2020-04-29 20:40:35
5314
6
原创 编译yolov4 window10
windows编译yolov4方法参考 https://github.com/AlexeyAB/darknet中的README文件,有好几种方法,我用的方法是直接在vs中编译的,不需要使用cmake。具体过程如下:时间:2020.4.25环境windows10cuda8.0 cudnn5.1(官方建议cuda10和cudnn7以上,我用cuda8.0和cudnn5.1也...
2020-04-25 19:31:11
3489
9
转载 死锁 哲学家就餐问题 银行家算法
第一节 哲学家就餐问题第二节 什么是死锁第三节 死锁的定义第四节 死锁发生的条件第五节 如何避免死锁 5.1 动态避免,银行家算法(杠杆分配),在资源分配上下文章 5.2 静态避免,从任务代码上避免死锁第六节 死锁的综合治理第一节 哲学家就餐问题假设有五位哲学家围坐在一张圆形餐桌旁,做以下两件事情之一:吃饭,或者思考。吃东西的时候...
2020-04-20 15:56:31
2793
原创 什么是句柄和文件描述符
什么是句柄 句柄就是一个标识符,只要获得对象的句柄,我们就可以对对象进行任意的操作。 句柄不是指针,操作系统用句柄可以找到一块内存,这个句柄可能是标识符,map的key,也可能是指针,看操作系统怎么处理的了。fd算是在某种程度上替代句柄吧;Linux 有相应机制,但没有统一的句柄类型,各种类型的系统资源由各自的类型来标识,由各自的接口操作。 在操作系统层面上,文件操作也有类似于FILE...
2020-04-15 12:47:31
885
原创 linux常用网络分析工具
ping命令ping命令常用于测试源网络主机到目标网络主机的连通性,同时评估网络连接质量。功能:(1)能验证网络的连通性(2)会统计响应时间和TTL(IP包中的Time To Live,生存周期)那么如何验证的呢?(1)ping命令会先发送一个 ICMP Echo Request给对端(2)对端接收到之后, 会返回一个ICMP Echo Reply(3)若没有返回,...
2020-04-13 00:44:28
1125
原创 TensorFlow和keras基础使用
在jupyter nootbook中编辑和运行一 TensorFlow步骤:一。import tensorflow as tf二。载入数据(数据分批)三。定义placeholder(之后传入训练集)x = tf.placeholder(tf.float32, [维度], name = "")四。定义结构和参数(w,b)写出预测函数z = (激活函数(...
2020-04-12 23:55:28
659
原创 好的c++开源项目学习
项目由简入难,来自一位程序员前辈的推荐1.json数据转换工具C语言cjson网址:https://sourceforge.net/projects/cjson/2.1990年写的小服务器端,非常老,但是还是能学到很多东西Tinyhttpd网址:https://github.com/EZLippi/Tinyhttpd/blob/master/httpd.c3.自己实现的s...
2020-04-12 23:42:39
389
原创 g++基础使用以及如何生成静态链接库和动态链接库
参考:https://blog.youkuaiyun.com/woshinia/article/details/11060797?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task.cpp .c ->预处理 -> 编译成汇编语言 ->汇...
2020-03-13 18:03:18
1824
1
原创 c++ extern关键字和全局变量
extern 作用:用于声明变量前面,表示这是声明而不是定义,具体的定义在别的文件中。int a; //这是定义int a = 1; //这也是定义extern int a; //这是声明extern int a = 1;//这是定义,extern没用了。一个变量只能定义一次,可以声明多次。想让一个变量变成全局变量该怎么做?即:想在一个文件中定义一个全局变量,然后在其...
2020-03-11 20:17:40
1284
原创 c++ string、int、char数组互相转换(方法简单)
一。数字--string(1)数字转string(c++11有的新方法)例:int i = 9;string str = to_string(i);(2)string转数字stoi();stol();stoul();stoll();stoull();stof()函数原型:int stoi (const string& str, size_t* ...
2020-03-08 23:50:46
1098
原创 c++关键字static的作用
一。面向过程设计时的static(1)静态变量 静态变量只初始化一次,未初始化的静态变量会默认初始化为0。静态全局变量: 静态全局变量只在本文件可见,外部文件无法访问静态局部变量: 而静态局部变量只在定义的作用域内可见,但他们的生存周期都是整个程序运行时期。(2)静态函数 静态函数主要是起到函数的...
2020-03-07 15:55:11
226
原创 win10添加环境变量的时候提示环境变量太长
解决方法第一:新建一个环境变量,名字随便,如path1,然后在里面添加环境变量路径,然后在path中添加%path1%。有的时候这个方法不管用,不知道是不是扩展的这个也太长的原因,这时可以用解决方法二解决方法二:win+R,输入regedit,打开注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Ma...
2020-03-07 15:44:59
1952
转载 操作系统内存管理中的分段、分页简单理解
作者:codinghuang链接:https://www.zhihu.com/question/50796850/answer/522734117来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要理解分段和分页,那么得理解为什么会出现分段和分页的技术首先,这两个技术都是为了利用和管理好计算机的资源--内存。在分段这个技术还没有出现之前,程序运行是...
2020-03-06 12:24:12
426
原创 yolov3目标识别在工业检测中的应用
本篇博客记录了一个深度学习在工业领域的应用项目。功能是检测视野范围内的零件总数,如果数量少于设定的标准数量,则报警,如果放置了不同型号的零件,同样需要报警。常规方法是用传统的图像处理的模板匹配,但使用halcon和opencv的模板匹配效果都不好,于是尝试用深度学习目标检测。效果如下图所示:识别率超过99%(可以获取到目标的个数,类别,概率,矩形框位置,可以适应一定的光照、角度、大小变化)...
2019-12-02 11:11:41
6595
8
原创 使用yolov3训练自己的数据集(c++ vs2017 win10)
参考:https://blog.youkuaiyun.com/la_fe_/article/details/81564420https://blog.youkuaiyun.com/qq_31442743/article/details/81087346如果是在已有的基础上继续训练数据集,参考:https://mp.youkuaiyun.com/postedit/1029646481.准备好数据集,训练图片、验证图片和他们...
2019-11-12 12:00:45
1316
原创 mfc修改控件字体和大小、控件字体的颜色和背景颜色
1控件字体和大小:(1)new一个字体对象,,CFont * f; //设置字体,在构造函数中new出来(2)创建字体(包括大小和字体样式)f->CreateFont(30, 10, 0, 0, 700, FALSE, FALSE, 0, DEFAULT_CHARSET, DEFAULT_CHARSET,CLIP_DEFAULT_PRECIS, DEFAULT_QUALI...
2019-11-12 11:09:40
1750
原创 yolov3如何在之前训练的基础上训练
很多博主的文章里提到想在之前的基础上训练,在训练最后一句加上预训练模型就可以,通常是./darknet detector train cfg/voc.data cfg/yolov3-voc.cfg scripts/darknet53.conv.74最后一个darknet53.conv.74是下载下来的预训练模型。但是我们训练自己的模型的时候,得到的训练文件是一个.weights文件...
2019-11-07 23:03:54
11370
8
原创 mfc如何干净的删除控件
参考:https://blog.youkuaiyun.com/b2292486308/article/details/53695662一:手动删除1.首先确定控件有哪些相关的变量和函数;打开.rc2文件在里面删除对应的控件图标;2.打开主对话框头文件;(一般类向导生成的函数和变量定义都在头文件的最后一个“public”l里);找到生成的变量定义和函数定义将其删除;3.打开对话框源文件...
2019-07-16 00:08:27
5870
原创 opencv报错:由于找不到opencv_highgui2411d.dll,无法继续执行代码。重新安装程序可能会解决此问题。
我在vs2017上配置好opencv2.4.11之后,在vs中运行,直接运行没问题,但调试运行就会报错。然后我在vs2013中运行,没有报错。原因可能是opencv2.4.11和vs2017兼容性有点问题,在opencv目录下,见下图,可以看见只有vc10(对应vs2010),vc11(对应vs2012),vc12(对应vs2013),没有对应vs2017的vc15,所以,最好不要在v...
2019-07-15 19:40:23
4794
原创 安装yolov3 win10 cuda8.0 vs2017
参考https://blog.youkuaiyun.com/dz4543/article/details/85255267https://blog.youkuaiyun.com/sinat_35907936/article/details/82017127时间:2019.6.5环境windows10cuda8.0 cudnn5.1(cuda9.0以上和vs2017不兼容)vs2017(实际是...
2019-06-05 17:39:55
1593
3
原创 编译yolo报错错误 MSB3721 The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\n
错误 MSB3721 The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe" -gencode=arch=compute_30,code=\"sm_30,compute_30\" -gencode=arch=compute_75,code=\"sm_75,compute_7...
2019-06-05 17:31:47
15930
12
原创 在mfc中的picture控件上显示图片
程序如下只需调用该函数ShowMatImgToWnd(CWnd* pWnd, cv::Mat img)就可以将所需的图片显示在picture控件上了,其中CWnd* pWnd参数中输入picture控件的句柄,可使用GetDlgItem(IDC_picture)等方法获取(IDC_picture为picture控件的ID),Mat img参数即为你要显示Mat格式的图片void ShowMat...
2019-05-20 12:21:20
3941
原创 网络基础(ip 子网掩码 端口 DNS 网关)
ip地址地址格式为:IP地址=网络地址+主机地址 或 IP地址=网络地址+子网地址+主机地址A类IP:从0.0.0.0 – 127.255.255.255B类IP:从128.0.0.0 – 191.255.255.255C类IP:从192.0.0.0 – 223.255.255.2551. A类IP地址 一个A类IP地址由1字节的网络地址和3字节主机地址组成,网...
2019-03-26 15:10:43
806
原创 有道云笔记导入csdn的方法
在有道云笔记中选择导出成word格式,然后打开word,复制,然后在csdn中粘贴。这样图片可以上传成功,不会出现图片不显示的错误。
2019-03-26 07:52:47
2758
2
原创 linux配置IP地址的四个方法(centOS)
1 ifconfig命令临时配置 这种方法是临时的,用的不多2 setup工具永久配置redhat专有的工具。命令setup,然后选网络配置设置完加一句 service network restart3 修改网络配置文件永久配置(我用的centOS,别的版本文件的位置不太一样)在这个文件里面修改,第一个文件修改ip地址等,第二个文件修改DNS...
2019-03-25 23:12:37
2087
原创 linux虚拟机联网方法(桥接和NAT)
一 桥接配置正确的ip地址,setup。因为选择桥接的方法,ip地址要和主机的ip地址不同,而且要在一个网段。要连外网的话要配置网关和dns(子网掩码、网关、dns和主机的一样就行,主机的网络配置信息可以在网络和共享中心查看)。如何修改虚拟机ip地址参考:https://blog.youkuaiyun.com/sinat_41852207/article/details/88808933c...
2019-03-25 22:58:26
13213
1
原创 桥接 NAT和Host-only区别
虚拟机又三种网络配置选择1 桥接(推荐这个)把虚拟机当成局域网中一个真实的电脑,利用真实网卡通信优点:可以访问局域网内的其他电脑,也可以访问外网缺点:多占用一个ip地址2 NAT利用虚拟网卡(VMnet8)通信,可以访问外网,缺点:不能访问局域网内的其他电脑3 Host-only利用虚拟网卡(VMnet1)通信,只能和主机通信...
2019-03-25 22:48:59
301
原创 win10C盘清理方法汇总
总结了一下6个c盘清理方法,平时清理用前三个方法中的一个或两个就足够了。深度清理用后三种方法,这几个方法之间没有重复性,可以都用上。几个月清一次就够了,一般可以清出几个g甚至几十个g。1.第一个大家都会,右键c盘--属性---磁盘清理----系统文件清理。不是深度清理的话,平时用用这个就够了2.杀毒软件 防护软件一般都有垃圾清理功能,我用的火绒,很好用。3.没有杀毒软件的可以去官网装一...
2019-03-13 16:40:49
2705
原创 c++实现动态变长数组
概述:自己封装一个数组MyArray,添加一些方法,改成动态变长数组(数组容量不固定,当发现size==capicity时,将capicity扩大两倍,当size==capicity/4时,将capicity缩小两倍。size为数组当前元素个数,capicity为数组最大容量) 头文件:#pragma once#ifndef MYARRAY#define M...
2019-03-12 08:34:30
3036
原创 OpenCV Error: Requested object was not found (Requested blob “data” not found........
用opencv dnn模块调用caffemodel时OpenCV Error: Requested object was not found (Requested blob原因:deploy.prototxt有问题,第一层本来是这样:layer {name: "data"type: "Input"top: "data"input_param { shape: { dim...
2019-03-06 20:42:02
5213
原创 《人月神话》读书笔记(简略版)
计算机史上,推荐最多的两本书《代码大全》《人月神话》第一章 焦油坑从程序到编程系统产品是9倍的关系编程有苦也有乐乐:创造事物,不断学习苦:人们通常希望项目快结束的时候收敛的快一点,但结果是越到最后,收敛越慢。第二章 人月神话(人月:一个人干一个月,三个人干四个月就是12个人月)人月是一个危险的带有欺骗性的神话,人员和时间的关系不一定是人越短,项目完成时间越...
2019-03-06 20:36:06
392
原创 传统的机器学习目标检测和深度学习的目标检测
概述:目标分类:给一张图片,分类目标检测:给一张图片,找到目标,并用矩形框画出分类是对一幅图整体,检测是更进一步,找出一幅图中一部分。一般检测以分类为基础,如用滑动窗口搜索,然后用分类器分类是目标还是背景,或多分类(这是回归和分类的区别)。开发流程:项目预研 算法选型 数据集下载和打包 环境搭建 模型训练 模型测试 模型优化传统的机器学习目标检测和深度学习的目...
2019-03-05 19:51:31
11429
原创 用caffe训练自己的图片,完成图片分类
简述过程:1.得到图片数据.2.利用python程序生成train.txt和test.txt 这两个txt里面每行是图片名+空格+类别(用数字表示类别)3.用脚本转化为lmdb格式4.修改模型参数,prototxt文件,训练,得到caffemodel5.在opencv中运行一个C++程序调用训练好的模型,并输出测试结果(图片 类名)详细步骤:http...
2019-03-05 19:29:51
933
原创 在vs中用opencv3.3DNN模块调用训练好的caffe模型做分类
如何用caffe训练分类器参考这篇博客https://blog.youkuaiyun.com/sinat_41852207/article/details/88194744需要: caffe训练好的模型和对应的测试配置文件deploy.prototxt,一个txt文件,里面有图片名一个label.txt文件,里面写分类名,我是二分类,所以就两个最后把分类好的图片放到不同的文件夹下,便于检...
2019-03-05 19:26:59
1243
2
原创 使用caffe faster-rcnn训练自己的数据集常见bug
出现的bug:1:运行训练脚本后报错:ImportError: No module named _mask参考:https://blog.youkuaiyun.com/sinat_41852207/article/details/879359552:ImportError: numpy.core.multiarray failed to import原因 numpy版本太低 ,可以执行该语句p...
2019-02-26 15:42:39
327
原创 ImportError: No module named _mask
运行faster-r-cnn训练脚本后报错ImportError: No module named _mask解决方法:下载_mask.pyd文件https://download.youkuaiyun.com/download/dongchong01/10271259,然后放到py-faster-rcnn\lib\pycocotools里面,然后就好了!!! ...
2019-02-26 15:37:12
1747
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人