- 博客(225)
- 资源 (23)
- 收藏
- 关注
原创 x265探索与研究(五):如何用VS调试x265?
如何用VS调试x265?1、设置cli为启动项 用VS打开工程项目,如下图: 右击cli,设置为启动项,如下图:2、配置路径和命令行参数 右击cli选择Properties,如下图所示 进入如下界面:
2016-01-21 17:19:16 3451 6
原创 x265探索与研究(四):如何编码视频?
如何编码视频? 本文介绍x265中的两种编码视频方法,一是采用命令行的方法;二是GUI的方式。 1、命令行的方法 (1)、第一种方式生成*.265格式的视频文件 第一种方式可以生成*.265格式的视频文件,对应的命令为:x265 --input-res 352x288 --fps 30 hall_cif_352x288_300.y
2016-01-04 16:37:29 3636
原创 x265探索与研究(三):如何播放*.265格式的视频或解码视频流
如何播放*.265格式的视频或解码视频流 如下图,在得到.265格式的视频或视频流后应如何播放265格式的视频呢?本博文总结出5种播放265格式视频或视频流的基本方法。方式一:Elecard HEVC Player Sample 软件下载地址:http://download.csdn.net/detail/frd2
2016-01-03 09:22:16 8632 2
原创 x265探索与研究(二):x265使用基本方法
x265使用基本方法 首先,完成x265的下载安装与配置。(参考网址:http://blog.csdn.net/frd2009041510/article/details/50446007)接下来介绍x265编解码视频的基本方法。第一步: 进入“...x265_1.8\build\vc10-x86”,双击“build-al
2016-01-02 11:40:46 6104 4
原创 x265探索与研究(一):x265下载安装与配置
x265下载安装与配置 研究了这么久的HEVC Test Model(HM),相信大家对x265开源代码的实现与框架早就充满了好奇,接下来的日子,我将把自己入手学习与探索“x265开源代码的实现与框架”的过程记录下来,与大家共同进步学习。1、x265下载地址与参考资料x265的官网为: http://x265.org/x265下
2016-01-01 22:08:45 9904 1
原创 HEVC算法和体系结构:预测编码之帧间预测
预测编码之帧间预测(Inter-Picture Prediction) 帧间预测是指利用视频时间域相关性,使用临近已编码图像像素预测当前图像的像素,以达到有效去除视频时域冗余的目的。由于视频序列通常包括较强的时域相关性,因此预测残差值接近于0,将残差信号作为后续模块的输入进行变换、量化、扫描及熵编码,可实现对视频信号的高效压缩。 一、帧间预测编码原理
2015-11-25 20:25:12 5427 1
原创 HEVC算法和体系结构:预测编码之帧内预测
预测编码之帧内预测(Intra-Picture Prediction) 预测编码(Prediction Coding)是视频编码的核心技术之一,指利用已编码的一个或几个样本值,根据某种模型或方法,对当前的样本值进行预测,并对样本真实值和预测值之间的差值进行编码。视频编码器对预测后的残差而不是原始像素值进行变换、量化、熵编码,由此大幅度提高编码效率。
2015-11-24 19:07:42 5277 2
原创 HEVC算法和体系结构:编码结构之编码时的分层处理架构
编码结构之编码时的分层处理架构 本博文主要介绍HEVC编码结构中的“编码时的分层处理架构”。HEVC编码结构的主要目的就是为了各种应用下操作的灵活性以及数据损失的鲁棒性(所谓“鲁棒性”,是指控制系统在一定的参数摄动下,维持其它某些性能的特性)。从GOP(Group of Pictures)至Slice,从Slice至SS(Slice Segment),从SS至CTU(Co
2015-11-20 20:59:12 3081
原创 HEVC算法和体系结构:编码框架
编码框架2013年4月13日HEVC/H.265被ITU-T正式接受为国际标准。类似以往的国际标准,HEVC仍旧采用“预测+变换”的混合编码框架,如下图所示,包括变换、量化、熵编码、帧内预测、帧间预测以及环路滤波等模块。在HEVC中,几乎每个模块都引入了新的编码技术。本博文主要介绍HEVC编码框架,从整体结构出发介绍HEVC各个模块的大致功能以及相应的特色编码技术。
2015-11-17 20:57:34 3598
原创 OpenCV中读取视频帧像素值的一般方法
OpenCV中读取视频帧像素值的一般方法可以分为以下几个步骤:1、打开AVI格式的视频CvCapture *capture=NULL; IplImage *img=NULL; capture = cvCaptureFromFile("E:\\Sequence_mask\\crossroad.avi"); if(!capture) { cout<<endl<<"failed
2015-11-14 23:01:45 1913
原创 OpenCV中保存视频的一般方法
在OpenCV中,保存视频一般分为三步骤:1、初始化工作//初始化保存视频文件 CvVideoWriter* video=NULL; video=cvCreateVideoWriter("E:\\Sequence_mask\\out.avi",CV_FOURCC('X', 'V', 'I', 'D'), m_inputfps,cvSize(m_inputwidth,m_inputh
2015-11-12 21:49:11 2781
原创 视频图像分割研究与实现(二):常见图像和视频分割方法概述
常见图像和视频分割方法概述图像与视频分割是指按照一定的原则将图像或视频序列分为若干个特定的、具有独特性质的部分或子集,并提取出感兴趣的目标,便于更高层次的分析和理解,因此图像与视频分割是目标特征提取、识别与跟踪的基础。图像分割方法主要包括:1)、基于边缘的分割方法2)、基于阈值的分割方法3)、基于区域的分割方法4)、基于形态学分水岭的分割方法5)、基于聚
2015-11-11 11:35:06 6605
原创 HEVC算法和体系结构:环路滤波技术
环路滤波(In-Loop Filtering)技术类似于以往的视频编码标准,HEVC仍采用基于块的混合编码框架,一些失真效应仍然存在,如方块效应、振铃效应、颜色偏差以及图像模糊等等。为了解决这些问题,HEVC中采用了环路滤波技术,它其实是一种用于解码端的后处理滤波技术,主要包括去块滤波(Deblocking Filter,DBF)和样点自适应补偿(Sample Adaptive Off
2015-11-09 11:33:11 5430
原创 关于C/C++一些面试/笔试题的反思(超基础的知识点)
1、用变量a给出下面的定义 a) 、一个整型数; int a;b)、一个指向整型数的指针; int *a;c)、一个指向指针的指针,它指向的指针是指向一个整型数; int **a;d)一个有10个整型的数组; int a[10];e)、一个有10个指针的数组,该指针是指向一个整型数; int *a[10];
2015-11-05 23:00:51 1575
原创 背景建模技术(八):bgslibrary_vs2010_mfc中boost的安装与配置
一、boost的下载与安装在玩BGS Library时,有一个MFC的项目,在编译的过程中出现如下图的错误提示:即:1>e:\bgslibrary-master\vs2010mfc\src\stdafx.h(50): fatal error C1083: Cannot open include file: 'boost/lexical_cast.hpp': No suc
2015-11-04 16:23:44 2299
原创 两种方法用宏定义写出swap(x,y)
问题引出:如何将a,b交换,且不使用任何中间变量?方法一:算术运算法a=a+b;b=a-b;a=a-b;方法二:逻辑运算法a=a^b;b=a^b;a=a^b;若采用宏定义完成此功能,对应有2种方法,如下示例代码:#includeusing namespace std;//宏定义swap(x, y),使之完成交换x,y的值#
2015-10-30 11:25:30 7265
原创 单链表(二):如何实现单链表的排序、逆置(逆序)
1、单链表的排序示例代码如下:#includeusing namespace std; ///单链表结构体:结点typedef struct student{ int data; //结点中的数据 struct student *next; //指向链表下一个结点的指针}node;node *head; //头结点指针int index; //链表长
2015-10-21 10:46:54 1478
原创 单链表(一):如何实现单链表的创建、测长、遍历
示例代码如下:#includeusing namespace std; ///单链表结构体:结点typedef struct student{ int data; //结点中的数据 struct student *next; //指向链表下一个结点的指针}node;node *head; //头结点指针///建立单链表void *create(){
2015-10-20 10:20:04 2210
原创 发明专利:一种适用于监控视频的编码方法
发明名称: 一种适用于监控视频的编码方法申请号: CN201510356968申请日: 2015.06.25公开(公告)号: CN104967855A公开(公告)日: 2015.10.07IPC分类号: H04N19/503本专利详细信息(含下载)请扫描如下二维码:
2015-10-16 08:59:50 1092
原创 两个有意思的逻辑分析案例
第一个逻辑分析案例如下:你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候给他们一段金条。如果只允许你两次把金条弄断,你如何给你的工人按时准确地付费?答案:其实很简单(12)3(4567)即可。简单描述如下:在金条的第三段左侧和右侧弄断得到独立的第三段金条,第一天给工人3,第二天用(12)换回3,第三天把3也给工人,第四天,用(4567)
2015-10-12 22:13:04 2396
原创 递归与迭代
1、递归当函数用自身来定义时就称为是递归(recursive)的。递归必须满足四个基本法则:(1)、基本情形:必须给出基准情况,不用递归就能求出,用于终止递归运算;(2)、不断推进:对于那些要被递归求解的情形,递归调用必须能够朝着一个基准情形推进;(3)、设计法则:假设所有的递归调用都能运行;(4)、合成效益法则:在求解一个问题的同一个实例时,切勿在不同的递归调用中做重复性
2015-10-10 09:36:31 1064
原创 C++中的指针与引用、如何参数传递
C++语言中,函数的参数和返回值的传递方式有3种:引用传递、指针传递和值传递。1、引用传递引用传递传递的是引用对象的内存地址。引用传递的特点是:被调函数对形参的任何操作都会影响主调函数中的实参变量。举例说明:#includeusing namespace std;void swap3(int &p,int &q){ int temp; temp =
2015-10-09 10:25:22 990
原创 JAVA学习(九):JAVA多线程编程
本文详细解释JAVA多线程编程,首先对进程和线程做了区别,其次介绍线程的两种实现方式,即继承Thread类和实现Runnable接口,然后讨论了线程常用的方法和优先级,最后介绍了线程的同步和死锁以及线程的生命周期。 1、进程与线程的区别与联系进程:是应用程序的运行实例,是应用程序的一次动态执行。进程是由进程控制块、程序段和数据段3部分组成的。进程是操作系统进行资源分配的单位。
2015-09-06 08:08:53 717
原创 Android应用开发(四):Activity的四大启动模式
本文主要介绍Activity的启动模式,即"standard"(默认模式)、"singleTop "、"singleTask"、"singleInstance"四大启动模式,在此之前简单总结了一下Android组件的相关知识。 1、Android组件的相关知识对于Android应用,其应用程序的进程运行方式为:每一个应用程序都运行在它自己的Linux进程中,当应用程序中的任何代
2015-09-02 09:24:30 1138
原创 Android应用开发(三):如何完成Activity之间的传递参数
本文介绍如何在Activity之间传递参数,该参数包括简单数据、包Bundle(提供2种方法,即有和无Bundle的两种方法)、值对象(提供2种方法,即Serializable和Parcelable的两种方法),最后介绍如何获取Activity的返回参数。以上所介绍的内容都提供了操作步骤和源码以便于大家交流与分享心得。 1、在Activity之间传递简单数据(1)、新建Butt
2015-08-28 09:11:17 1998
原创 Android应用开发(二):Activity生命周期剖析以及如何启动新的Activity或网页
本文讲述组件Activity的相关知识,主要包括如何启动一个Activity、如何打开一个网页,最后解析Activity的生命周期相关知识。1、如何启动一个Activity(1)、新建一个Activity要启动一个新的Activity,就必须先创建一个新的Activity,Android Studio可以直接创建Activity而不需要一行一行的敲代码,这就是前面所
2015-08-26 08:51:14 1639
原创 Android应用开发(一):Android平台搭建与开发环境配置
本文从自身经历的角度分享了Android应用开发的第一步,即Android平台搭建与开发环境配置,主要包括平台的选择与安装及其安装过程中经常遇到的问题,最后给出一个实例,即第一个Android软件“Hello World!”。1、Android Studio软件下载可以在百度上直接下载Android Studio,或者到官网www.android.com上直接下载(中国大陆资源
2015-08-25 17:33:29 1700 1
原创 JAVA学习(八):JAVA文件编程
本博文主要介绍JAVA文件编程,主要包括通过JDK提供的I/O来从文件读取和写入数据、字节流读写文件的方法、字符流读写文件的方法、如何使用File类创建、删除和遍历文件与目录等操作。不管是C/C++还是JAVA,都可能生成一些持久性数据,我们可以将数据存储在文件或数据库中,但是对于一些简单性的数据,如果存储在数据库中,则会显得有点得不偿失了,那么,如何在JAVA中将数据存储在文件中就成
2015-08-19 10:48:08 1187
原创 文件/目录权限设置命令chmod的详细用法
chmod是文件/目录权限设置的命令,在Linux中经常遇到,本博文以下总结chmod的详细用法。 Linux/Unix的档案调用权限分为三级,即档案拥有者user、群组group、其他other。u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。r表示可读
2015-08-11 22:26:08 1554
原创 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
最近发现一个奇怪的错误,错误提示如下:error C4430: missing type specifier - int assumed. Note: C++ does not support default-int出现该段错误的源码(某公司校招技术笔试题)如下:#includeusing namespace std;main(){ long x=65530; long cou
2015-08-05 22:22:05 3337
原创 C++中的树、二叉树、二叉树遍历、二叉树前序、中序、后序遍历相互求法
C++中的树、二叉树、二叉树遍历、二叉树前序、中序、后序遍历相互求法本博文来总结下树、二叉树以及二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。1、什么是树?什么是二叉树?树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层
2015-08-04 11:32:36 2133 1
原创 C++中的指针、数组指针与指针数组、函数指针与指针函数
C++中的指针、数组指针与指针数组、函数指针与指针函数本文从初学者的角度,深入浅出地详解什么是指针、如何使用指针、如何定义指针、如何定义数组指针和函数指针,并给出对应的实例演示;接着,区别了数组指针与指针数组、函数指针与指针函数;最后,对最常混淆的引用传递、值传递和指针传递做了区处。C++中一个重要的特性就是指针,指针不仅具有获得地址的能力,还具有操作地址的能力。指针可
2015-07-29 11:17:18 3034 6
原创 C/C++中的经典排序算法总结
C/C++中的经典排序算法总结在C/C++中,有一些经典的排序算法,例如:冒泡排序、鸡尾酒排序或双向冒泡排序(改进的冒泡排序)、选择排序、直接插入排序、归并排序、快速排序、希尔排序和堆排序等等。下面对这些排序算法进行一一解析并给出示例代码以共享之。1、冒泡排序冒泡排序是最基本的排序算法,之所以称之为冒泡排序是因为在冒泡排序的过程中总是大数往前放,小数往后放,相当
2015-07-23 10:56:11 2492
原创 JAVA学习(七):方法重载与方法重写、this关键字和super关键字
方法重载与方法重写、this关键字和super关键字1、方法重载重载能够使具有相同名称但不同数目和类型参数的类传递给方法。注:一是重载方法的参数列表必须与被重载的方法不同,并且这种不同必须足以清楚地确定要调用哪一个方法;二是重载方法的返回值类型可以与被重载的方法相同,也可以不同,但是只有返回值类型不同不能表示为重载。例如,最常用的println()方法在JD
2015-07-15 09:53:51 1202
原创 JAVA学习(六):JAVA中的继承及其常见问题分析
JAVA中的继承及其常见问题分析1、JAVA中继承的定义JAVA中,类的继承是通过扩展其他类而形成新类来实现的,原来的类称为父类(Super Class)或基类,新的类称为原来类的子类或派生类。在子类中,不仅包含了父类的属性和方法,还可以增加新的属性和方法,从而使得父类的基本特征可被所有子类对象共享。注:类的继承并不改变类成员的访问权限,也就是说,如果父类的成员是公有的
2015-07-06 10:59:42 1284
原创 JAVA学习(五):Java面向对象编程基础
Java面向对象编程基础面向对象(Object oriented programming,OOP)技术是一种强有力的软件开发方法,它采用数据抽象与信息隐藏技术,来使软件开发简单化,以达到代码重用的目的。1、OOP的3个特性(封装、继承和多态性)封装是类的基础,指把类的相关实现细节隐藏起来,在类中将数据和实现操作的代码集中起来放在对象的内部,调用这些类时只需直接使
2015-07-05 09:45:22 1582
原创 JAVA学习(四):Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)
Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)本博文将对JAVA中组成各种结构的控制语句进行重点介绍,主要内容是区别于C/C++中的流程控制语句的重点解析。1、顺序语句顺序结构中的语句可分为:表达式语句、空语句和复合语句三大类。注:(1)、空语句主要用来作为空循环体,其语法格式如下:; //其实就是一个分号执行一
2015-07-03 20:31:21 4203 2
原创 JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
Java基础语法(变量、常量、数据类型、运算符与数据类型转换)1、变量Java中,用户可以通过指定数据类型和标识符来声明变量,其基本语法为:DataType identifier; 或 DataType identifier = value;其中,DataType是变量类型,如int/string/char/double/boolean等;identifie
2015-07-02 10:35:49 1277
原创 JAVA学习(二):JDK介绍及其结构、用途
JDK介绍及其结构、用途1、JDK的介绍JDK是Java Development Kit 的缩写,是Sun Microsystems针对Java开发员的产品。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。想要开发java产品,需先安装JDK。(1)、JDK包含的基本组件包括:javac –
2015-07-01 15:26:46 2031
原创 JAVA学习(一):Java介绍及其平台、开发环境的配置与搭建
Java介绍及其平台、开发环境的配置与搭建1、Java的介绍Java是一种面向对象的编程语言,具有跨平台、可移植、分布式、简单、可扩展等诸多特性。Java可以进行桌面应用、Web应用、分布式系统及嵌入式等应用程序的开发。Java包含3个不同版本,即J2ME/J2EE/J2SE(微缩版/企业版/标准版)。2、JDK的下载与安装、配置(1)、JDK下
2015-07-01 10:16:55 1679
tensorflow(linux_cpu_py2.7)资源包
2017-06-16
YASM小工具下载
2015-12-31
x265开源代码的实现与框架
2015-12-31
MP4转YUV工具包
2015-12-18
《Visual C++音视频编解码技术及实践》课本及源码
2015-11-16
“背景建模技术”库(37种算法)
2015-05-12
HEVC: Algorithms and Architectures
2014-12-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人