自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FireBird的专栏

行之则易

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

转载 [转] Linux system函数返回值

https://blog.csdn.net/cheyo/article/details/6595955例: status = system("./test.sh");  1、先统一两个说法:(1)system返回值:指调用system函数后的返回值,比如上例中status为system返回值(2)shell返回值:指system所调用的shell命令的返回值,比如上例中,test.sh中返回的值为...

2018-05-10 21:07:28 327

转载 [转] 尾调用优化

http://www.ruanyifeng.com/blog/2015/04/tail-call.html一、什么是尾调用?尾调用的概念非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。  function f(x) {     returng(x);   } 上面代码中,函数f的最后一步是调用函数g,这就叫尾调用。以下两种情况,都不属于尾调用。// 情况一 funct...

2018-03-21 18:58:37 328

转载 [转] 凸包求解算法

转自http://blog.csdn.net/bone_ace/article/details/462391870 引       所谓凸包即选定点的连线组成的多边形能够将其它所有的点都包进来,这些点的连线组成的多边形即称之为凸包,如下图所示。凸包的作用可以是求解目标区域的轮廓,图像分割等图像高级形态学的操作。1 数学基础如何判断一个点 p3 是在直线 p1p2 的左边

2017-10-09 21:29:11 1565

转载 [转]图像边缘提取-Canny算法

[转自http://blog.csdn.net/likezhaobin/article/details/6892176]图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。图象的边缘部分集中了图象的大部分信息,图象边缘的确定与提取对于整个图象场景的识别与理解是非常重要的,同时也是图象分割所依

2017-09-27 22:50:35 14899

转载 图像金字塔

0 序       图像金字塔实际上是一张图片在不同尺度下的集合,即原图的上采样和下采样。常见的金字塔包括高斯金字塔和拉普拉斯金字塔,但是也有一些其它算法衍生的金字塔,并不一定要高斯模糊。需根据自身应用而定,参考文献0中所述的理由我并不认同。       图像金字塔更多的是一种构建不同尺度空间的思想,网络上搜索较多的可能是在SIFT算法中的应用了,除此之外,还可以应用在光流中,slam的姿

2017-09-26 23:56:40 12609 1

原创 图像阈值

0 引图像阈值,即图像的分割基准,基于此可完成图像的二值化。图像二值化可用于OCR成图像的分割(也是最为简单的一种)。这种分割是基于图像像素值级别的差异,且一般的对象是灰度图像。1 图像二值化如上所述,图像阈值的进一步处理就是二值化,二值化包含但不限于“大于阈值为255,小于阈值为0”的处理模式。具体如下所示。其实个人理解这些方法只是提供了一种在处理图像时的思路,并不一定要死记住方法的

2017-09-24 16:52:38 13059

原创 双边滤波

0 序       均值滤波是基于模板内像素值取均值的一种滤波方式,显然没有考虑距离的因素,所以效果不好,边缘不突出。因此,高斯滤波是基于此以距离为权重作为模板值的参考,所以边缘得到了改善,但也不是特别明显。另外,高斯滤波作为线性滤波,对噪声也是比较敏感的。所以,又在高斯基础上,做了进一步优化,叠加了像素值的考虑,因此也就引出了双边滤波,一种非线性滤波,一种对保留边缘更有效的滤波。1

2017-09-19 22:05:40 1742 1

原创 线性与非线性

叠加性当多输入系统共同作用于系统时产生的效果,与各个输入作用于系统产生的效果和,相同。用方程刻画如下。例如,物理学中,物体的加速度等于作用于该物体的合力产生的加速度,但是也等于各个分力产生的加速度和。f(x)+ f(y) = f(x+y)齐次性       即满足如下方程。f(ax) = a*f(x)线性系统与非线性系统所谓线性系统即指满足叠加性与齐次性的系统,反之即为

2017-09-17 16:46:07 1279

原创 图像增强之03锐化

之前讲述的是通过做直方图均衡化的方法达到增强图像的方法。除此之外,锐化也是常用的一种手段。通过锐化处理之后的图像,可以使得边缘清晰,颜色更鲜明,可以用于进一步提取图像的边缘进行图像分割,区域形状提取等。0 锐化方法       图像锐化的方法,通常分为基于空间域的微分法和基于频域的高通滤波法,本文暂时只讲述微分法,之后会补充高通滤波法。       微分法的原理其实就是数学的逆运算,通

2017-09-16 11:59:35 1557

转载 [转]图像梯度:图像频率

0 定义图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。1 高中低频意义不同频率信息在图像结构中有不同的作用。图像的主要成分是低频信息,它形成了图像的基本灰度等级,对图像结构的决定作用较小;中频信息决定了图像的基

2017-09-10 13:54:27 1930

原创 OpenCV常用API

cvtColor功能:转换色彩空间,及矩阵数据类型(如果需要提高计算精度可能需要将数据转换成高精度类型)。原型:void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0) 参数:code是一个掩码,表示由src到dst之间是怎么转的,比如是彩色转为灰度,还是彩色转为HSI模式;最后的dstCn表示dst图像

2017-09-10 13:32:15 697

转载 脚本执行

解释器的区别脚本常用的开头是“#!解释器”,其中“#!”是特殊的表示符,其后面跟着的是解释此脚本的解释器路径。解释器分为很多类。比如/bin/bash,/bin/sh,/bin/csh,/bin/perl,/bin/awk等等。GNU/Linux操作系统中的bin/sh本是bash的符号链接,但是bash过于复杂,所以有人有把NetBSD的ash移植到了Linux并更名为dash,并建

2017-09-09 12:56:33 819

转载 [转]图像梯度:算子

0 定义本质上是用于卷积运算的模板,最终效果上是求得梯度。Roberts 算子,Sobel算子、Prewitt算子以及Laplace算子等。按功能分,上述算子都是求边缘检测的算子。如果按求导的阶数分类,Roboert、Sobel、Prewitt都是一阶算子,而Laplace属于二阶算子。1 推导1.1 Robert算子利用局部差分算子寻找边缘的算子,采用对角线相邻两像素之差(正常梯

2017-09-01 15:51:53 21417

转载 [转]图像梯度:概述

0 定义       图像梯度是描述图像像素之间差异的一种方法,可以作为图像的一种特征表征图像(用于模式匹配)。从数学角度而言,图像梯度是指像素的一阶导数。1 计算       其计算的一般方法,可以从X和Y两个方向描述。把图像看成二维离散函数,则在数字图像中就可以把图像表示成一个M*N的二维数字阵列,如下图。图像梯度其实就是这个二维离散函数的求导: 图像梯度: G(x,y)

2017-08-29 15:04:59 2322

原创 最大值、最小值、中值、均值滤波

0 定义及用途       均值滤波,即以模板内算术平均数的值代替中心像素值,可以降低高斯噪声。       中值滤波,即以模板内进行有序排列后位于中间的像素值代替中心像素值,可以降低椒盐噪声。       最大值滤波,即以模板内进行有序排列后最大像素值代替中心像素值,可以去除图像中的暗斑,使亮斑增大。最小值滤波,即以模板内进行有序排列后最小像素值代替中心像素值,可以去除图像中的亮

2017-08-29 12:34:22 7611

原创 高斯噪声和椒盐噪声

0 定义       高斯噪声,顾名思义是指服从高斯分布(正态分布)的一类噪声,通常是因为不良照明和高温引起的传感器噪声。通常在RGB图像中,显现比较明显。如下图。       椒盐噪声,通常是由图像传感器,传输信道,解压处理等产生的黑白相间的亮暗点噪声(椒-黑,盐-白)。通常出现在灰度图中。如下图所示1 噪声生成方法       在原有像素值加上噪声分量,

2017-08-29 11:04:47 55975 2

转载 [转]拉伸插值算法

0 概述       本文主要讲解的是针对平面图像在拉伸过程中,常常使用两种插值算法:最近邻元插值和双线性插值。另外也列举了其它场景中用的算法,但是没有深入研究就不阐述,待有时间再一一补上。1 最邻近元法  这是最简单的一种插值方法,不需要计算,在待求象素的四邻象素中,将距离待求象素最近的邻象素灰度赋给待求象素。设i+u, j+v(i, j为正整数, u, v为大于零小于1的小数,下同

2017-08-26 22:56:21 1676

原创 Restrict关键字

0 定义C99中新增加的用于修饰指针的关键字,用于表示该指针所指向的内存,只有通过该指针访问得到(如下ptr指向的内存单元只能通过ptr访问得到)。从而可以让编译器对代码进行优化,生成更有效率的汇编代码。char *restrictptr;1 优化举例       举例1,如下代码(引自参考1),以及翻译成汇编之后的代码。#include #ifdefRESvo

2017-07-12 16:54:15 2200

转载 [转] 卷积

0 定义       简单定义:卷积是分析数学中一种重要的运算。       设:f(x),g(x)是R1上的两个可积函数,作积分:       可以证明,关于几乎所有的实数x,上述积分是存在的。这样,随着x的不同取值,这个积分就定义了一个新函数h(x),称为函数f与g的卷积,记为h(x)=(f*g)(x)。       由卷积得到的函数f*g一般要比f和g都光滑。特别

2017-06-25 22:50:33 715

原创 OpenCV Mat常用操作

#include #include //opencv 常用矩阵操作int main(int argc, char* argv[]){ //----------------------------------------- //0. MAT 定义 //----------------------------------------- //初始化时指定尺寸和数据类型

2017-06-18 15:49:24 875

转载 [转] 图像灰度化

0 分量法将彩色图像中的三分量的亮度作为三个灰度图像的灰度值,可根据应用需要选取一种灰度图像。f1(i,j)=R(i,j) f2(i,j)=G(i,j) f3(i,j)=B(i,j)其中fk(i,j)(k=1,2,3)为转换后的灰度图像在(i,j)处的灰度值。1 最大值法将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。f(i,j)=max(R(i,j),G(i,j),B

2017-06-12 16:27:56 839

转载 [转] GLOG 使用

0 下载及编译从网络上搜索即可得到下载链接。然后编译(本人编译的是静态链接库libglog_static),编译过程中可能会报出如下错误。(0)”min ” 不是std成员;#include ;(1)函数snprintf已经被定义可注释,或者将所有snprintf替换为其它名称如“glog_snprintf”(原因在于VS2015中已经集成C11,而C11中已经将该函数列入了标

2017-06-07 09:28:56 2017 1

转载 【转】调试段错误方法

0 引言     在调试应用程序时,可能因各种原因导致运行发生段错误。因此,有必要将堆栈调用信息打印出来,方便定位错误。1 方法     在glibc头文件execinfo.h中提供了三个函数获取当前线程的函数调用堆栈。0)  int backtrace(void **buffer,  intsize)该函数将获取的堆栈信息保存至buffer中,参数size则是表示buffer

2017-06-05 10:15:44 659

原创 Ubuntu14.04 导航栏消失

因电脑没电自动关机,导致Vmware中的虚拟机(Ubuntu14.04),root用户登陆后,左边以及任意窗口的导航栏都消失不见,而且启动终端的快捷键也无法工作。但是其它用户是正常显示的。    首先,搜到了基本上都是说ccsm 、 unity类似的安装来解决,可参考http://tieba.baidu.com/p/3082327066。但是如上操作后还是没有解决。其实也容易定位,因为其它用户

2017-05-08 12:24:46 2393

转载 [转]AXI4与AXI3区别

1.burst lengthAXI4对burst length进行了扩展:AXI3最大burstlength是16 beats,而AXI4支持最大到256 beats,但是仅支持INCR burst type超过16 beats,exclusiveaccess也不能超过16beats;。但是根据经验来讲各家公司好像也没太遵循这个规则,很多AXI3的IP awlen/arlen的位宽是多少,支持

2017-05-05 07:36:46 2882

转载 色彩空间

0 概述    颜色通常用三个相对独立的属性来描述,三个独立变量综合作用,自然就构成一个空间坐标,这就是颜色空间(颜色模型)。而颜色可以由不同的角度,用三个一组的不同属性加以描述,就产生了不同的颜色空间。但被描述的颜色对象本身是客观的,不同颜色空间只是从不同的角度去衡量同一个对象。主要包括:    RGB               用于扫描仪、显示设备、计算机系统;    CMKY 

2017-05-03 15:01:21 895

原创 OpenCV之imread解析

近日,开始学习图像处理,思前想后决定以opencv作为实验基础。遂完成图片读取和显示功能。Imread作为常用的图像读取函数,虽然简单,但是参数的选择非常重要,直接影响到后期处理。同时在调试学习过程中也可以学习到图像处理的知识。0 函数原型    Mat imread(const String& filename,int flags = IMREAD_COLOR);

2017-04-28 07:43:41 78189

原创 C++小经验汇总

本篇博客旨在汇总一系列在C++开发过程中遇到的小问题和经验总结。1 c++ 16进制显示字符变量c++16进制显示,资料一直只是说明需要在输出变量之前指定进制,如std::cout

2017-04-27 22:45:21 306

转载 [转] getopt getopt_long函数

转自http://blog.csdn.net/cashey1991/article/details/79428090 getopt#include   int getopt(int argc,char *const argv[],            constchar *optstring); extern char *optar

2017-04-10 23:06:21 276

转载 [转] C++前向声明

转自http://blog.csdn.net/damotiansheng/article/details/50916394整理于:http://blog.csdn.net/heyutao007/article/details/6649741http://blog.sina.com.cn/s/blog_68d90fdb0100yapr.html1. 前向声明好处1)不必要的#in

2017-03-24 16:22:47 294

转载 Linux串口读写

0 数据结构       串口的设置主要围绕在struct termios结构体的设置,其定义如下。struct termios {    tcflag_t c_iflag   ;  /* 输入模式旗标 */    tcflag_t c_oflag   ;  /* 输出模式旗标 */    tcflag_t c_cflag   ;  /* 控制模

2017-03-21 11:27:59 2473

转载 Zynq 文件系统制作

0 扩容默认xilinx提供的文件系统可能只有16MB,如果我们想要扩容时,需要重新制作,制作的过程可参考官方wiki(http://www.wiki.xilinx.com/Expanding+File+System)。大致流程可以简述如下。Make an 8MBramdisk ,通过改变count值可以改变ramdisk大小dd if=/dev/zero of=initrd.im

2017-03-16 23:56:54 2584

转载 integer综合分析

大多数的矢量类型(reg或者net)都被默认当做无符号数。integer和real是个例外,它们被默认为当做有符号数。通常,real类型是不可综合的。    假设在没有溢出的情况下,不管是无符号数还是有符号数,它们都是二进制的一串数值而已;而当这个值被当做某种类型比较时:又符号数的MSB被用来表示这个数字的符号,而无符号数的MSB则是位权最高的那一位。无论采用什么样的二进制格式,一个无符号数永

2017-02-06 18:34:54 1334

原创 输入函数对比

0 scanf(0)      函数原型:int scanf(const char * restrict format,...);(1)      返回值:返回成功读入的数据项数,注意是数据项数;例如scanf(“%d %d”, &a, &b),如果a、b都被读入则返回2,如果只有a被读入则返回1。(2)      标准的库函数,包含在#include 中。(3)      读字符

2017-01-05 18:23:25 327

原创 Git使用积累

因新工作需要使用GIT,之前主要在SVN上操作,GIT只是临时性,很多问题只是当时解决了,并没有记录。因此本博客正是出于此目的而写。0 基本克隆一个仓库的步骤首先,基于ssh-key本地生成公钥,如ssh-keygen -t rsa -C "[email protected]";然后,在托管代码网站上添加个人公钥;最后,git clone your_code_

2016-12-23 07:25:12 376

原创 关于SpinLock的更深入理解

0 前言         之前转载过一篇阐述spin_lock的博文,但始终理解不深入,记忆不深刻。今天,花了半天阅读完LDD3的相关章节,有种顿悟的感觉,遂简要记下自己的理解。Btw,LDD3真心是字字珠玑,没有半句废话,而且从这边书可以看出外国人写书非常注重前后的呼应,而国内大多数书都是就事论事,没有体系的感觉,也难以启发人深入思考。(一不小心又吐嘈了一遍,罪过罪过……)另外,关于LDD3

2016-12-06 23:24:59 7824 4

转载 BT656简介

转自http://www.cnblogs.com/s_agapo/archive/2012/04/08/2437775.html凡是做模拟信号采集的,很少不涉及BT.656标准的,因为常见的模拟视频信号采集芯片都支持输出BT.656的数字信号,那么,BT.656到底是何种格式呢?      本文将主要介绍 标准的 8bitBT656(4:2:2)YCbCr SDTV(标清) 数字视频信号格

2016-12-06 15:18:05 1873

转载 [转] Linux进程状态

转自:http://blog.csdn.net/nilxin/article/details/7437671    本文主要针对Linux系统对进程状态的定义,不同OS可能有一定的差别。0 Linux进程状态:R (TASK_RUNNING),可执行状态    只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制

2016-11-29 15:37:27 362

原创 网卡驱动之02驱动源码分析

0 环境内核:经过xilinx基于zynq平台定制的4.4.0系内核;硬件:zynq芯片,其中mac contorller是使用Cadence的IP核,phy芯片使用提marvell的1116R芯片;设备树:如下表所示,定义了phy芯片与mac controller;ethernet@e000b000 {    compatible = "cdns,zynq-g

2016-11-09 12:24:34 6550 2

转载 网卡驱动之01硬件及协议介绍

在此之前,本人对网卡的理解局限于平台上的PHY芯片或者MAC芯片,甚至认为是相同的东西以至于在在开发驱动程序追踪内核代码时,总是傻傻分不清。本文旨在通过介绍硬件常识以达到更好的理解驱动代码。0 PHY 与 MACTCP/IP协议栈分为五层,其中自顶向下的前三层(应用层、传输层和网络层)都是软件实现的概念(集成在操作系统软件中)。而后两层,则有相应的硬件控制器实现,通常链路层的芯片集成在处理

2016-11-08 13:08:35 3145

CMAKE实践经典教材

CMAKE实践的经典教材(带标签),非常实用,zsbd.zsbd.

2018-06-22

CMake手册详解[格式整理+带标签]

CMAKE,转自博客园大神翻译,可以作为工具书,且经过格式整理的,带标签的,非常方便查阅

2017-12-06

空空如也

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

TA关注的人

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