OpenCV|FFmpeg – OpenCV cv::Mat与FFmpeg AVFrame的相互转换
1 OpenCV cv::Mat与FFmpeg AVFrame相互转换 最近在处理OpenCV采集摄像头图片然后使用ffmpeg编码为h264裸流,之后再将h264裸流转换为OpenCV cv::Mat进行显示的问题,在这个过程中,如何将OpenCV的cv::Mat转化为FFmpeg AVFrame…
- FFmpeg
- 2022-05-20
Javascript – 判断当前元素是否含有子元素
1 Javascript判断当前元素是否含有子元素 判断当前元素是否含有子元素经常需要判断的内容,可以参考以下代码 // 判断一个元素是否还有子元素 function hasChildren(e) { var children = e.childNodes; var len = children.l…
- Javascript
- 2022-05-18
FFmpeg – FFmpeg历史版本下载和函数弃用列表
1 FFmpeg历史版本下载链接 1.1 源码历史版本 http://www.ffmpeg.org/releases/ https://www.ffmpeg.org/olddownload.html https://www.videohelp.com/software/ffmpeg/old-vers…
- FFmpeg
- 2022-05-17
Windows – 使用类的成员函数作为Win32窗口消息回调处理函数WindowProc
1 Win32窗口的创建过程 学过Win32界面编程的都知道,创建一个Win32窗口一般经过以下几个步骤: (1)定义窗口对象 (2)注册窗口 (3)创建窗口 (4)显示窗口 (5)消息处理函数 (6)消息循环 一个简单的Win32窗口创建代码与以下代码类似, #include <window…
- C++
- 2022-05-10
C++ – 在Windows/Linux上创建单级目录以及多级目录的跨平台方法
1 C++创建目录 本文将对使用C++在Windows和Linux系统上创建单级目录与多级目录的普通方法进行总结,本文将不会使用C++14新增的std::filesystem的标准库方法。 1.1 在Windows/Linux上创建单级目录 1.1.1 在Windows上创建单级目录 在Window…
- C++
- 2022-05-10
C++ – std::string替换字符串中所有指定的子字符串
1 std::string替换字符串中所有指定的子字符串 std::string并没有提供类似repalceALL之类的方法,我们只能使用std::string::replace方法逐个替换子字符串。 封装的方法如下: std::string ReepalceAllString(std::strin…
- C++
- 2022-05-10
OpenCV – cv::VideoWriter::fourcc可支持的视频编码格式
1 cv::VideoWriter::fourcc可支持的视频编码格式 1.1 OpenCV文档 地址:https://docs.opencv.org/3.4/dd/d9e/classcv_1_1VideoWriter.html 在官方文档中给出了一个cv::VideoWriter::fourcc可…
- OpenCV
- 2022-05-05
C++ – Windows/Linux生成uuid(通用唯一识别码)
1 Windows/Linux生成uuid 1.1 uuid UUID含义是通用唯一识别码(Universally Unique Identifier),这是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Dis…
- C++
- 2022-04-28
C++ – linux编译C++代码出现error: use of deleted function std::atomic::atomic(const std::atomic&)
1 linux编译C++代码出现error: use of deleted function std::atomic::atomic(const std::atomic&) 今天在Ubuntu,GCC版本为7.5编译类似以下C++代码时出现了error: use of deleted fun…
- C++
- 2022-04-20
GCC/G++中编译优化选项-O -O0 -O1 -O2 -O3 -Os -Ofast -Og -Oz各自的区别和作用
1 GCC/G++中的编译优化选项 在gcc/g++编译程序时,不同优化编译选项,如-O1,-O2,-O3等会产生不同的程序大小以及程序运行速度。本文将对GCC/G++中的不同编译选项进行简要的介绍。 1.1 -O0 如果GCC不指定编译优化选项,那么会设置为-O0。 -O0主要可以减少代码编译时间…
- C++
- 2022-04-18
CMake – 设置Debug或者Release编译模式
1 CMake设置编译模式Debug或者Release 使用cmake需要指定编译模式时一般有两种方式,一种是直接在CMakeLists.txt中设置,另一种则是在cmake命令行中设置。 1.1 在CMakeLists.txt直接设置 Debug模式 SET(CMAKE_BUILD_TYPE "D…
- C++
- 2022-04-15
C++ – 常用的C++命令行参数解析第三方库
最近在Linux上开发C++程序时,通过int main(int argc,char[] argv)通过命令行参数的方式向程序传参时真的很难用,这个时候就非常怀念python的argparse命令行参数解析包,那C++有没有类似的命令行参数解析库呢?大致了解下,发现真的有。所以本文将例举下C++中简…
- C++
- 2022-04-14