- 博客(99)
- 资源 (7)
- 收藏
- 关注
原创 如何处理C++工程中的C风格代码
2. 避免使用printf(),sprintf(), gets()等1. printf()该函数需要一系列无类型参数,是类型不安全的3. 使用标准库的容器代替C风格的数组C的写法:int array[5] = {1,2,3,4,5};缺点:1. C数组在程序中只能作为指向首元素的指针被传递,由于是指针,存在不安全性问题2. C数组及其大小没法形成一个聚合的单元,传递数组时没法知道知道其大小C++的写法:std::array<int, 5> array{1,2.
2020-08-30 19:05:59
667
原创 嵌入式开发(二):开发板配置(自用)
1. IP地址修改vi /etc/init.d/S92_norco2. 用户名root, 密码空3. samba安装与配置(下面xxx为用户名,根据实际而定)(1)安装sambasudo apt-get install samba samba-common(2)创建一个共享目录:mkdir /home/xxx/work(3)设置权限chmod 777/home/xxx/work(4)添加samba用户名sudo smbpasswd -a xxx(5)配置sambas.
2020-08-03 23:09:34
1907
原创 关于fopen与fwrite的追加模式澄清
C函数fopen中可对打开的文件设置多种读写模式,需要说明下fwrite的追加模式是怎么回事,网上很多文章都说的不清不楚,只说a是追加,w不能追加,其实很多误解,这里需要澄清:w:表示fopen文件时会清空掉原文件(如果存在)的信息,并重新写入,在不fclose文件的情况下,多次fwrite也是追加写入到文件末尾的,不会覆盖之前fwrite的内容。a:表示fopen文件时会保留原文件(如果存在)的信息,并追加到末尾写入,每次fwrite写入到文件末尾。其他说明:w: 文本写入,只写w+:可读可写.
2020-08-03 23:03:14
14710
1
原创 嵌入式开发(三):海思Hi3559a交叉编译live555
网上很多关于交叉编译live555的教程,但是live555是经常更新的,按照之前的教程来,没法编译成功,live555版本:2020年7月10日下载的latest版本:live555-latest.tar.gz1. 注意这个版本使用到openssl,因此需要提前安装openssl, 我这里安装到目录/usr/include下2. 安装openssl后,将openssl/lib下的.a .so文件拷贝至/opt/hisi-linux/x86-arm/aarch64-himix100-linux/
2020-08-01 19:50:28
2582
原创 Windows16K 8k限制
Windows桌面最大16K(1024x16)的限制是指:显卡组成单一逻辑屏后,一张显卡的水平(或垂直)分辨率不能超过16K。并不是指桌面总分辨率不能超过16K。因此可以用2张显卡的方式(每张显卡不超过16K),组成一个超过16K的桌面。另外一个16K的限制就是:上任何信号,包括高分图,Vlink虚屏,信号源的水平或垂直分辨率不能超过16K。以上16K的限制不限操作系统,包括Win7, Win8, Win10还有一个8K(16x2014)的...
2020-07-07 10:11:16
3838
原创 Python处理二进制流(二)
将生成stuct字串封装为一个函数data2Struct,废话不多数,如下:import structimport numpy as npimport cv2def str2St(bStr): return str( len(bStr)) + 's'def data2Struct(*args): st = '' list = [] a = args[0][0] b = args[0][1] for i in range(len(args)):
2020-06-21 15:06:58
998
原创 Python处理二进制流(一)
使用struct来处理,废话不说,直接上代码import structimport numpy as npimport cv2def str2St(bStr): return str(len(bStr)) + 's'name = 'picture.jpg'name_bin = name.encode('utf-8') #转二进制img = cv2.imread(name) #ndarray类型,按bgr顺序排序,uint8类型img_bin = img.tostring() #
2020-06-21 14:27:58
3315
原创 ASCII, Unicode,UTF8, GBK字符编码解析
UTF:Unicode Transformation Format,通用转换格式 单个字符的字节数 英文字节数 汉字字节数 ASCII 1 1 -- Unicode 可变,2个或以上 2 2 Unicode定义了符号编码,但没有定义怎么存储 UTF8 可变,1至4...
2020-06-20 20:30:42
313
原创 face_recognition的坑
网上很多关于face_recognition的使用介绍,但好像没多少篇文章深入研究过这个库的API的使用,这个库有几个坑:1.compare_faces这个接口返回一个True或False的列表,但比对的known_face_encodings是有多个的话,会返回多个True,这个接口是没法知道哪个才是最匹配的,要知道哪个最匹配,得用face_distance这个接口2. 当要识别的人,不在known_face_encodings里面的时候,compare_faces和known_face_en.
2020-06-20 19:48:27
2214
3
原创 C/C++与Python通信方式浅析
在一项目中需要C/C++与Python之间做交互,C/C++为网络层,Python为数据计算处理层,有多种方式可选:1. C/C++里调用Python脚本函数优点:实现起来最简单,稳定,可靠缺点:迁移运行环境后,需要安装重新部署Python脚本的Python运行环境,非常麻烦,这在终端型软件(运行于客户电脑)来说,完全不可接受由于我要做的软件需要运行于客户电脑,不可能还要配置客户电脑的Python运行环境,因此以上方式放弃。2. 将Python打包成独立进程,C/C++于Python实现进程
2020-06-14 11:38:25
2991
原创 VS2015源代码中文编码问题
VS2015中文版对文件的默认编码格式为 GB2312中文系统中控制台的的默认编码格式为GBK(包含及兼容GB2312)因此在VS2015中文版的cpp文件中输出printf("中文")在控制台输出中不会乱码,但如果cpp文件是以utf-8编码格式编辑并保存的,编译生成后,在控制台中输出会乱码,如下所示:...
2020-03-13 19:26:06
3596
原创 管理者读书笔记之陈春花《管理的常识》
第1章 什么是管理管理资源最重要的是人力资源和财力资源。管理就是让一线员工得到并可以使用资源(人力和财力资源)(p.7)管理所要做的就是让人没有机会犯错(p.10) 从经济学的角度,认识自私和贪婪的;从行为学的角度,认识懒惰的。管理就是分配权力、责任和利益,必须把权力、责任和利益等分,成为一个等分三角形。泰勒在《科学管理原理》一书中,清晰地阐述力获得劳动生产率最大话的四条原理: 科学...
2020-03-08 16:42:22
3766
原创 管理者读书笔记之《无印良品管理笔记》
1. 如何培养领导者必备的指派工作到能力?光凭一句“这个工作就交给你啦”便让部下随心所欲地发挥,这样存粹是撒手不管,放任而已,这里存在一个巨大的陷阱。 所谓到指派工作,并不是把工作分配给部下,而是必须领导部下成功完成工作。因此,当总工作的成果完全掌握在部下手中时,代表主管是一个失职的领导者。 指派工作最重要到就是传达方式。在指派工作到时候,一定要在一开始就明确告知部下三件事: 那项工作到...
2020-03-07 13:39:17
1923
2
原创 QT disconnect
disconnect() 等同于disconnect(this, 0, 0, 0), 删除作为信号的this与任何槽的关联disconnect(receiver) 等同于disconnect(this, 0, receiver, 0), 删除this与作为槽的receiver的关联object->disconnect() 即object->disconnect(object->...
2019-11-19 12:15:28
2458
1
原创 海思NNIE开发(一):海思Hi3559AV100/Hi3519AV100 NNIE深度学习模块开发与调试记录
海思NNIE开发系列文章:海思NNIE开发(一):海思Hi3559AV100/Hi3519AV100 NNIE深度学习模块开发与调试记录海思NNIE开发(二):FasterRCNN在海思NNIE平台上的执行流程(一)海思NNIE开发(三):FasterRCNN在海思NNIE平台上的执行流程(二)海思NNIE开发(四):NNIE模块读入JPEG图片或视频海思NNIE开发(五):基...
2019-10-20 21:14:37
35490
54
原创 boost asio用法总结(自用)
参考文章https://mmoaay.gitbooks.io/boost-asio-cpp-network-programming-chinese/content/Chapter1.html1. 头文件目录L:\boost_1_53_02.头文件#include <boost/asio.hpp>#include <boost/thread.hpp&g...
2019-10-13 21:01:38
2216
原创 GIT操作:虚拟机Ubuntu下使用git clone公司域代码
1. 虚拟机通过桥接方式连接到主机,确保Ubuntu有独立的公司域IP地址2. 将winddows下的id_rsa文件拷贝到虚拟机下的~/.shh目录chmod 700 ~/.schmod 700 ~/.ssh/id_rsa...
2019-10-10 19:17:40
459
原创 5G产业(二):5G的应用场景8成用于工业互联网
5G的主要应用场景是工业互联网(即物联网),而非普通消费者。(1)4G已满足我们手机用户的绝大多数需求5G的三大特性:高网速,低延时,大连接。目前4G已满足我们手机用户的绝大多数需求,可能有需求的是年轻人玩手游的用户,对于网速和延时有较高要求,但目前使用4G也是足够的。目前使用4G看网络视频,例如抖音和直播,基本都是马上就可以看,不需要等待。所以从高网速和低延时的角度(5G的低延时是指移动终...
2019-09-30 10:16:03
3498
原创 5G产业(一):5G超低延时噱头?
1. 5G与4G的技术对比5G技术是对4G技术的一次全面革新,在速率、连接数、时延三方面有巨大的改善。如下表格:5G与4G的技术对比(理想值) 速率 时延 连接数 (每平方公里的最大连接数) 移动性 4G 100Mbps(12.5MB/s) 30-50ms 1万 350KM/h 5G 10Gbps(...
2019-09-29 10:35:10
4867
原创 视频编解码(三)YUV420,YUV420p,I420,YV12等格式解析
YUV444:Y,U,V三个分量是4:4:4,也就是1:1:1的关系YUV422:Y,U,V三个分量是4:2:2的关系,在水平方向上,每两个Y分量共用1个U,V分量YUV420:Y,U,V三个分量是4:1:1的关系,每四个Y分量共用1个U,V分量如下图所示:YUV420根据UV分量在计算机中存储的顺序不同????️可分为YUV420p与YUVspYUV420p(即I420):先存放U,再存放V...
2019-09-14 12:37:45
3622
1
原创 深度学习(六):Ubuntu下Darknet yolov3运行速度比较
DarkNet+Yolov3: https://pjreddie.com/darknet/yolo/测试系统平台:操作系统 Ubuntu 16.04 64bit CPU Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz 4核心 内存 8GB 显卡 Nvidia Quadro P4000, 8GB显存,256bit ...
2019-09-12 18:08:25
1526
原创 深度学习(五):Ubuntu下Caffe-RRPN模型环境搭建与运行
1. Ubuntu下的Caffe环境配置按照以下两篇博文来安装博文1:Ubuntu16.04 Caffe 安装步骤记录(很详尽!)博文2:Ubuntu16.04 Caffe 安装步骤记录(超详尽)两篇博文的主要区别是前者增加了安装显卡驱动的步骤,而后者增加了安装pycaffe的步骤,本文的安装步骤集合了两者,即安装显卡驱动及pycaffe。安装期间还出现了其他以上两篇博文没有的问题,如...
2019-09-10 20:33:38
427
原创 Python学习(一):pip 命令汇总
Linux下pip的安装:sudo apt-get install python-pip常用pip命令 命令 解释 pip list 查看当前已安装的python包及其版本 pip install --user xxx 避免安装xxx时无法写入某些路径 pip install --upgrade xxx 升级某个xxx python包,可以使用通过使...
2019-09-10 19:59:42
290
原创 常用Linux命令汇总
1. 文件、目录操作绝对路径:是以根目录(” / “)为起点的完整路径相对路径:是你当前的目录(” . “)为起点的路径~代表你的/home/用户名目录,假设你的用户名是x,那么~/就是/home/x/代表根目录-代表上一次的目录..代表当前目录的上一层目录回到上一层目录:cd ..回到根目录:cd /切换到上一次的目录 :cd -查看文件属性:stat sample_nnie_ma...
2019-09-10 13:45:41
416
原创 视频编解码(二):海思VDEC模块视频解码代码解析
这里主要讲解海思sample\common\sample_comm_vdec.c文件中SAMPLE_COMM_VDEC_SendStream函数的代码。SAMPLE_COMM_VDEC_SendStream是一个线程。代码段1://cStreamFile为视频文件完整路径 snprintf(cStreamFile, sizeof(cStreamFile), "%s/%s", ...
2019-09-04 20:16:38
9892
4
原创 Windows 虚拟内存理解
这篇文章写于2015年,之前仅作为私人文档,现在公开如下。1. 问题Windows 32位系统中,虚拟内存地址空间可以达到4GB,且每个进程都可独享虚拟内存,其中内核代码可以访问整个4GB虚拟地址空间,用户态只能访问2GB虚拟地址。问题:如果一个台PC中,内存很小,例如只有1GB,如果有多个用户进程都想访问到2GB内存空间,即多个进程想访问的内存空间的总和远超过1GB的内存空间,这如何...
2019-09-02 22:04:45
1562
2
原创 视频编解码(一):ffmpeg编码H.264帧类型判断
本文主要讲述ffmpeg编码过程中是如何设置I帧,B帧及P帧的,以及如何通过代码判断帧类型。之前看过很多网上的文章,讲述如何判断I帧,B帧,P帧,然而都是停留在H.264官方文档中的定义,如果不结合ffmpeg,就仿佛纸上谈兵,有点不切实际,而且很多文章将I帧与I Slice混为一谈,将I Slice当做I帧,这其实是错的。本文就结合ffmpeg讲解ffmpeg中是如何编码各种帧类型的,并纠正...
2019-09-02 20:24:26
11776
5
原创 海思NNIE开发(五):基于Hi3559AV100的FasterRCNN、RFCN、SSD、Yolov2、Yolov3性能综合测评
系列文章海思NNIE开发(一):海思Hi3559AV100/Hi3519AV100 NNIE深度学习模块开发与调试记录海思NNIE开发(二):FasterRCNN在海思NNIE平台上的执行流程(一)海思NNIE开发(三):FasterRCNN在海思NNIE平台上的执行流程(二)海思NNIE开发(四):NNIE模块读入JPEG图片或视频海思NNIE开发(五):基于Hi3559AV...
2019-08-26 19:20:24
12074
22
原创 海思NNIE开发(四):NNIE模块读入JPEG图片或视频
系列文章海思NNIE开发(一):海思Hi3559AV100/Hi3519AV100 NNIE深度学习模块开发与调试记录海思NNIE开发(二):FasterRCNN在海思NNIE平台上的执行流程(一)海思NNIE开发(三):FasterRCNN在海思NNIE平台上的执行流程(二)海思NNIE开发(四):NNIE模块读入JPEG图片或视频海思NNIE开发(五):基于Hi3559AV...
2019-08-26 15:49:02
8638
8
原创 深度学习(四):目标检测网络模型数据输入层是如何做图片分辨率缩放的
在卷积神经网络中往往需要对输入图像做缩放,那么是怎么做做缩放的,是直接长宽都缩放到目标长宽,还是按照某种的比例来做呢?以FasterRCNN的Caffe版本(https://github.com/rbgirshick/py-faster-rcnn)为例,其缩放方式如下:例如:这个步骤无论是训练阶段还是推理阶段都采用。在config.py文件中中定义了目标分辨率大小,即短边的...
2019-08-24 16:50:56
3828
原创 设计模式(一):6大设计原则
1. 单一职责原则规则应用:类与接口的功能、职责应该单一,不要将过多的功能与职责都写在一个类、一个方法里。2. 里氏替换原则解释:父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能根本就不需要知道是父类还是子类。但是反过来就不行了,有子类出现的地方,父类未必就能适应。(1)子类必须完全实现父类的方法即父类的方法的功能,子类都应该有。不能出现...
2019-08-03 16:28:23
251
原创 海思NNIE开发(三):FasterRCNN在海思NNIE平台上的执行流程(二)
系列文章海思NNIE开发(一):海思Hi3559AV100/Hi3519AV100 NNIE深度学习模块开发与调试记录海思NNIE开发(二):FasterRCNN在海思NNIE平台上的执行流程(一)海思NNIE开发(三):FasterRCNN在海思NNIE平台上的执行流程(二)海思NNIE开发(四):NNIE模块读入JPEG图片或视频海思NNIE开发(五):基于Hi355...
2019-08-01 19:21:56
9229
10
原创 海思NNIE开发(二):FasterRCNN在海思NNIE平台上的执行流程(一)
海思NNIE开发系列文章:海思NNIE开发(一):海思Hi3559AV100/Hi3519AV100 NNIE深度学习模块开发与调试记录海思NNIE开发(二):FasterRCNN在海思NNIE平台上的执行流程(一)海思NNIE开发(三):FasterRCNN在海思NNIE平台上的执行流程(二)海思NNIE开发(四):NNIE模块读入JPEG图片或视频海思NNIE开发(五...
2019-07-30 21:23:20
11775
7
原创 嵌入式开发(一):嵌入式开发新手入门
本篇文章整理下嵌入式开发中一些入门的基础技能,都是根据以往的工程经验整理,适用于之前没做过嵌入式开发的新手。嵌入式开发流程一般如下,一般是在PC机的Windows系统下安装Ubuntu虚拟机,搭建嵌入式开发环境及交叉编译环境,开发完成后,编译得到bin文件,然后在Windows下将bin文件通过串口或网络下发到嵌入式板卡,程序在嵌入式板卡上运行。1. RS232串口接孔图解串...
2019-07-26 15:54:18
102959
11
原创 深度学习(三):卷积神经网络经典模型图示
以下神经网络模型图示均为本人学习过程中用PPT画的流程框图。1. LeNet(Y.Lecun,1998)模型2. AlexNet(Alex.K, 2012)模型3. VGGNet16\VGGNet19模型4. GoogleNet Inception模型Inception5. FasterRCNN目标检测模型6. SSD目标检测模...
2019-07-24 15:28:58
12695
1
原创 Caffe学习(十):Caffe中Solver、Net、Layer、Blob的构建流程
以训练流程的构建为例:首先在caffe.cpp的train()中调用caffe::SolverRegistry<float>::CreateSolver(solver_param): shared_ptr<caffe::Solver<float> > solver(caffe::SolverRegistry<float>::C...
2019-07-22 11:57:33
685
原创 深度学习(二):深度学习与神经网络学习笔记(手记)
下面的照片顺序可能与当时学习记录的顺序不一致。1. 感知机模型,CNN模型的前身:2. sigmoid激活函数:3. 神经网络的前向传播与反向传播计算过程例子:4. 神经网络的前向传播与反向传播计算过程例子(续):5. Relu、Softmax, Sigmod激活函数,mnist 、cifar10 CNN模型,以及Keras开发平台模型类型:6. Batc...
2019-07-19 11:29:35
538
原创 Caffe学习(八):Windows下编译及调试Debug版Caffe
Caffe 版本:https://github.com/Microsoft/caffe前期Caffe安装及Release版编译步骤参考:https://blog.csdn.net/AManFromEarth/article/details/80212554https://blog.csdn.net/zh8706/article/details/945534211. 检查工程所缺依赖...
2019-07-16 16:07:43
1421
VSS使用手册(比较详细)
2009-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅