自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

XYLiu的专栏

思考 努力 拼搏

  • 博客(37)
  • 资源 (8)
  • 收藏
  • 关注

原创 笔试的一些题目

1:怎么防止头文件重复引用?为什么?#ifndef _MY_FILE_#def _MY_FILE_........#endif   _MY_FILE_ 2:指针和引用的区别?① 非空区别,在任何情况下都不能使用指向空值的引用,一个引用必须总是指向某些对象。所以如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时应该将这个变量声明为指针

2015-09-07 15:34:03 809

原创 内存分配不成功导致内存泄漏的问题

内存泄漏是在写程序中容易发生的问题,所以解决内存泄漏问题至关重要,在这里我推荐一个内存泄漏的自动化检测软件:visual leak detector,非常好用的一个软件#include void GetMemory(char  *p, int num){p = (char *)malloc(sizeof(char) * num);}int main(){ch

2015-08-25 10:29:23 884

原创 引用和指针的差别?

1:非空区别,在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。所以如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时应该将这个变量声明为指针,这样就可以给这个变量赋值;相反如果这个变量肯定指向一个对象,并且这个对象不允许为空,那么就应该声明为引用,引用的效率要高于指针效率;2:合法性区别,我们在写代码的时候,对于指针通常要进行非空验证,if

2015-08-25 10:00:04 833

原创 a、b交换的几种方法(不采用中间变量)

第一种采用加法:a = a + b;b = a - b;a = a - b;采用加法的一个缺点就是当a, b值都很大的时候容易产生越界因此就有了更安全的方法第二种采用异或a = a^b;a = a^b;a = a^b;

2015-08-24 15:35:08 793

原创 如何判断一个数的二进制有多少个1

下面给出计算代码:#include using namespace std;int foo(int x){ int count = 0; while(x) { count++; x = x&(x - 1); } return count;}int main(){ cout << foo(500) << endl;}举一反三 如何判断一个数是不

2015-08-24 15:24:50 3251

原创 (x&y)+((x^y)>>1)

程序员面试宝典中(x&y)+((x^y)>>1)的结果分析:首先先看看数据的三种对应情况1) 0 与 0对应2) 0 与 1对应3) 1 与 1对应所以得到1、是x,y对应位都是1,既1&1 = 1,,也就是(x+y)/2;2、是x,y中对应位有且只有一位是1,用(x^y)相当于计算这些位的和,>>1相当于除2;3、是x,y中对应

2015-08-24 15:13:17 632

原创 利用opencv中的级联分类器进行人脸检测-opencv学习(1)

OpenCV支持的目标检测的方法是利用样本的Haar特征进行的分类器训练,得到的级联boosted分类器(Cascade Classification)。注意,新版本的C++接口除了Haar特征以外也可以使用LBP特征。先介绍一下相关的结构,级联分类器的计算特征值的基础类FeatureEvaluator,功能包括读操作read、复制clone、获得特征类型getFeatureType,分配图片

2014-07-07 08:51:32 4917 2

转载 推荐几个免费的国外图像库,数字图像处理必备

原文地址:http://blog.sina.com.cn/s/blog_53c74fa1010002pn.html做数字图像处理的,怎能没有一个图库?虽说自己可以建立,可是如果是比较知名的图库,做出来的实验结果才能比较让人信服。coral是很有名,可他要收费。我寻寻觅觅,还是找到了一些图库,有的是纯texture图库,比如著名的vistex,有的是faceimages,有的也有RGB真彩色

2014-06-22 18:32:12 1662

原创 图像处理与计算机视觉开源软件库及学习网站

1.OpenCv(计算机视觉必学的库,个人认为其作用相当强悍)http://opencv.willowgarage.com/wiki/2.CVpaper 主页上推荐的开源视觉算法库,最全的了,也非常新,强烈推荐大家去看看http://www.cvpapers.com/rr.html3.cmu的图像处理和计算机视觉软件库,非常全,但有点老了,但都很经典,资源非常丰富http://

2014-06-16 16:44:12 2168

原创 C++中计算程序运行的时间

首先定义clock_t start, end;然后在自己要测试那段代码的前面加上start = clock(); 结尾加上end = clock();最后用输出语句进行 cout cout

2014-06-13 15:39:12 884

原创 Opencv246+vs2012生成不依赖编译环境的exe文件

在依赖opencv库下的MFC开发

2014-06-10 11:13:06 2935

原创 gamma原理及快速实现算法(C/C++)

利用查表发快速实现gamma校正

2014-06-05 13:53:55 38158 5

原创 图像拼接中的RANSAC算法

RANSAC(Random Sample Consensus)即随机采样一致性,对SIFT算法产生的128维特征描述符进行剔除误匹配点。       首先,从已求得的配准点对中抽取几对配准点,计算变换矩阵,并将这几对点记录为”内点”。继续寻找配准点对中的非内点,若这些配准点对符合矩阵,则将其添加到内点。当内点中的点对数大于设定阈值时,则判定此矩阵为精确的变换矩阵。依照以上方法,随机采样 N 次

2014-06-05 13:38:00 5699 2

原创 双边滤波和引导滤波的原理

双边滤波很有名,使用广泛,简单的说就是一种同时考虑了像素空间差异与强度差异的滤波器,因此具有保持图像边缘的特性。先看看我们熟悉的高斯滤波器其中W是权重,i和j是像素索引,K是归一化常量。公式中可以看出,权重只和像素之间的空间距离有关系,无论图像的内容是什么,都有相同的滤波效果。再来看看双边滤波器,它只是在原有高斯函数的基础上加了一项,如下其中 I 是像素的强度值,所

2014-05-06 15:59:37 4850 1

转载 integral image(积分图) 和 boxfilter

在模式识别领域,Haar特征是大家非常熟悉的一种图像特征了,它可以应用于许多目标检测的算法中。与Haar相似,图像的局部矩形内像素的和、平方和、均值、方差等特征也可以用类似Haar特征的计算方法来计算。这些特征有时会频繁的在某些算法中使用,因此对它的优化势在必行。Boxfilter就是这样一种优化方法,它可以使复杂度为O(MN)的求和,求方差等运算降低到O(1)或近似于O(1)的复杂度,它的缺点是

2014-05-06 10:32:23 17160 2

原创 双边滤波(二)

双边滤波问世

2014-05-03 17:49:29 5102

原创 双边滤波器(一)

双边滤波(Bilateral filter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。具有简单、非迭代、局部的特点。双边滤波器的好处是可以做边缘保存(edge preserving),一般过去用的维纳滤波或者高斯滤波去降噪,都会较明显地模糊边缘,对于高频细节的保护效果并不明显。双边滤波器顾名思义比高斯滤波多了一

2014-05-03 17:48:42 10566

转载 DM642视频采集程序注释

DM642学习笔记实验5.6-5.19 视频驱动程序应用DM642视频驱动程序的注释:/* *  Copyright 2003 by Texas Instruments Incorporated. *  All rights reserved. Property of Texas Instruments Incorporated. *  Restricted rights

2014-05-03 17:43:10 1218

转载 extern "C"的用法解析

1.引言  C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有

2014-04-01 21:05:28 560

原创 图像的缩放

一:使用系统默认的插值法(双线性插值)#include #include #include int main(int argc, char* argv[]){ IplImage *src = 0; //源图像指针 IplImage *dst = 0; //目标图像指针 float scale = 2.0; //缩放倍数为2倍 CvS

2014-02-24 16:53:37 726

原创 如何使用迭代器遍历图像

#include "opencv2/opencv.hpp"using namespace cv;void setAllWhiteUchar(Mat& src){ Mat_::iterator begin,end;//单通道 //获取迭代器对象 begin = src.begin(); end = src.end(); //遍历图像 while(begin != end)

2014-02-24 15:48:44 1515

原创 图像的透视变换

前几天写了一篇图像的仿射变换,因为图像的仿射变换是图像透视变换的子集,所以了解掌握图像的仿射变换是很重要的。

2014-02-23 10:30:59 4722

原创 图像处理和图像识别中常用的OpenCV函数

图像处理和图像识别中常用的OpenCV函数:1、cvLoadImage:将图像文件加载至内存;2、cvNamedWindow:在屏幕上创建一个窗口;3、cvShowImage:在一个已创建好的窗口中显示图像;4、cvWaitKey:使程序暂停,等待用户触发一个按键操作;5、cvReleaseImage:释放图像文件所分配的内存;6、cvDestroyWindow:销毁显示图

2014-02-22 21:41:31 806

原创 图像变换——计算机视觉图像处理

一、仿射变换   仿射变换的性质:平面上任意两条直线,经仿射变换后,仍然保持平行。仿射变换的功能,是一种二维坐标到二维坐标之间的线性变换,保持二维图形的“平直性”(straightness,即变换后直线还是直线不会打弯,圆弧还是圆弧)和“平行性”(parallelness,其实是指保二维图形间的相对位置关系不变,平行线还是平行线,相交直线的交角不变)。仿射变换可以通过一系列的原子变

2014-02-22 20:54:38 3049

原创 常用的图像去噪方法

一:常用的噪声有高斯噪声,椒盐噪声,泊松分布噪声,指数分布噪声。二:空域滤波器如均值滤波器,中值滤波器,低通滤波器,高斯滤波,双边滤波,引导滤波。        频域滤波器如小波变换,傅里叶变换,余弦变换,形态学滤波(通过膨胀和腐蚀等形态学进行去噪)。三:应用   均值,中值,低通,高斯去高斯白噪声,中值滤波可去椒盐噪声。   双边,引导保边去噪。  低噪度下,拍出的图片属于泊

2014-02-22 20:08:05 9306 1

原创 灰度图像的区域分割插值算法和针对彩色图像的基于Canny边缘检测的色彩融合算法

上文提到了常用的一些

2014-02-22 19:51:55 4952

原创 图像变换中常用的一些插值方法

在进行图像变换时通常会用到一些插值方法,使变换后的图像看起来更加自然。图像插值的应用非常广泛,如

2014-02-22 19:17:52 3759

原创 图像变换——仿射变换

在做图像处理中有两中情况会用到图像变换,第一种就是有一副自己想要转换的图像,第二种就是我们有一个点序列并想以此计算出变换,那么我用到的是在图像拼接中的点变换,通过提取两幅要拼接图像的关键点,利用欧式距离筛选后得到具有鲁棒性的候选点。利用这些点计算出需要变换的矩阵,进而进行图像拼接。拉伸、收缩、扭曲、旋转是图像的几何变换,在三维视觉技术中大量应用到这些变换,又分为仿射变换和透视变换。仿射变换通常

2014-02-22 16:45:09 14671

转载 cvLoadImage,cvCloneImage的内存泄露问题

针对openCV中,隐蔽的内存泄露,大家需要重视,拯救为数不多的内存,拯救应用程序的速度     在做项目的过程中,使用OpenCV经常会出现一些内存泄露问题,自己编写的程序出现问题还情有可原,但若是库函数调用和使用时出现,却很令我恼火。花了好长时间和实践的经验告诉我应该客服它。下面把一些检测出的问题进行化解。(可能是水平不够,这些函数使用不当,望高手指点)    cvLo

2014-02-22 16:13:58 737

原创 win7,win8,32位,64位下vs2012如何永久配置opencv2.4.6

无论你的系统是win7还是win8,无论是32位的还是64位的系统,按一下的方法配置几乎都是会成功的。刚接触opencv和vs的时候在网上找了很多关于如何如何配置的教程,但是很容易出问题,有的是配置完后会提示找不到core246.dll或每建一个工程都要进行配置,一度让我很头疼。自己重装win8后再网上看了不少教程最后总结出下面的教程。第一步:vs2012的下载和opencv的下载,这些都

2014-02-11 21:27:19 1843

原创 imagic 蓝牙灯

还在为半夜抹黑找不到壁灯开关而烦恼?还在为家居灯色太过单调而无聊?还在担心灯光光线太强而损害眼睛?……这些之于iMagic ,统统都是不问题,只要你拥有一支iMagic蓝牙灯,便开启了属于你的魔灯时刻。随着无线射频技术的发展,衍生出了很多新颖的应用,无线LED灯控就属于极其典型的一种,其中涉及的无线技术有wifi、zigbee和bluetooth,而与这些技术衔接的主体,便是我们的

2014-02-11 11:40:25 1276

原创 关于matlab中图像太大只能缩小显示问题的解决

在做图像拼接过程中,由于图像在拼接完后很大,matlab通常会显示Image is too big to fit on screen; displaying at 33% ,那么你想看图像拼接后的原图细节怎么办呢?解决方法如下:                              将图像显示的imshow(imge0)改成imtool(uint8(img0));在出来的界面中可以调节

2013-11-26 12:05:07 35829 6

原创 利用MFC中的picture control 控件显示图像

参考博文点击打开链接

2013-11-24 17:36:19 28331 4

原创 关于CvvImage程序

Opencv 2.2以上的版本不再包含CvvImage类,可有时我们的程序仍然需要CvvImage类,特别进行图像的拷贝、显示等操作的时候。如果用到这个类只要在工程中加入CvvImage.h和CvvImage.cpp就可以了下面的源码是从网上找到的。CvvImage.h#ifndef CVVIMAGE_CLASS_DEF#define CVVIMAGE_CLASS_DEF#i

2013-11-24 17:07:02 1885 1

原创 使用vs2012配置opencv编译出现问题:error C4996: 'fopen': This function or variable may be unsafe.

使用vs2012配置opencv编译出现问题:error C4996: 'fopen': This function or variable may be unsafe.编译结果如下:1>------ 已启动生成: 项目: LoadPicture, 配置: Debug Win32 ------1>  stdafx.cpp1>  LoadPictureDlg.cpp1>d:\open

2013-11-24 17:00:38 27353 6

原创 VS2012配置OPENCV246

1.环境变量设置  添加系统变量:变量名: OPENCV246_DIR     变量值:C:\opencv\build\x86\vc11(存放文件的路径)因人而异  变量名: PATH               变量值:%OPENCV246_DIR%\bin    将opencv下得include文件拷到C:\opencv\build\x86\vc11下2

2013-11-24 16:53:03 2648 2

原创 图像拼接技术概述

图像拼接就是把针对同一场景的相互有部分重叠的一系列图片合成一张大的宽视角的图像. 拼接后的图像要求最大程度地与原始图像接近, 失真尽可能小, 没有明显的缝合线.       图像拼接技术在宇宙空间探测、海底勘测、医学、气象、地质勘测、军事、视频压缩和传输, 档案的数字化保存, 视频的索引和检索, 物体的 3-D 重建, 军事侦察和公安取证, 数码相机的超分辨处理等领域都有广泛的应用. 主要表现

2013-11-23 11:52:12 4426

在线目标跟踪的发展预测

本文档总结了目标跟踪领域的多年发展,以及目标跟踪未来的发展走向

2014-11-10

暗通道先验图像去雾

本程序实现的是CVPR2009 best paper 利用暗通道先验的单幅图像去雾

2014-11-10

YUVplayer 读取YUV视频

本程序是基于C++的,用于开发视频处理,读取YUV视频的必备程序

2014-03-13

matlab读取YUV视频

本程序可以利用matlab读取YUV视频,并提取视频的每一帧》

2014-03-13

基于FPGA的fskmodulation

这是基于FPGA的fsk调制技术的实现,可用于本科的毕业设计实现 代码完整

2013-11-16

图像拼接技术综述

全面描述了图像拼接技术的原理,有角点检测法和相位法等。

2013-11-01

空空如也

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

TA关注的人

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