- 博客(97)
- 收藏
- 关注
转载 泛化之美--C++11可变模版参数的妙用
泛化之美–C++11可变模版参数的妙用1 概述C++11的新特性–可变模版参数(variadic templates)是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个数、任意类型的参数。相比C++98/03,类模版和函数模版中只能含固定数量的模版参数,可变模版参数无疑是一个巨大的改进。然而由于可变模版参数比较抽象,使用起来需要一定的技巧,所以它也是C++11中最难理解和掌握的特性之一。虽然掌握可变模版参数有一定难度,但是它却是C++11中最有意思的一个特性,本文希望带领读者
2021-03-10 11:43:45
287
原创 【踩坑记录】opencv 3.4.2版本ffmpeg.dll下载失败
opencv 3.4.2版本,windows上编译后,发现没有ffmpeg的库。查看cmake的记录发现提示ffmpeg下载失败。查看日志文件,发现是从github上下载的。再找到opencv-3.4.2\3rdparty\ffmpeg目录下有一个ffmpeg-download.ps1.in文件,是一个下载脚本,与github上的新版本比较,修改第一行:$url = "https://raw.githubusercontent.com/opencv/opencv_3rdparty/@FFMPEG_BI
2020-08-20 14:31:56
1130
原创 C++引用详解
C++引用详解引用的实现原理const引用右值引用左值,右值右值引用,构造函数及std::move/swap完美转发总结引用的实现原理引用一般的概念称为变量的别名,定义的时候必须初始化绑定一个指定对象,且中途不可更改绑定对象,那么引用的原理是怎样的呢?先看一段简单的代码测试:class SimpleReference {private: char& m_r;}; void PrintSimpleReference(){ std::cout << "Si
2020-08-19 10:22:07
1010
原创 paddle - crowdHuman数据集训练人体识别模型
paddle paddle - crowdHuman数据集训练人体识别模型数据集annotation解析annotation json各项意义转换paddle yolo的数据格式输入哪些数据?数据集annotation解析使用paddle paddle yolo v3的模型,将这个数据集的json内容转换为xml格式。annotation json各项意义参考官网:http://www.crowdhuman.org/download.html但说得并不明确,这里对照图片总结了一下:JSON{
2020-07-27 10:47:27
1961
2
原创 SOAP和RESTful
所谓RESTful规范,我理解为一种面向URI设计逻辑框架,通过增删改查实现业务逻辑的webservice设计规范。有的业务场景无法良好剥离成增删改查的时候应该会有局限性。如同转载文章中说的,是HTTP协议设计初衷的规范。SOAP待添加…以下转自:https://www.jianshu.com/p/49209272bdd5restful规范一 面向资源编程每个URL代表一种资源,URL中尽量不要用动词,要用名词。二 根据method不同,进行不同的操作GET/POST/PUT/DELETE
2020-07-13 17:51:18
518
转载 转:cmake 常用变量和常用环境变量查表手册---整理 .
一,cmake 变量引用的方式:前面我们已经提到了,使用进行变量的引用。在IF等语句中,是直接使用变量名而不通过{}进行变量的引用。在 IF 等语句中,是直接使用变量名而不通过进行变量的引用。在IF等语句中,是直接使用变量名而不通过{}取值二,cmake 自定义变量的方式:主要有隐式定义和显式定义两种,前面举了一个隐式定义的例子,就是 PROJECT 指令,他会隐式的定义_BINARY_DI...
2019-07-17 16:37:36
232
原创 IOS静态库重新封装
IOS静态库重新封装拆分静态库lipo、ar、otool拆分静态库lipo、ar、otool参考:https://blog.youkuaiyun.com/xiaolei251990/article/details/82852388https://blog.youkuaiyun.com/yiyunhzy/article/details/27523251静态库是目标文件的简单链接,使用linux的ar拆分静态库:...
2019-06-18 15:14:51
578
原创 C++ 回调函数的实现,以及function,bind,lambda表达式的使用
C++ 回调函数的实现,以及function,bind,lambda表达式的使用传统回调方法使用函数指针使用接口类使用模板传统回调方法常见的回调函数实现方式。以下转自:https://www.cnblogs.com/kanite/p/8299147.html使用函数指针// CppTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#in...
2019-05-30 15:53:38
3229
原创 opencv cv::imencode vector析构时异常
问题使用opencv cv::imencode,发现其传入参数vector在析构时异常。相同的代码,一个项目没有异常,另一个报异常,环境是VS2013。经查发现可能跟两个项目使用的opencv库在编译的时候的环境有关系。也许是内部分配的空间外部,在报异常的情况下是由释放产生的问题?解决方法在外部分配vector空间,std::vector<uchar> buffer;#...
2019-05-27 15:29:44
1782
原创 程序员能力矩阵,Programmer Competency Matrix
http://sijinjoseph.com/programmer-competency-matrix/mark 一下 TBD
2019-05-22 08:59:12
175
原创 c++ http服务端开发笔记
gsoap,线程池使用及http服务器HTTP基础知识get和post定义区别HTTP基础知识get和post定义在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。GET - 从指定的资源请求数据。查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:/test/demo_form.asp?name1=value1&name2=va...
2019-05-14 11:33:02
1576
原创 各linux系统gcc g++版本下编译及运行问题记录
gcc g++多版本共存和切换,suse及ubuntu及centos下编译gcc g++多版本共存与切换项目在centos下编译的,换到ubuntu中调试,并在suse上发布,遇到的问题做个记录。gcc g++多版本共存与切换由于centos中调试太困难,转移到ubuntu中调试,编译时报错cv::imread(std::__cxx11::basic_string<char, std:...
2019-05-13 11:40:11
1806
原创 C++ linux动态库so导出及使用
C++ linux动态库so导出log4cpp linux下编译安装使用宏定义进行区分windows & linux存在不兼容的函数sprint_s snprintf控制linux动态库的导出函数第一次尝试导出linux动态库,遇到的问题做个记录。log4cpp linux下编译安装在官网上下下来包过后,官网的安装说明不全:./autogen.sh./configuremak...
2019-04-03 15:11:36
16802
1
原创 C++ libwebsockets搭建WebSocket服务端及Http客户端、服务端
websocket和webrtc笔记欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导...
2019-03-30 11:03:33
24096
4
原创 C++通过动态链接库导出类,以及WINDOWS的静态链接库LIB和动态链接库DLL基本区别和使用
WINDOWS下的静态链接库LIB和动态链接库DLL基本区别和使用自己理解和整理的:1、纯静态库LIB,包含所有函数内容和地址,全部编入程序中,是CPP编译出的OBJ文件的简单链接。2、动态库DLL编译生成的lib,lib只含函数入口供编译时静态链接使用(使用Win API loadlibrary动态加载dll可以不用这个lib),DLL含函数内容和地址,运行时加载。3、纯静态库L...
2019-03-14 15:25:48
4043
转载 转:C++内存泄露检查的5个方法
转自:https://www.open-open.com/lib/view/open1425869017857.html一、前言在Linux平台上 有valgrind可以非常方便的帮助我们定位内存泄漏,因为Linux在开发领域的使用场景大多是跑服务器,再加上它的开源属性,相对而言,处理问题容 易形成“统一”的标准。而在Windows平台,服务器和客户端开发人员惯用的调试方法有很大不同。下面...
2019-03-06 14:45:28
254
原创 第一个iOS app开发过程及问题记录
1、真机调试中遇到 the file couldn't be opened because you don't have permissionto view it解决:http://www.cnblogs.com/gaox97329498/p/4734917.html2、目标为真机,编译成功后could not launch "x": Verify the Developer Ap...
2019-02-28 16:55:41
974
转载 转:C++ 引用计数技术及智能指针的简单实现
简单明白,转自https://www.cnblogs.com/QG-whz/p/4777312.html1.智能指针是什么简单来说,智能指针是一个类,它对普通指针进行封装,使智能指针类对象具有普通指针类型一样的操作。具体而言,复制对象时,副本和原对象都指向同一存储区域,如果通过一个副本改变其所指的值,则通过另一对象访问的值也会改变.所不同的是,智能指针能够对内存进行进行自动管理,避免出现悬...
2019-02-26 10:29:10
186
原创 VMware安装mac os及xcode
尝试在VM14\VM12下安装MACVM14中已经安装好,VM12流程一致,只是用的unlocker不一样。其他之后再更新 在VM12中转自https://blog.youkuaiyun.com/icarus666/article/details/79536388,此文关于虚拟化的设置解释不对,VM中这个选项是使虚拟机支持虚拟化的,会降低虚拟机性能:验证在vm12下安装os 10.13的可行性...
2019-02-18 14:40:03
8245
3
转载 转:C++的virtual详解
【转自】http://www.blogbus.com/wanderer-zjhit-logs/161830653.htmlhttps://www.cnblogs.com/yyxt/p/4252782.html类的多态特性是支持面向对象的语言最主要的特性,有过非面向对象语言开发经历的人,通常对这一章节的内容会觉得不习惯,因为很多人错误的认为,支持类的封装的语言就是支持面向对象的,其实不然,V...
2018-12-28 15:55:49
342
转载 转:error while loading shared libraries: xxx.so.x"错误的原因和解决办法
一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如: tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib...
2018-12-27 20:08:06
5327
转载 转:CMakeLists.txt 语法介绍与实例演练
一、Cmake 简介cmake 是一个跨平台、开源的构建系统。它是一个集软件构建、测试、打包于一身的软件。它使用与平台和编译器独立的配置文件来对软件编译过程进行控制。 二、常用命令1. 指定 cmake 的最小版本cmake_minimum_required(VERSION 3.4.1)这行命令是可选的,我们可以不写这句话,但在有些情况下,如果 CMakeLists.tx...
2018-12-25 10:44:05
161
转载 转:Python的struct module
转自: http://www.cnblogs.com/gala/archive/2011/09/22/2184801.html有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体. struct模块中最重要的三个函数是pack(), unpack(), calcsiz...
2018-12-01 11:14:58
242
原创 AGV-麦克纳姆轮总结
基础原理:注意这种分解的安装方式,共有4种安装方式转自:https://blog.youkuaiyun.com/zhaoyuaiweide/article/details/75560257 我们来画个受力示意图吧先来看看前后移动图中红色实线箭头是车轮向前转产生的摩擦力蓝色箭头是车轮向后转产生的摩擦力虚线是分力于是左边的小车就会向前跑,右边的小车会向后跑接下来我...
2018-11-20 16:17:05
10862
1
原创 ModBus-RTU总结
此部分转自网络:Modbus 一个工业上常用的通讯协议、一种通讯约定。Modbus协议包括RTU、ASCII、TCP。其中MODBUS-RTU最常用,比较简单,在单片机上很容易实现。虽然RTU比较简单,但是看协议资料、手册说得太专业了,起初很多内容都很难理解。 所谓的协议是什么?就是互相之间的约定嘛,如果不让别人知道那就是暗号。现在就来定义一个新的最简单协议。例如,协议: “A” -...
2018-11-14 11:45:59
1734
1
原创 AGV-倍福beckhoff TWINCAT2及台达电机、传感器等使用总结
1、安装TWINCAT X642、将蓝屏补丁覆盖到 C:\TWINCAT\DRIVER3、TC SYSTEM MANAGER 连接创建一个demo项目:1、WIN7 32位安装TWINCAT2(只能使用32位系统?64位WIN10无法设置网卡),蓝屏runtime补丁打开system manager-options-show real time ethernet...,然后instal...
2018-11-14 10:10:52
7300
1
原创 python thread多线程使用总结
转自廖雪峰:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832360548a6491f20c62d427287739fcfa5d5be1f000多任务可以由多进程完成,也可以由一个进程内的多线程完成。我们前面提到了进程是由若干线程组成的,一个进程至少有一个...
2018-11-01 11:54:30
3184
原创 python socket简单的服务器端和客户端
import socketL_HOST = "" #local IPL_PORT = 2080 #local portL_BUFSIZ = 255L_ADDR = (L_HOST,L_PORT)S_HOST = "192.168.31.202" #senser IPS_PORT = 8080 #senser portS_BUFSIZ = 255S_ADDR = (S_HOST,...
2018-11-01 10:35:37
4081
转载 线阵相机知识汇总
个人分类: 计算机视觉 线阵相机顾名思义就是取像是成线性的。 它的传感器是成线型的。举个例子: 比如面阵相机的分辨率是640*480就是说这个相机横向有640个像元,纵向有480个像元。而线阵相机分辨率只体现在横向,比如2048像素的线阵相机就是说横向有2048个像元,纵向大多数为1。(RGB相机和TDI相机除外)关于线阵相机的传感器70年代大多数使用的是MOS,而从70年代...
2018-10-31 12:00:08
18992
15
原创 Socket通信总结
转:一、Socket是什么二、一些基本概念三、java socket建立连接的过程 四、Socket 通信示例五、建立通信链路六、服务端代码:七、客户端代码测试图例: 因为项目需要,服务端需要一个SOCKET来接收客户端的请求,好吧,没办法度娘哇,结果很多都是linux的例子,功夫不负有心人啊,终于找到个demo,并且客户端代码详尽,记录之,以便以...
2018-10-31 09:50:08
615
原创 进程、线程基础知识点总结
总体的解释:转自知乎:https://www.zhihu.com/question/25532384/answer/81152571首先来一句概括的总论:进程和线程都是一个时间段的描述,是CPU工作时间段的描述。下面细说背景:CPU+RAM+各种资源(比如显卡,光驱,键盘,GPS, 等等外设)构成我们的电脑,但是电脑的运行,实际就是CPU和相关寄存器以及RAM之间的事情。一个最最基础...
2018-10-29 12:02:43
581
1
原创 opencv使用记录
分离颜色通道,通道混合https://www.cnblogs.com/havendblog/articles/7542225.html mat坐标系与操作像素的四种方法https://blog.youkuaiyun.com/dcrmg/article/details/51843295?utm_source=blogxgwz4https://www.cnblogs.com/phillips/...
2018-10-24 16:54:11
274
转载 转:Linux 程序编译过程的来龙去脉
转自:https://blog.youkuaiyun.com/p23onzq/article/details/81977367大家肯定都知道计算机程序设计语言通常分为机器语言、汇编语言和高级语言三类。高级语言需要通过翻译成机器语言才能执行,而翻译的方式分为两种,一种是编译型,另一种是解释型,因此我们基本上将高级语言分为两大类,一种是编译型语言,例如C,C++,Java,另一种是解释型语言,例如Python...
2018-09-20 15:04:11
182
原创 python运行中修改代码importlib重载模块
无聊测试了下,发现:1.python只import模块一次,在import某个模块后就存在内存中,此时修改该模块没有用2.python3提供 importlib模块,reload方法重新载入模块.3.但是该reload方法有延迟,似乎并不会等reload完毕,直接会继续执行4.在reload后加延迟,起到预期效果,两个py互相调用和修改test2.py:import tes...
2018-09-18 17:34:09
3101
原创 树莓派GPIO使用PWM
GPIO引脚图:注:本表格适用于各版本,并且兼容26Pin的树莓派B,树莓派B为26Pin,其引脚对应于上表的前26Pin。
2018-09-13 14:54:53
5503
原创 全景图拼接openpano使用
参考资料 https://blog.youkuaiyun.com/hc1025808587/article/details/52922308githubhttps://github.com/ppwwyyxx/OpenPano
2018-09-13 10:53:43
3213
原创 树莓派3B+安装raspbian ros opencv笔记
https://blog.youkuaiyun.com/qq_35297619/article/details/75445896 安装opencvhttps://www.pyimagesearch.com/2017/09/04/raspbian-stretch-install-opencv-3-python-on-your-raspberry-pi/ 启动BOOT相关知识h...
2018-09-05 11:59:31
3883
原创 deepfake-faceswap 调试 Tensorflow win10 cuda9.0 cuDNN7.0
pip安装tensorflow-gpu在Python目录\Lib\site-packages\tensorflow\python\platform\build_info.py中有tensorflow对应的NV软件版本号需下载对应版本号安装,否则import报错.可在github上查看release文档对应的版本号,安装特定版本pip install tensorflow==1.2.0...
2018-08-28 15:58:11
3107
原创 ROS设置自启动
自启动方法:1、使用自启动的ros包upstart该包是通过创建一个服务来启动一些基本的launch文件,要是启动多个launch文件,可以通过把多个launch文件写入到一个launch中这样的方法来启动。2、利用ubuntu自带的开机启动文件在开机启动文件rc.local文件中直接写入ros命令来达到开机启动效果 使用ros upstart设置自启动.1.创建一个...
2018-08-16 12:04:12
2041
转载 转: 常用激活函数之— Sigmoid & ReLU & Softmax
1. 激活函数Rectified Linear Unit(ReLU) - 用于隐层神经元输出 Sigmoid - 用于隐层神经元输出 Softmax - 用于多分类神经网络输出 Linear - 用于回归神经网络输出(或二分类问题) ReLU函数计算如下: Sigmoid函数计算如下: ...
2018-08-09 17:09:39
762
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人