自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 基于TCP协议的摄像头视频网络传输

最近刚完成了项目中摄像头视频网络传输这部分的工作,现在做个总结。一、设计思路整个装置包括上位机和下位机,它们都是搭载linux系统的树莓派。1、程序设计思路在上位机端:通过v4l2抓取摄像头视频流中的一帧YUV420格式的帧数据,然后使用x264进行编码,最后通过网络传输给上位机,网络协议使用TCP协议。在下位机端:接收到上位机发来的一帧数据之后使用ffmpeg解码,然后...

2021-11-02 15:02:02 5401 2

原创 C++笔记

基础类构造函数用于初始化,可以有多个构造函数(重载)

2021-10-21 20:27:24 147

原创 Git/Github的使用(不定时更新)

本地库初始化初次:git init 创建一个空仓库,在当前目录下会有一个名为 .git 隐藏文件,存放本地库相关的文件。不要对其有修改。非初次:git add设置签名用户名:email 地址:作用:区分不同开发人员设置签名 和 git的账号密码无关级别:项目级别/仓库级别:仅在当前本地库的目录。git config user.name 用户.........

2021-10-15 21:32:57 171

原创 指针p++与p+1的区别

p++ : p = p + 1++是有赋值操作的,所以p的值会被改变p+1访问p的下一个地址,因为没有对p的赋值操作,所以p值不会被改变。注意p+1,地址并不一定+1。具体加多少与p的类型有关。下面两个函数都是想把数组arr的第三号元素“4”往后挪一位,体会一下区别:void f1(){ int arr[5] = { 1, 2, 4}; int *p = &(arr[2]); for (; p >= &arr[2]; p--)...

2020-07-14 17:28:26 5300

原创 成员函数指针:在成员函数中使用函数指针和在类外使用

本文主要讲述在成员函数中使用本类的函数指针和在类外(主函数等函数中)使用类的成员函数指针。//tmp.hclass Tmp{public: Tmp(); ~Tmp(); void Print(int a); void AnotherPrint(int b); void (Tmp::*pfPrint)(int);};//tmp.cppT...

2020-03-19 23:05:02 269

原创 在Linux下使用树莓派交叉编译工具编译opencv库并进行移植

一、交叉编译opencv继上一篇博客:“在Linux下配置opencv”之后,我以为直接将编译命令:g++ `pkg-config --cflags opencv` -o TestOpencv TestOpencv.cpp `pkg-config --libs opencv` 中的g++直接改成arm-linux-gnueabihf-g++就可以编译生成树莓派里可以执行的文件了。但事实上并非如...

2019-04-24 16:22:21 3364 10

原创 Linux下编译x264与树莓派交叉编译X264(附加测试小程序)

最近在Linux下做摄像头视频实时传输的项目。摄像头在服务器端(树莓派),摄像头的视频数据是通过v4l2获取的,一帧视频数据大概有1M左右,如果不使用x264将视频数据进行编码就直接通过网络发送给客户端,就会非常影响传输效率。为了方便测试代码,我既在搭载Ubuntu系统的PC上编译了x264,又使用树莓派交叉编译工具编译了x264,下面我分别说一下二者的编译过程以及遇见的问题。一、Ubun...

2019-03-19 19:08:51 983

原创 在VS2012环境下使用DirectShow+X264+Mp4Encoder录制、编码、合成MP4视频

在我之前的一篇博客“使用DirectShow+VS2012预览、录制摄像头视频,播放本地视频”中,我使用了一种效率不高的方法来进行摄像头视频的预览和录制,而且录制的视频所占用的磁盘空间还很大(40秒的视频有110多兆), 为了提高项目的实用性,我得寻找一种视频编码技术。后来通过查找资料发现了一种开源的x264编码技术,然后以“Directshow+x264”为关键词在网上搜索相关的资料,搜索到一位...

2019-03-14 18:28:54 890

原创 在Linux下配置opencv

最近需要在Linux下使用opencv,于是参考了网上的博客进行opencv的配置,在这里进行一下总结。文章的主要内容来自于https://blog.csdn.net/richermen/article/details/50506179#和https://blog.csdn.net/weixin_41053564/article/details/81254410。配置步骤如下:1、下载Li...

2019-02-28 18:29:21 1274 4

转载 OpenCV 下载驿站(百度云盘下载),另附国内外开源镜像

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/love666666shen/article/details/76449155 </div> <link rel="stylesheet" href="http

2019-01-29 18:10:32 6284

原创 使用DirectShow+VS2012预览、录制摄像头视频,播放本地视频

最近,由于工程中需要使用到摄像头。我就利用opencv3.0.0+VS2012对自己笔记本的摄像头进行程序开发。测试成功之后,将代码移植到目标机器却出现打开摄像头黑屏的现象。目标机器也安装有VS2012和opencv3.0.0,不同的只是摄像头。后来发现目标机器的摄像头是UVC Camera。与厂家联系之后发现它只能由DirectShow来开发。一、了解一下UVC:UVC,全称为:USB ...

2019-01-29 18:09:36 1532

转载 Directshow中的视频捕捉(转)

Directshow中的视频捕捉(转)   本篇文档主要描述关于用Directshow进行视频开发的一些技术主要包括下面内容1关于视频捕捉(About Video Capture in Dshow)2选择一个视频捕捉设备(Select capture device)3预览视频(Previewing Video)4如何捕捉视频流并保...

2019-01-29 16:49:24 666

转载 转载:[Bash Shell] Shell学习笔记

转载自Poll的笔记,博客出处:https://www.cnblogs.com/maybe2030/p/5022595.html [Bash Shell] Shell学习笔记 阅读目录  编译型语言  解释型语言  5.1 作为可执行程序  5.2 作为解释器参数  6.1 定义变量  6.2 使用变量...

2019-01-10 18:25:09 269

原创 Ubuntu下多线程编程暨形参传递所遇见的问题

  最近在学习Linux下的多线程编程,现在分享一下自己的心得。一、pthreate_create函数  创建一个新线程需要使用到函数pthread_create函数,在Linux终端输入 man pthread 可以得到函数原型和一些其他信息。函数原型为: #include <pthread.h>int pthread_create(pthread_t *threa...

2018-12-14 14:51:05 482

原创 使用v4l2在树莓派上抓取视频图像

最近学习使用v4l2在树莓派上抓取视频图像。有些收获,现在分享给大家。操作的过程为:1、打开摄像头;2、获取摄像头的capability(它所支持的操作)3、获取摄像头支持哪些视频/图片帧格式;4、设置视频/图片/帧格式;5、在摄像头驱动中申请缓冲空间用来临时存放抓取到的照片;6、申请程序中的内存空间并将缓冲区映射到内存中;7、开始采集视频并处理数据;8、停止视频采集并解除映射;9、关闭摄像头...

2018-11-24 16:16:16 6540 2

原创 调试MFC程序时,函数参数被篡改,调试步骤乱跳

今天在调试一个程序的时候出现了一个很奇怪的bug:函数形参的值被篡改,调试程序时的下一步乱跳。红色箭头标记处的整个if片段被跳过,连判断都没有判断一下。形参_path_index的值在执行完if(XXXCheckBox[_path_index]->GetCheck() == BST_CHECKED)语句之后被篡改了,而且每次篡改的值都不一样(调试了多次),还都是很长的一串数字。程...

2018-11-08 19:32:25 570

原创 MFC定时器的使用暨windows进程片段和优先级的理解

最近一段时间我需要在工程中使用串口接收下位机的反馈数据,但是为了防止因为某些未知故障而导致下位机不回传数据从而引起程序死等的情况,我设计了一个5秒钟超时定时器,用来限制最长的等待时间。我写了一段测试代码,用来模拟工程中的的功能:定义一个超时标志位gb_test,初始化为false,待上位机发送数据之后,启动定时器,然后使用while语句来等待下位机回传反馈数据,如果下位机正常回传,则打断whi...

2018-10-12 20:08:29 733 2

原创 两个相互独立的对话框(非父子关系)之间的通信(消息响应、数值传递)

最近因项目需要在学习两个窗口之间的消息传递。假设有相互独立的A、B两个对话框,现在点击A界面的Button控件之后,弹出B对话框。点击对话框B上按键之后在对话框A中响应自定义的消息。1、工程创建完成之后资源视图会有一个对话框,更改其ID为IDD_DlgA。再加入一个对话框,style选popup,ID为IDD_DlgB。两个对话框的caption分别为A、B。2、对话框A的头文件名和源...

2018-08-14 21:31:09 1296 1

原创 MFC多个对话框编程中,给子对话框中添加按钮控件并左键单击后(有消息响应函数)没有任何反应

最近在使用vs2012学习MFC多个对话框编程的过程中,遇见了一个问题:点击子对话框中的按钮没有触发消息响应函数,这个问题我曾在CSDN中发帖求助过,链接为:https://bbs.csdn.net/topics/392420801,这里面有我的创建过程,这里不再赘述。关于如何解决这个问题,我尝试过很多可能性:1.网上有人说是对话框属性设置的问题,Disabled要设置为false,Cli...

2018-07-26 20:25:52 3100 6

两个相互独立的对话框(非父子关系)之间的通信(消息响应、数值传递)

MFC多个窗口之间的消息传递,数值传递。多个cpp文件之间数值的共用

2018-08-14

空空如也

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

TA关注的人

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