自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 LearnOpenGL 1 开发环境配置

LearnOpenGL 1 开发环境配置使用vscode在Mac下开发时,添加第三方头文件的放法-I 在tasks.join中添加相应的include文件夹添加第三方库的方法使用-lglew

2021-01-08 00:21:52 267

原创 2020/11/21 关于C++ namespace、Qt多线程movetothread、centos查看库依赖的一些知识

2020/11/21 关于C++ namespace、Qt多线程movetothread、centos查看库依赖的一些知识C++ namespace写在头文件中的namespace可以生命和定义函数头文件中只能生命变量,而不能定义,否则会重复定义。利用extern声明,在cpp中定义也可只在C++中直接声明+定义Qt movetothreadQt对象中的任何对象都属于对象创建是所在的线程。movetothread后,在其他线程中使用,会有跨线程问题centos查看依赖库ldd exe

2020-11-21 18:20:33 151

原创 音频格式

wav格式FileSize=HeadSize+TimeInSecond*SampleRate*channels*BitsPerSample/8Wav文件遵循RIFF规则,其中内容以区块(chunk)位最小单位进行存储。wav文件一般由3个区块组成,RIFF chunk、Format chunk和Data chunk。另外还包括一些可选的区块常见的wav文件的格式2.1 RIFF区块名称偏移地址字节数端序内容ID0x004Byte大端RIFF(0x52494646

2020-07-25 15:36:37 418

原创 QByteArray写入

QByteArray向通过QDataStream向QByteArray写入时,会先写入长度后写入数据QByteArray block=QString("some message").toutf8();QByteArray dstblock;QDataStram dts(dstblock);dst<<block;//dstblock=block.size()+block

2020-07-24 22:42:25 2540

转载 FFmpeg Basic 11 格式转换

ffmoeg的最常见用法是从一种音频或视频格式转换为另一种相关的格式。格式参数的在输出文件之前由-f选项设置如果只更改容器并保留编解码器,我们可以使用-c copy 或-c:a copy 或-c:v copy选项ffmpeg -i input.avi -q 1 -c copy output.mov转码和转换将输入文件使用ffmpeg处理成输出文件称为转换,包括格式之间的转换或仅修改某些数据,输出媒体格式保持不变的转码。数据包可以被编码或解码。转码的过程可分为几个部分。Demuxer:基于文件扩展

2020-07-10 19:17:08 255

转载 FFmpeg Basic 10为视频添加文字

将文本添加到视频输出中使用字幕或叠加技术使用抽象滤镜Video filter:drawtext描述:使用文本文件或字符串向视频中添加文本,并使用各种参数进行修改哦。本本从文本文件参数指定的文件加载,或直接使用文本参数输入。其他必须的参数是指定选定字体的字体文件,文本的位置由x和y参数设置语法:drawtext=fontfile=font_f:text=text1[:p3=v3[:p4=v4[…]]]参数的描述:box:如果box=1,则在文本周围绘制一个方框,颜色由boxcolor参数设置

2020-07-10 17:39:50 343

转载 FFmpeg 09 overlay画中画

Video filter: overlay描述:在指定的位置上覆盖第一个输入语法:overlay[=x:[y[:rgb={0,1}]]]参数描述x:第二个视频左上角的水平坐标,默认值为0y:第二个视频左上角的竖直坐标,默认值为0rgb: 0 输入的颜色控件不改变,默认值;1 输入的颜色空间设置为RGB变量-可用在x和y的表达式中main_w/W 主要的输入宽度main_h/H 主要的输入高度overlay_w/w overlay输入的宽度overlay_h/h overlay输入的高度

2020-07-10 16:54:30 837 1

转载 FFmpeg 07翻转和旋转视频

水平翻转Video filter:hflip语法:-vf hflip水平翻转输入视频垂直翻转Video filter:vflip语法:-vf vflip垂直翻转输入视频旋转Video filter:transpose语法:-vf transpose={0,1,2,3}0:输入逆时针旋转90°,然后垂直翻转1:输入顺时针旋转90°2:输入逆时针旋转90°3:输入顺时针旋转90°,垂直翻转ffmpeg -i CMYK.avi -vf transpose=0 CMYK_trans

2020-07-08 11:54:11 416

转载 QT的connect函数总结

//第一种写法connect(m_pBtn,SIGNAL(sigClicked()),this,SLOT(onClicked()));//第二种写法connect(m_pBtn,&MyButton::sigClicked,this,&Widget::onClicked);//当信号重载时不能区分信号导致bug//第三种写法connect(m_ptn,static_cast<void (MyButton::*)(bool)>(&MyButton::sigclic

2020-07-07 16:10:22 648

转载 FFmpeg 06填充视频

视频填充Video filter:pad语法:pad=width[:height[:x[:y[:color]]]]描述:在输入视频帧中添加彩色填充,该帧位于坐标系统的[x,y]点,输出帧的左上角为[0,0],参数描述:color:十六进制形式的RGB值:0xRRGGBB[@AA],其中AA的范围是(0,1)中的十进制值,或任何有效的名称,如白色,蓝色、黄色等,默认为黑色。width,height:待填充的输出帧的宽度和高度x,y:输入左上角在输出中的坐标******参数中高度、宽度,x,y的

2020-07-07 11:37:40 832

转载 FFmpeg 05 裁剪视频

Video filter:crop语法:crop=ow:oh❌y:keep_aspectow,oh:输出的帧的宽、高x,y:裁剪的起点 x的默认值 (iw-ow)/2,y的默认值(ih-oh)/2in_w,iw:输入的宽度in_h,ih:输入的高度out_w,ow:输出(裁剪)的高度,默认值=iwout_h,oh:输出(裁剪)的宽度,默认值=iha 纵横比,与iw/ih相同sar 输入样本的比例dar 输入显示宽比,等于a*sart 时间戳hsub, vsub 水平和垂直的色度子样本

2020-07-06 12:11:43 404

原创 C++ 的输入输出

修改显式时使用的计数系统使用控制符(oct,dec,hex),可以控制显式整数时使用的计数系统//1hex(cout);//2cout<<hex;调整字段位宽int width();//返回当前字段宽度设置int width(int i);//设置字段宽度位i个空格,并返回以前的字段宽度//只影响将显示的下一个项目,然后字段宽度将回复默认值填充字符fill(char );//改变cout的填充字符//一直有效,直到被重新设置设置浮点数的显式精度默认模式下,指的是显式的

2020-06-30 10:55:20 110

转载 OpenGL入门4 三角

顶点数组对象:Vertex Array Object,VAO顶点缓冲对象:Vertex Buffer Object,VBO索引缓冲对象:Element Buffer Object,EBO或Index Buffer Object,IBO图形渲染关系将3D坐标转换为2D坐标将2D坐标转变为实际的有颜色的像素顶点缓冲对象用于管理GPU的内存`unsigned int VBO;glGenBuffers(1,&VBO);//生成一个缓冲对象//OpenGL允许我们同时绑定多个缓冲,只

2020-06-28 16:55:41 89

转载 FFmpeg基础

ffmpeg 常用命令码率控制帧率和比特率//帧率控制ffmpeg -i input -r 50 outputffmpeg -i input -vf fps=fps=25 output ffmpeg -i input -r ntsc output//比特率//-b ;-b:v 音频帧率 -b:a 音频比特率ffmpeg -i input -b 5M output//视频会议 固定比特率ffmpeg -i input -b 5M -minrate 5M -maxrate 5M -buf

2020-06-28 09:24:50 191

原创 CPP 第十五章

友元友元类友元成员函数相互时友元共同的友元嵌套类C++中,可以将类声明放在另一个类中。在另一个类中声明的类被称为嵌套类,它通过提供新的类型作用域来避免名称混乱。包含类的成员函数可以创建和使用被嵌套类的对象;而仅当声明位于公有部分,才能在包含类的外面使用嵌套类,而且必须使用作用域解析运算符。嵌套类和访问权限作用域如果嵌套类是在另一个类的私有部分声明的,则只有后者知道它,对于从包含类派生的类,嵌套类也不可见吐过嵌套类是在另一个类的保护部分声明的,则对于包含类它是可见的,对于从包含类派生的类,

2020-06-25 08:10:34 127

原创 QT高版本中文无法编译

分两步:(1)解决编译问题菜单栏 工具->选项->文本编译器->行为->文件编码选择UTF-8,下面UTF-8 BOM处下拉菜单选择 如果是编码是UTF-8则添加。(2)解决乱码问题在程序源文件开始出添加#pragma execution_character_set(“utf-8”)分两步:应的cpp头加...

2020-06-22 09:46:37 287

原创 CPP 第十四章

valarray类valarray<int> q_values;double gpa[5]={3.1,,3.5,3.8,2.9,2.3};valarray<double> v1;//an array of double ,size 0valarray<int> v2(8);//an array of 8 int elementsvalarray<int> v3(10,8);//an array of 8 int elements.each set t

2020-06-22 09:44:48 99

原创 C++存储持续性、作用域和链接性与名称空间

存储持续性自动存储持续性:在函数定义中声明的变量(包括函数参数)的春初持续性为自动的。它们在程序开始执行其所属的函数或代码块时被创建,在执行完函数或代码块时,它们使用的内存被释放。C++有2种存储持续性为自动的变量静态存储持续性:在函数外定义的变量和使用关键字static定义的变量的存储持续性都为静态。它们在程序运行的过程中都存在,C++有3种存储持续性为静态的变量线程存储持续性(C++11):当前,多核处理器很常见,这些CPU可同时处理多个执行任务。这让程序能够将计算放在可并行处理不同线程中。如果

2020-06-12 13:16:21 195 1

原创 C++ Primer Plus第三章

可对类型名或变量名使用sizeof运算符。对类型名(如int)使用sizeof运算符时,应将名称放在括号中,但对变量名(如n_short)使用该运算符,括号是可选的整型的初始化使用字面常量初始化使用变量初始化,条件是变量已经定义过使用表达式初始化,条件是当程序执行到该声明时,表达式中所有的值都是已知的C++ 的括号初始化() int wrens(432)C++ 11的{}初始化 。这种方式可不适应等号=;大括号内可不包含任何值,此时变量被初始化为零int n_int=INT_MAX;in

2020-05-29 11:47:02 104

原创 C++输入输出

cin读取字符串cin读取C风格字符串cin使用空白(空格、制表符和换行符)来确定字符串的结束位置,这意味着cin在获取字符数组输入时值只读取一个单词。读取该单词后,cin将该字符串放到数组中,并自动在结尾添加空字符。cin不能防止将包含30个字符的字符串输入到20个字符的数组中的情况发生。cin读取数字后将保留其后的换行符cin读取string读取一行每次读取一行字符串的输入面向行的输入:成员函数getline()不保留换行符getline()函数读取整行,它使用通过回车键输入的换行符

2020-05-29 10:25:40 158

原创 Python的内建数据结构

元组元组是一种固定长度、不可变的python对象序列。tup=4,5,6nested_tup=(4,5,6),(7,8)#元素是元组的元组tuple([4,0,2])#tuple函数将任意序列或迭代器转换为元组tup=tuple('string')tup[0] //'s'#元组中存储的对象其自身是可变的,但元组一旦创建,各个位置上的对象是无法被修改的tup=tuple(['foo',[1,2],True])#('foo', [1, 2], True)tup[2]=False#error

2020-05-26 16:58:57 203

原创 LeetCode 1

O(n*n)解法——暴力循环递归class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> a; for(int i=0;i<nums.size();i++) { for(int j=i+1;j<nums.size();j++) {

2020-05-22 11:22:35 93

原创 OpenCV4 计算机视觉实战 CH2

读/写图像imread("lena.jpg",cv::IMREAD_UNCHANGED)imread读图像。第一个参数,图像的路径名; 第二个参数(可选),加载图像类型,默认为cv::IMREAD_COLORcv::IMREAD_UNCHANGED:如果设置,当输入具有相应深度时,返回16位/32位图像,否则将其转换为8位cv::IMREAD_COLOR:如果设置,他总是将图像转换为...

2020-04-27 17:02:12 416

原创 tensorflow入门:tensor初探

导入tensorflowimport tensorflow as tf输出tensorflow的版本print(tf.version)创建tensorx = tf.constant(range(12))tensor的形状x.shapetensor的长度len(x)改变tensor的形状X=tf.reshape(x,(3,4))X=tf.reshape(x,(-1,4))X=t...

2020-04-27 15:43:27 482

原创 Anaconda 基本使用

Anaconda 基本使用切换清华源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --set show_channel_urls yes创建环境conda create -n py27 python=2.7 (py27是环境名)conda ...

2020-04-27 14:34:27 164

空空如也

空空如也

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

TA关注的人

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