自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

键盘上跳舞的精灵

深度学习 音视频编解码 计算机视觉

  • 博客(100)
  • 资源 (2)
  • 收藏
  • 关注

原创 深度学习中的sigmod函数、tanh函数、ReLU函数

1. sigmod核函数 sigmod函数的数学公式为: 函数取值范围(0,1),函数图像下图所示: 二. tanh(x) 函数 tanh(x)函数的数学公式为: 函数取值范围(-1,1),函数图像下图所示: 三. ReLU(校正线性单元:Rectified Linear Unit)激活函数ReLU函数公式为 : 图像为: 四、高斯核函数(RBF) 又称径向基函数,公式如

2017-12-31 11:43:41 7595

原创 tensorflow遇到问题汇总

调试tensorflow,遇到诸多问题,如下所示: 参考链接: https://www.cnblogs.com/hunttown/p/6866586.html

2017-12-24 18:14:43 274

原创 matlab安装后,启动总是出现激活界面

在matlab安装目录中找到license目录,并创建license.lic文件,然后把以下内容copy到文件中,重启matlab,就可以用了。INCREMENT Aerospace_Blockset MLM 99 permanent uncounted \ A05070F00D1EB1F92326 VENDOR_STRING=QQ=47399897 HOSTID=ANY \

2017-12-22 15:25:01 12231 19

原创 HEVC一阶指数哥伦布编码

哥伦布编码主要针对slice层以上的语法元素进行的。 按照标准,可以计算一个语法元素的 1阶指数哥伦布编码 ,在HEVC中主要是对 mvd的编码中需要用到 1阶指数哥伦布编码,将其二值化 : int synVal = 14; int absV = abs(synVal); int stopLoop = 0; int k = 1; do { if

2017-12-19 19:51:52 797

原创 Tensorflow配置和Jupyter安装

最近开始学习TensorFlow,配置如下: 1、首先打开cmd,通过Anaconda创建一个名为tensorflow的python3.5环境conda create -n tensorflow python=3.5 2、启动tensorflow环境activate tensorflow **3、安装cpu版TensorFlow pip install tensorflow-1.1.0rc2

2017-12-19 18:01:49 1979

原创 美文鉴赏-《我们从哪里来,到哪里去?》

转载自 http://url.cn/5y4HIha 作者:张舵 公众号: 白鸟飘飘,绿水滔滔,嫩黄花有些蝶飞,新红叶无个人瞧。你记得跨清溪半里桥,旧红板没一条。秋水长天人过少,冷清清的落照,剩一树柳弯腰。1、姬无命之死 某一天,一个门卫拦住了你,向你提出了三个问题: “你是谁?” “你从哪里来?” “要往何处去?”你只是一愣,想开口回答,却又有些犹豫。你开始在心里反问你自己:“我是

2017-12-14 09:56:15 1520

原创 ffmpeg滤镜专题4-给视频嵌入水印

将某个图片嵌入到视频中,可以使用以下指令:ffmpeg.exe -v error -i input.mp4 -vf "movie=logo.png,scale=100:100 [watermark];[in][watermark] overlay=0:0:enable='between(t\,300.000000\,600.000000)' [out]" -y output.mp4其中,-vf表示使

2017-12-11 17:45:27 553

原创 c标准IO库使用

虽说大部分场合能用c的都可以用c++代替,但是对于开发库,还是用c效率高。下面介绍c标准IO库: 文件操作标准I/O库函数:fopen、fread、fwrite、fclose、fflush、fseek、fgetc、getc、getchar、fputc、putc、putchar、fgets、gets、printf、fprintf、sprintf、scanf、fscanf、sscanf、fgetops

2017-11-30 11:08:31 630

转载 C/C++中volatile关键字详解

1. 为什么用volatile?C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 “The C++ Programming Language” 对 volatile 修饰词的说明:A volatile specifier is a hint to a compiler that an object ma

2017-11-30 10:09:40 147

原创 static的用途

书上都说,static有三个特点:隐藏、只初始化一次和限于本文件范围使用,下面我开始分析一波,在类中的使用方式。为何在类中使用,因为static不受类实例化的约束,多个实例可以共享static变量和函数,那么作用还是显而易见的,下面请看代码:class A { static float a; const static int b = 30;public: static vo

2017-11-24 15:01:31 293

原创 vs平台如何查看汇编代码

方法如下,先创建一个C++ Project,然后加入上面的代码,在main函数或者其他地方设置断点,注意是Debug版本,否则代码经过优化会多很多。然后按钮F5或者点击Debug->Start Debuging程序会走到main处停下。然后点击按钮 Debug->Windows->DisAssambly即可看到汇编窗口

2017-11-23 14:12:45 2137

原创 C++强制转换符

1. dynamic_cast: 通常在基类和派生类之间转换时使用。 特点: 1)在运行期,会检查这个转换是否可能。 2)完成类层次结构中的提升。T必须是一个指针、引用或无类型的指针。a必须是决定一个指针或引用的表达式。 3)dynamic_cast 仅能应用于指针或者引用,不支持内置数据类型 4)表达式dynamic_cast<T*>(a) 将a值转换为类型为T的对象指针。如果类型T不是

2017-11-23 12:01:25 471

原创 C++ explicit作用

C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色: 1)构造器 ; 2)默认且隐含的类型转换操作符。 所以, 有时候在我们写下如 AAA = XXX, 这样的代码, 且恰好XXX的类型正好是AAA单参数构造器的参数类型, 这时候编译器就自动调用这个构造器, 创建一个AAA的对象。 这样看起来好象很酷, 很方便。 但在某些情况下(见下面权威的

2017-11-10 18:05:07 280

原创 危险的_strdup函数

_strdup函数定义如下:char * __strdup (const char *s) { size_t len = strlen (s) + 1; void *new = malloc (len); if (new == NULL) return NULL; return (char *) memcpy (new, s, len); } 从

2017-11-10 11:15:33 5211

原创 STL 理解相等和等价的区别

在STL中,比较两个数是否相等,这样的操作很常见。例如:通过find函数在某个区间寻找第一个等于某个值的元素时,find能够比较两个对象是否相等,与之相似的还有set容器的插入操作,判断插入的键值是否与set中存在的值相等。 在实际操作中,相等的概念基于operator==,但是有一点必须要知道,x==y为真时,并不代表他们所有的数据成员都有相等的值。例如:class widge { publi

2017-11-02 15:10:02 1485

原创 避免使用vector<bool>

vector作为容器,有以下两点不对:1)它不是stl容器 2)它并不存储bool 如果c是包含对象T的容器,而且c支持operate[],那么下面的代码必须能够被编译:T *p= &c[0]因此,vector是一个容器,那么下面的这段代码必须可以被编译:vector<bool> v;bool *pb=&v[0]; //变量地址初始化一个bool*变量结果,上述表达式并不能编译,原因是vecto

2017-11-01 20:29:02 580

原创 STL 去除多余的容量

虽然stl容器可以动态分配空间,尤其是顺序容器。但是很多情况下,为了避免对内存的多次分配,将会预先给容器分配很大的内存空间,等数据分配完成后,再进行去除多余的空间,这种方式可以有效提供程序的效率。这里采用下面的做法,可以从容器中去除多余的向量:vector<Constestant>(constestants).swap(constestants);代码如下:#include<iostream>#i

2017-10-30 17:42:02 481

原创 linux fork()函数浅析

fork()顾名思义是分支的意思,也就是克隆程序后面的代码至新的进程中,直接上程序:#include #include int main(){ pid_t fpid; //fpid表示fork函数返回的值 int count = 0; fpid = fork(); if (fpid < 0) p...

2017-10-27 10:45:54 363

原创 JS添加按钮交互

实现span内容增加和删除操作,代码如下:<!DOCTYPE html><html><head> <title>新增按钮</title></head><body><div id='container'> <button id="btn-add">新增</button> <div id="wrap"></div></div><script type="text/j

2017-10-22 14:24:07 2931

原创 c++读入文本所有内容

如何用c++将文本所有内容全部读入呢?可以使用getline函数,进行逐行读入。直接上程序:#include <iostream> #include <fstream> #include <string> using namespace std;int main(){ char *filePath = "E:\\test.txt"; ifstream file;

2017-10-22 13:44:28 783

转载 Linux chmod 命令

chmod—-改变一个或多个文件的存取模式(mode)chmod [options] mode files只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。options:-c,–changes 只输出被改变文

2017-10-22 11:08:35 287

原创 linux可执行文件找不到共享库

今天在执行一个ffmpeg程序时,提示:ffmpeg: error while loading shared libraries: libx264.so.152: cannot open shared object file: No such file or directorygoogle了一下,是由于找不到lib这个文件。解决办法:一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库

2017-10-20 11:55:59 2368

原创 MingW64+msys编译x264

很多情况下,我们需要在windows下使用linux下的开源库进行调试,那么如何编译64位的静态库? 1. 首先安装Mingw64和msys,安装地址见附录。 假设Mingw64的安装目录为d:/Mingw64, msys的目录在d:/msys,进入d:/msys/1.0/etc,修改fstab文件,改为:d:/Mingw64 \mingw2.运行d:/msys/1.0/msys.b

2017-10-19 14:03:29 565

转载 C/C++中输入带空格的字符串用法总结

在C/C++中,传统的输入流scanf(“%s”,&str) 和cin>>str,遇到空格会返回空格之前的字符串。但是在很多应用中,我们需要字符串中可以同时包含空格,那么前面的两种方法现在就不可用了,在C/C++中给我们提供了那些输入流处理方式呢。下面是我总结的几种常用的方法:(1)gets(char *str) 需要包含头文件#include <stdio.h>(2)scanf("%[^\n]

2017-10-19 10:01:34 1770

原创 ffmepg滤镜专题3-旋转

滤镜: transpose 在输入视频中转置行,并随意翻转。 dir 指定转换方向。passthrough 如果输入几何与指定值指定的值匹配,就不应用转置。它接受以下的值:‘none’ 总是应用转置。‘portrait’ 保存肖像几何(当 height >= width).‘landscape’ 保护景观几何(当 width >= height).Default value is

2017-10-16 17:29:14 373

原创 C++ STL list

list作为C++STL顺序容器,担任着重要的决策。它的插入和删除的时间复杂度为O(1),底层采用双向链表的结构。不多说了,直接上代码:#include <iostream>#include <list>#include <numeric>#include <algorithm>using namespace std;//创建一个list容器的实例LISTINTtypedef list<

2017-10-16 15:38:46 270

原创 c++ STL map解析

map是用来存放#include <map> #include <string> #include <iostream> using namespace std;struct CmpByKeyLength { bool operator()(const int& k1, const int& k2) { return k1 > k2; }};class

2017-10-13 17:12:19 337

原创 C++ STL set和multiset

1.概念 set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。 set和multiset的区别是:set插入的元素不能相同,但是multiset插入的元素可以相同。std::set<int> s;s对象里面存贮的元素是从小到大排序的。(因为默认用std::less作为比较工具,这

2017-10-13 11:03:53 298

转载 学习c++50条建议

1.把C++当成一门新的语言学习;2.看《Thinking In C++》,不要看《C++变成死相》;3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看;4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言;5.不要放过任何一个看上

2017-10-12 17:33:59 232

原创 C++11 通用智能指针

记录下,C++11标准下的通用智能指针,请注意shared_ptr是类,并不是真正的指正,具体用法如下所示:#include <iostream>#include <string>#include<memory>using namespace std;int main() { std::shared_ptr<double> p_first(new double); {

2017-10-12 16:16:02 375

原创 正则表达式-字符串分割

C++不像java那样,有自己的字符串分割函数,那么我们在实际应用中如何快速对某些规定格式的字符创进行分割,并提取内容呢? 下面来看代码: 针对IP地址,如何分割:10:22:192:34/17 //子表达式匹配 regex reg2("(\\d{1,3}):(\\d{1,3}):(\\d{1,3}):(\\d{1,3})/(\\d{1,3})"); vector<stri

2017-10-12 14:29:27 3275

原创 C++11标准 正则表达式

1.介绍 新的标准库定义了一个新的头文件<regex>,由一些新的类组成: 1.正则表达式由模板类std::regex的实例来表示; 2.模式匹配由的结果模板类std::match_results的实例来表示; 3.函数 regex_search 是用来搜索模式的; 若要搜索并替换,则要使用函数 regex_replace,该函数会返回一个新的字符串。算法regex_search 和 reg

2017-10-12 12:00:08 1299

原创 c++11新容器 tuple

tuple顾名思义是元组的意思,提起元组应该并不陌生,很受欢迎的python就有元组的概念,大家感兴趣可以去看看,这里主要介绍tuple的结构和常用使用方法。首先来看官方给出元组的说明:元组(tuple)由预先确定数量的多种对象组成.元组可以看作是struct数据成员的泛化.TR1 tuple类型的C++11版本获益于像可变参数模板这样的C++11语言特性.TR1版本的元组需要一个由实现定义的包含的

2017-10-12 10:46:15 434

转载 C++字符串分割

字符串切割的使用频率还是挺高的,string本身没有提供切割的方法,但可以使用stl提供的封装进行实现或者通过c函数strtok()函数实现。1、通过stl实现涉及到string类的两个函数find和substr: 1、find函数 原型:size_t find ( const string& str, size_t pos = 0 ) const; 功能:查找子字符串第一次出现的位置。

2017-10-10 16:24:53 277

原创 H.264名称解释

为了弄清 H.264 编解码器的细节,必须先对以下名词的定义有清楚的理解: 1 场和帧 视频的一场或一帧可用来产生一个编码图像。通常,视频帧可分成两种类型:连续或隔行视频帧。在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场。显然,这时场内邻行之间的空间相关性较强,而帧内邻近行空间相关性强,因此活动量较小或静止的图像宜采用帧编码方式,对活动量较大的运动图像则宜采用场编码方式。2 宏块、片

2017-09-30 09:54:29 363

转载 GDB查看源码

在调试程序的过程中,可以自由地查看相关的源代码(如果有源代码的话)是一项最基本的特性。一些IDE在这方面做得相当好,GDB当然也提供了这项特性,虽然不如IDE直观,但在一定程度上要比IDE更加灵活和快捷。GDB之所以能够知道对应的源代码,是因为调试版的可执行程序中记录了源代码的位置;因为源代码的位置在编译之后可能会移动到其它地方,所以GDB还会在当前目录中查找源代码,另外GDB也允许明确指定源代码的

2017-09-29 16:30:08 4143

原创 vs2017下linux远程调试经验

调了半天,终于进入gdb断点调试了,下面分享下经验: 1.vs2017建立工程,出现gdb-server找不到,解决方法: http://blog.csdn.net/hutianyou123/article/details/781320512.windows上调试linux项目时,无法设置断点,但是结果正确。 源文件名设置为中文了,所以无法设置断点,建议所有路径或文件设置为英文名。3.debu

2017-09-29 15:07:35 6184

转载 linux如何安装gdb-server

使用vs2017远程调试linux, 网上博客一大堆,很多都是坑,大家小心:1.引用: https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/注意安装gdbserver的命令是 yum install gdb-gdbserver 不是文中的gdbserver2.linux各个组件安装后之

2017-09-29 11:15:58 9434 4

转载 linux下各种格式的压缩包的压缩、解压方法

总结了linux下各种格式的压缩包的压缩、解压方法:    .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!).gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName.tar.gz 和 .tgz 解压:

2017-09-29 10:18:13 898

原创 C/C++结构体初始化

针对C/C++中定义的结构体,如何初始化其实是一门很深的学问,很多项目的bug是由结构体初始化造成的。struct A { int a; int b[2]; char *c; string d;}A1不如上面的结构体,如何针对这四个不同类型的变量进行初始化?1.最直接的方式struct A a={1,{1,2},NULL,""};2.利用指针A *st=new A();st->

2017-09-19 20:01:55 1087

ffmpeg测试代码

该代码可直接运行!

2017-08-01

深度学习工具箱

完整的深度学习工具箱,包含CNN, DBN,NN等常见深度学习模型。

2017-03-05

空空如也

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

TA关注的人

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