自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 资源 (14)
  • 收藏
  • 关注

原创 vscode远程开发-调试模式下attach远程进程提示管理员权限失败的问题

vscode 远程开发 附加进程

2022-06-16 11:18:35 1882 2

原创 自己动手网络框架(四)--应用层

占坑

2021-08-09 11:14:40 190

原创 自己动手网络框架(三)--协议层

占坑

2021-08-09 11:13:59 236

原创 自己动手网络框架(二)--通信层

占坑

2021-08-09 11:13:20 162

原创 自己动手网络框架(一)--概述

自己做C++开发已经很多年了,C++不像其他语言有很多现成的框架,基本上C++都要自己使用第三方库造轮子。造轮子主要在业务流程、网络、数据库三个方面。今天想先把网络解决了,为以后不用造轮子做准备。 网络分为三层:通信层、协议层、应用层。通信层多种多样,有用操作系统原生网络类实现的,有用第三方网络库实现的(例如Boost.Asio、ZeroMQ等),暂时先用Boost.Asio,这个比较熟悉、简单、跨平台、可以异步,以后不适用了,可以随时换成其他网络库。协议层的话,一般是自定义协议(例如字节...

2021-08-09 11:12:36 178

原创 在线多人游戏开发(一)

最近想自己开发个在线多人的小游戏,看能不能开拓下职业生涯,顺便赚点外快。目标是多人在线手游,现阶段只做安卓端,不考虑苹果(主要是没苹果。。。而且苹果开发成本高,先忽略)。采用unity3d...

2021-06-12 13:59:48 1293 3

原创 360全景开发(二) 鱼眼摄像头校正

鱼眼摄像头校正有很多方法,这里取棋盘法,因为opencv自带这个方法。棋盘法是将一块类似国际象棋的黑白棋盘放到摄像头的前面,然后调用opencv获取棋盘上的角点,算出图像的相关转换矩阵,这样以后这个摄像头的图像就可以直接通过转换矩阵进行校正了。本文参考了网友的方法:https://blog.csdn.net/weixin_39608351/article/details/95178269...

2020-02-22 15:17:00 4277

原创 360全景开发(一)

自己车上装了个360全景,但不知是安装调试的问题,还是APP开发的问题,拼出来的360全景部分地方有畸变,拼接缝隙明显,额外功能(例如ADAS)没有,果然便宜没好货。。。恰好最近在学图像处理,所以看不能自己实现360全景,并且看能不能添加ADAS功能(估计这个有点悬)。360全景是由4个摄像头(前、后、左、右)实时拼接而成,摄像头都是无光鱼眼摄像头,方便获取更多的图像,不过这摄像头的无光效果真...

2020-02-22 14:52:50 1932 1

原创 人脸识别(五)

源码位置:https://github.com/comhaqs/face_find.git 分支: develop_libfacedetection之前的人脸检测使用的是opencv的人脸检测功能,识别率低,基本无法使用。网上查找的时候有几个库,一个是MTCNN相关库,使用的是鹅厂的ncnn,不过看issues里是说ncnn只针对arm处理器做了优化,PC端效率低,所以就没有测试。另一个是l...

2020-01-08 13:56:10 339

原创 人脸识别(四)

源码位置:https://github.com/comhaqs/face_find.git 分支:develop_face_recognitionopencv的人脸识别模块现在是放在另外一个库opencv_contrib里,需要编译到opencv里才可以使用,故这里将opencv和opencv_contrib的源码都下下来,opencv源码:https://github.com/openc...

2020-01-07 23:27:43 321

原创 人脸识别(三)

源码位置:https://github.com/comhaqs/face_find.git 分支:develop_step2第二阶段,通过opencv实现人脸识别。opencv的Mat类只支持BGR模式图像,所以需要进行图像转换。这里ffmpeg解码出来是AV_PIX_FMT_YUV420P,先转换成AV_PIX_FMT_BGR24以便opencv进行人脸识别和人脸检测。完成并标记人脸后,...

2020-01-07 14:32:18 404

原创 人脸识别(二)

源代码路径:https://github.com/comhaqs/face_find.git 分支develop_step1第一阶段得使用ffmpeg解码视频流并在qt上显示,这里使用的是一段电视剧视频。Qt上是使用QLabel控件显示QImage对象,但QImage对象只识别AV_PIX_FMT_RGBA图像数据,我手上的视频解码后是YUV420P数据,需要使用sws_scale函数转...

2020-01-07 09:41:36 331

原创 人脸识别(一)

想学习下人脸识别,故计划写几篇文章,用来记录和帮助他人程序从远端拉去视频流,通过ffmpeg解码,然后opencv进行人脸检测和人脸识别,将识别后的结果画在视频上,然后推送到目的端。同时,会将识别出来的人脸信息推送到服务端。系统图如下开发环境是windows+boost+ffmpeg+opencv+qt第一阶段,识别程序远程拉取远程视频流,然后在窗口上显示识别后的视频流,并且在...

2019-12-27 11:05:37 298

转载 兼职程序员一般可以从什么平台接私活?

https://blog.csdn.net/xiyue001/article/details/102816596

2019-11-08 14:09:01 529 1

转载 C/C++后端-服务端开发技术博文分类汇总

原帖地址:https://blog.csdn.net/ZYZMZM_/article/details/102717590

2019-10-29 15:57:06 403

原创 GB28181开发(六) --h264数据转码

获取的h264内存数据需要转换成文件或视频流,使用ffmpeg即可,逻辑都一样,只是url不同。但问题是网上大多都是从h264文件转码,我们是从内存转码。找了好久才找到两种方式,一种是自己拼接输出编码信息和流信息,我尝试很多次,都无法成功,自己使用SPS和PPS数据拼接两种extradata格式也没有用,还是花屏,所以放弃了;另外一种是自定义AVIOContext,不过这里有个问题,回调函数rea...

2019-10-24 14:20:40 1921

原创 vscode远程开发配置

想使用VSCODE的远程开发,方便开发Linux程序,故写下这篇文章1、VSCODE远程插件安装搜索Remote Development插件,安装即可打开CMD窗口或终端窗口,输入ssh-keygen -t rsa生成密匙,Windows一般生成在当前用户的.ssh文件夹下。我的在c:/User/com/.ssh文件夹下,然后将公匙复制到目标机器上scp -p c:/Use...

2019-10-24 10:04:04 5370 1

原创 GB28181开发(五) --GB28181设备接入

开源项目地址(未完成)https://github.com/comahqs/mdfactory项目主要需求如下:1、GB28181设备接入2、实现视频流转文件或视频流(例如RTSP)3、实现视频流转GB28181项目使用pjsip库实现GB28181设备接入,网上也有很多例子,但都不是很完整,导致我绕了好多弯路。pjsip启动监听的流程都类似,网上也有很多,大家可以看源码。...

2019-10-23 17:58:34 10689 1

原创 GB28181开发(四) --pjsip编译

pjsip的下载网页如下:https://www.pjsip.org/download.htm我使用的是2.9版本,可以直接点击下面链接下载https://www.pjsip.org/release/2.9/pjproject-2.9.tar.bz2根据编译文档,我们需要额外的第三方库:1、SDLGB28181协议附加参数使用了SDL协议,所以必须下载编译,地址是htt...

2019-10-23 15:03:00 5286

原创 GB28181开发(三) --boost编译

从boost网站上下载源码,我使用的是1.71版本,可以直接从下面链接下载https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.gz解压后进入目录,执行 ./bootstrap.sh 生成b2文件[com@bogon boost_1_71_0]$ ./bootstrap.sh 执行boo...

2019-10-23 11:06:07 1086 1

原创 GB28181开发(一) --项目准备

最近想研究下GB28181开发,所以打算写一个系列文章,记录自己的开发路程,也减少其他人踩坑的几率。GB28181协议是用于安防行业的,政府强推协议。基于SIP协议扩展,具体我就不说了,2016版本可以从下面的链接下载https://download.csdn.net/download/comhaqs/11904280开源了一个自己编写的GB28181项目,方便大家参考,一起学习,因为...

2019-10-23 10:16:48 4965 2

原创 GB28181开发(二) pjsip库SDP协议扩展

项目使用pjsip库作为底层协议库,扩展支持GB28181协议,但pjsip的sdp编解码不支持额外参数解析,需要修改源代码,以便支持GB28181中关于SDP协议的扩展(例如y参数)。源码主要在pjmedia/include/pjmedia/sdp.h和pjmedia/src/pjmedia/sdp.c上修改。1、在sdp.h中扩展pjmedia_sdp_session定义,增加other_...

2019-09-30 11:45:12 4273 2

原创 VS编译utf8源码时的问题

在VS里编译utf8格式的源代码时,有时会出现以下错误:E:\Projects\back_mdfactory\src\service_context.cpp(33): error C2001: 常量中有换行符E:\Projects\back_mdfactory\src\service_context.cpp(33): fatal error C1057: 宏扩展中遇到意外的文件结束原因是...

2019-09-27 11:40:39 1864

原创 流媒体开发(一)

最近想学习下流媒体相关的开发技术,所以计划把相关的研究内容写到博客上,方便自己和大家。学习技术最好的方式是项目驱动,所以打算弄一个项目,用来推动自己学习。项目需求如下: 1、能接入一类网络监控摄像头,摄像头支持rtsp等协议,采用服务端方式提供视频流。 2、能接入二类网络摄像头,摄像头由于处在内网,只能采取客户端方式推送视频流, 3、接入的视频流都转换成统一的...

2019-07-24 11:31:42 6173

原创 将git版本信息编译进程序

有时候我们需要在程序里打印git版本信息,方便源码追踪。有两种方式,一种是通过命令行使用git生成版本信息相关头文件,编译的时候引用这个头文件。另一个种是生成git版本信息宏,源码里直接调用,这里以第二种为例叙说。编译环境使用cmake,在Linux平台,其他环境也可以参照。 在cmake文件里定义如下:execute_process(COMMAND git log -1 ...

2019-07-23 14:09:41 1109

原创 C++分布式框架研究(二)-grpc编译

使用git工具下载源码,我是使用小乌龟,路径是https://github.com/grpc/grpc.git。下载完成后切换分支,我使用v1.16.1然后进入源码目录,执行git submodule update --init用来初始化依赖模块,相关执行信息如下:E:\Projects\grpc>git submodule update --initSubmodu...

2018-11-21 15:56:05 3172

原创 C++分布式框架研究(一)

近期打算使用C++写一个简单的分布式框架,以便提高自己的技术水平。框架计划采用grpc作为通信底层,无中心管理服务的形式。

2018-11-21 14:59:28 6341 10

原创 Linux环境下的C++开发(三)

qtCreator对cmake支持还不是那么好,在项目中无法通过右键添加源文件,只有在CMakeList.txt中显示添加的文件才会在项目列表中显示出来。在CMakeList.txt中添加如下代码,就能把项目下的所有.h和.cpp的文件都在左边项目列表中显示出来file(GLOB files_list ./*.cpp ./*.h)add_custom_target(files_list SO...

2018-07-30 14:02:54 2989

原创 Linux环境下的C++开发(二)

1、安装cmake(以cmake-3.12.0.tar.gz源码安装为例)先去官网https://cmake.org/download/上下载cmake源码。下载后解压编译,gmake install需要root权限tar zxvf cmake-3.12.0.tar.gzcd cmake-3.12.0./bootstrapgmakegmake install2、安装qt...

2018-07-30 13:53:42 5253 1

原创 Linux环境下的C++开发(一)

因为想要把程序从Windows平台移植到Linux平台,故写了此系列文章,以方便以后自己和大家,少走弯路整个环境采用CentOS7+QtCreator+cmake+gcc的形式1、从https://www.centos.org/download/上下载CentOS镜像,我选的是DVD ISO版本。然后选择一款虚拟机,我使用Virtual Box,这里记住最好选择最新的虚拟机版本,我就是使用...

2018-07-30 13:28:33 45037

转载 深入理解学习Git工作流

原贴地址:https://segmentfault.com/a/1190000002918123个人在学习git工作流的过程中,从原有的 SVN 模式很难完全理解git的协作模式,直到有一天我看到了下面的文章,好多遗留在心中的困惑迎刃而解,于是我将这部分资料进行整理放到了github上,欢迎star查看最新更新内容, https://github.com/xirong/my-g

2018-04-18 16:24:22 611

原创 [combuffer系列]rpc层(一)

开源地址:https://gitee.com/comhaqs/combuffer.git    protobuffer只定义了数据内容,需要自己定义数据帧格式,这里参考了网上大家的做法,以及pomelo的调用思路    数据帧定义数据区长度是指控制码+路由+数据的长度;校验码采用CRC校验,校验区为控制码+路由+数据。控制码定义如下:其中请求类型

2018-01-16 10:51:20 332

原创 [combuffer系列]框架设想

开源地址:https://gitee.com/comhaqs/combuffer.git    目前项目需要使用RPC框架,大概查看了几个开源框架,要么只提供通信框架(zeromq、nanomsg),要么对运行环境有要求,不能适应项目要求(brpc、grpc)。考虑提高技术水平和项目要求,计划自己写一套RPC框架。原则如下:    1、尽量使用成熟稳定、使用面广的第三方库,毕竟自己

2018-01-16 09:53:38 302

原创 远程调试软件

项目开发中总会碰见现场软件有问题,需要调试。但有时候现场服务器不允许安装VS工具,或是不方便把源代码放到现场的服务器上,或是需要使用现场的某些设备,导致无法使用现场的环境进行远程调试,公司环境又无法完全模拟现场环境。故想开发一款远程调试代理软件,能通过某台外网服务器做中转,实现远程调试。      图1 常规远程调试模式    图2 目标远程调试模式

2018-01-09 09:46:00 2130

原创 otl开发踩坑

1、如果使用OCI方式连接ORACLE数据库,因为会引用ORACLE相关头文件,所以当程序使用了BOOST库时,有可能会出现下面提示错误信息:1>d:\boost_1_63_0\boost\asio\detail\socket_option.hpp(33): error C2332: “class”: 缺少标记名1>d:\boost_1_63_0\boost\asio\detail\sock

2017-05-16 11:35:42 842

原创 pomelo踩坑记

pomelo是网易出的一款网游服务器框架,使用nodejs编写。网址:http://pomelo.netease.com/ ,github:https://github.com/NetEase/pomelo。兼容多种客户端,我使用的是unity作为客户端,官方建议使用libpomelo2作为客户端插件,不过libpomelo2有很多坑,这里记一下,防止以后忘记了1、libpomel

2017-04-26 11:26:09 4903 1

原创 pomelo远程调试

pomelo虽然可以跨平台运行,但强烈建议在linux下运行,在windows下,一堆坑,像我这种初学者,根本无法填满,在linux下,都没发现有坑要填,一点就能运行。平时我的开发平台是windows,所以就涉及到远程调试,查看了相关文档,都不完整,现在总结下,方便大家使用。1、远程服务器需要两个端口,一个是node js的调试端口,这里我们取默认端口5858,但这个只能本地调

2017-03-17 11:26:34 2058

原创 MFC动态库使用boost::thread运行时报错的问题

在MFC动态库中,如果包含有boost::thread的相关文件,可能会导致编译时没问题,运行时报错,报错位于ASSERT(AfxGetThread() == NULL)。百度得知,应该是静态链接boost::thread库时,boost::thread库会修改相关函数指针,具体见网页:http://blog.csdn.net/xiao3131/article/details/39207493。网

2016-12-26 10:36:35 1759

转载 SqlLite连接字符串

原贴地址:https://www.connectionstrings.com/sqlite/SQLite.NETBasicData Source=c:\mydb.db;Version=3;Version 2 is not supported by this class library.SQLiteIn-Memo

2016-12-08 14:47:28 10254

转载 MySql连接字符串

原贴地址:https://www.connectionstrings.com/mysql/MySQL Connector/NetStandardServer=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;MySQLSpecifying TCP

2016-12-08 14:45:58 6280

opencv_contrib丢失文件.zip

opencv_contrib编译时会提示丢失部分文件,这个是下好的文件,将解压后的所有文件直接放到opencv_contrib\modules\xfeatures2d\src目录下即可

2020-01-07

PlistDecoder

资源大图切小图工具,只支持plist文件与png文件组合。

2015-09-08

cocos2d-js离线API

官网上下载整理的 全中文

2015-03-30

Node.js学习资料

包括《深入浅出Node.js》、《Node入门》、《Node+Web开发》、《NODE.js入门手册》、《Node.js+开发指南》、《Node,+Up+and+Running》、《Node+Web开发》

2014-04-22

OTL使用指南

学习OTL的好资料,比网上其他网络上的资料详细的多,最后还有OTL与其他访问数据库方式的对比。

2012-04-01

C++网络编程+卷2+基于ACE和框架的系统化复用

ACE经典三本书之一,扫描版,适合入门者阅读。

2012-03-19

C++网络编程_卷1_运用ACE和模式消除复杂性

ACE经典三本书之一,俗称红宝书,是学习ACE的入门书籍。

2012-03-15

ACE程序员指南-网络与系统编程的实用设计模式

ACE经典三本书之一,适合有一点ACE基础的人阅读。

2012-03-15

VC助手2010版

VC助手,提供自动提示功能。只支持VS2010。

2012-03-15

Boost程序库完全开发指南

用BOOST开发必备的参考书。对BOOST各个常用的类都说了一遍,并伴有相关的例子,中文版,符合国人的习惯。唯一不好的地方是此书是扫描版。

2012-03-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除