![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机视觉
passball
这个作者很懒,什么都没留下…
展开
-
图像缩放的双线性内插值算法的原理解析
图像的缩放很好理解,就是图像的放大和缩小。传统的绘画工具中,有一种叫做“放大尺”的绘画工具,画家常用它来放大图画。当然,在计算机上,我们不再需要用放大尺去放大或缩小图像了,把这个工作交给程序来完成就可以了。下面就来讲讲计算机怎么来放大缩小图象;在本文中,我们所说的图像都是指点阵图,也就是用一个像素矩阵来描述图像的方法,对于另一种图像:用函数来描述图像的矢量图,不在本文讨论之列。越是简单的模型越适合原创 2010-05-05 17:33:00 · 915 阅读 · 0 评论 -
如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】
我保证这篇文章和你以前看过的所有文章都不同,这是 2012 年还在果壳的时候写的,但是当时没有来得及写完就出国了……于是拖了两年,嗯,我是拖延症患者……这篇文章的核心思想就是:要让读者在不看任何数学公式的情况下理解傅里叶分析。傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈转载 2016-08-02 09:24:32 · 2198 阅读 · 1 评论 -
常见的机器视觉工具(转载)
一、开源的OpenCV机器视觉我们最常用的软件是OpenCV(Intel OpenSource Computer Vision Library),它的中文论坛http://www.opencv.org.cn/index.php里面有非常清楚的介绍。二、VisionPro®7.0系统,快速开发强大的应用系统康耐视公司(Cognex ®)推出的 VisionPro ® 系统组合了世界一转载 2015-08-12 23:58:07 · 5649 阅读 · 0 评论 -
机器视觉开源代码集合(转载)
一、特征提取Feature Extraction:SIFT [1] [Demo program][SIFT Library] [VLFeat]PCA-SIFT [2] [Project]Affine-SIFT [3] [Project]SURF [4] [OpenSURF] [Matlab Wrapper]Affine Covariant Feature转载 2015-08-12 23:56:49 · 1966 阅读 · 0 评论 -
IplImage, CvMat, Mat 的关系和相互转换(转)
opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“图像”,opencv对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。在opencv2.0之前,opencv是完全用C实现的,但是,IplIm转载 2015-04-07 00:29:55 · 1099 阅读 · 0 评论 -
卷帘快门与全局快门的区别
图解:卷帘快门(Rolling shutter)与全局快门(global shutter)的区别什么是shutter?快门是照相机用来控制感光片有效曝光时间的机构。是照相机的一个重要组成部分,它的结构、形式及功能是衡量照相机档次的一个重要因素。一般而言快门的时间范围越大越好。秒数低适合拍运动中的物体,某款相机就强调快门最快能到1/16000秒,可轻松抓住急速移动的目标。不过当你要拍转载 2015-03-16 10:10:47 · 35589 阅读 · 1 评论 -
卡尔曼滤波小结
一直在看,一直不懂。 我这人学数学的毛病,就是需要非常细致的知道每个变量的含义,谁变谁不变必须清清楚楚告诉我,否则我就没有那个直觉。 anyway,从这篇文章入手吧:http://www.cs.unc.edu/~welch/kalman/media/pdf/kalman_intro_chinese.pdf所谓滤波,实际上是要去掉自己不想要的信号,保留想要的部分。一般来说,是把过程中转载 2015-03-25 14:41:06 · 5942 阅读 · 0 评论 -
关于卡尔曼滤波和粒子滤波最直白的解释
卡尔曼滤波本来是控制系统课上学的,当时就没学明白,也蒙混过关了,以为以后也不用再见到它了,可惜没这么容易,后来学计算机视觉和图像处理,发现用它的地方更多了,没办法的时候只好耐心学习和理解了。一直很想把学习的过程记录一下,让大家少走弯路,可惜总也没时间和机会,直到今天。。。我一直有一个愿望,就是把抽象的理论具体化,用最直白的方式告诉大家--不提一个生涩的词,不写一个数学公式,像讲故事一样先把转载 2015-03-25 14:40:17 · 27305 阅读 · 14 评论 -
pitch yaw roll 的区别
参照:http://blog.csdn.net/pizi0475/article/details/6365927 https://www.grc.nasa.gov/WWW/k-12/airplane/Images/rotations.gif 基本的图像原型如下图:Pitch Axis表示x轴,Yaw Axis表示y轴,Roll Axis表示z轴,这也是右手转载 2015-01-19 23:24:00 · 4568 阅读 · 0 评论 -
安装 Tensorflow
环境:Ubuntu 16.04 64bit1. 安装Anaconda Anaconda 是 Python 的一个科学计算发行版,内置了数百个Python经常会使用的库,也包括了许多机器学习和数据挖掘依赖的库,包括 Scikit-learn、NumPy、SciPy 和 Pandas等,其中可能有一些还是 Tensorflow 的依赖库。 Anaconda 提供了一个编译好的环境可以直接安...转载 2018-07-16 15:40:31 · 290 阅读 · 0 评论 -
图像学习之如何理解方向梯度直方图(Histogram Of Gradient)
本文主要翻译了Histogram of Oriented Gradients一文。特征描述子(Feature Descriptor)特征描述子就是图像的表示,抽取了有用的信息,丢掉了不相关的信息。通常特征描述子会把一个w*h*3(宽高3,3个channel)的图像转换成一个长度为n的向量/矩阵。比如一副64*128*3的图像,经过转换后输出的图像向量长度可以是3780。什么样子的特征是...转载 2018-08-31 12:01:44 · 25985 阅读 · 10 评论 -
HighGUI参考手册
简单图形界面地址:http://fsa.ia.ac.cn/opencv-doc-cn/opencv-doc-cn-0.9.7/ref/opencvref_highgui.cn.htm cvNamedWindow创建窗口int cvNamedWindow( const char* name, int flags );name窗口的名字,它被用来区分不同的窗口,...转载 2009-09-20 16:12:00 · 830 阅读 · 0 评论 -
关于OpenCV中IplImage的字节对齐问题
最近利用做项目,遇到了一个问题:我是用opencv读的图像,然后自己新开辟了一个空间,以下是代码Byte *inputImage=NULL;IplImage* image_get=NULL;image_get=cvLoadImage(imageName,0); imageWidth=image_get->width;imageHeight=image_get->h...转载 2012-05-08 11:05:37 · 1023 阅读 · 0 评论 -
形态学运算中腐蚀,膨胀,开运算和闭运算
开运算和闭运算 (1)开运算 先腐蚀后膨胀的过程称为开运算。用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积。 (2)闭运算 先膨胀后腐蚀的过程称为闭运算。用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积。 通常,由于噪声的影响,图象在阈值化后...转载 2012-05-08 15:34:53 · 2712 阅读 · 0 评论 -
OpenCV图像、矩阵、数组介绍
一、结构IplImage|-- int nChannels; // Number of color channels (1,2,3,4)|-- int depth; // Pixel depth in bits:| // IPL_DEPTH_8U, IPL_DEPTH_8S,| // IPL_DEPTH_16U,IPL_DEPTH_16S,| // IPL_DEPTH_32S,IPL...转载 2012-06-06 10:51:49 · 1666 阅读 · 0 评论 -
OpenCV学习——矩阵操作总结(转)
1.初始化矩阵:方式一、逐点赋值式:CvMat* mat = cvCreateMat( 2, 2, CV_64FC1 );cvZero( mat );cvmSet( mat, 0, 0, 1 );cvmSet( mat, 0, 1, 2 );cvmSet( mat, 1, 0, 3 );cvmSet( mat, 2, 2, 4 );cvReleaseMat( &mat );...转载 2012-12-24 14:30:39 · 682 阅读 · 0 评论 -
图像像素操作
访问像素值为了访问 代码中指定元素所在的行和列。程序会返回相应的元素。如果是单通道的图像,返回值是单个数值;如查多通道的图像,返回值则是一组向量。实现方法我们创建一个椒盐现象的函数,第一个参数是一张输入图像,第二个参数是我们欲将其替换成白色像素点的像素点个数。void salt(cv::Mat &img, int n){ for( int k = 0; k &...转载 2014-11-21 20:56:02 · 1566 阅读 · 0 评论 -
CvArr、Mat、CvMat、IplImage、BYTE转换(总结而来)
一、Mat类型:矩阵类型,Matrix。 在openCV中,Mat是一个多维的密集数据数组。可以用来处理向量和矩阵、图像、直方图等等常见的多维数据。 Mat有3个重要的方法: 1、Mat mat = imread(const String* filename); 读取图像 2、imshow(const string...转载 2015-01-26 01:14:05 · 815 阅读 · 0 评论 -
yuv420(planer) to bgr24 to bmp
项目中碰到了YUV420 planer格式转BGR24的要求(原文中写为RGB24,但实际应为BGR),BGR格式可直接应用于opencv,发现网上涉及这方面的内容不少,但能用的代码非常少,据说最新的opencv 已经可以实现这一功能,下面的代码在项目中可用,转换成功;标记一下,防止以后再次用到;unsigned char clip(int valid){ return valid&l...转载 2013-08-01 17:00:33 · 2809 阅读 · 0 评论 -
图像处理与计算机视觉:基础,经典以及最近发展
图像处理与计算机视觉:基础,经典以及最近发展xdyang的图像视觉小屋图像处理与计算机视觉经典论文(6)图像处理与分析(10)计算机视觉(8)模式识别和机器学习(12)[置顶] 图像处理与计算机视觉:基础,经典以及最近发展/////////////////////////////////////////////////转载 2015-01-17 14:44:10 · 3241 阅读 · 0 评论 -
单目相机标定原理
一.相机标定主要涉及三个坐标系:图像坐标系、摄像机坐标系和世界坐标系【图像坐标系】摄像机采集的图像变换为数字图像后,每副数字图像在计算机内为M x N数组,M行N列的图像中每一个元素(pixel)数值就是图像点的亮度(灰度)。如图,在图像上定义直角坐标系(U,V),每一个像素为单位的图像坐标系坐标,由于(u,v)只能表示像素位于数组中的列数与行数,并没有使用物理单位表示该像素在图像转载 2015-01-23 14:35:21 · 23174 阅读 · 3 评论 -
贝叶斯网络
定义:贝叶斯网络是一个有向无环图,由代表变量结点及连接这些结点的有向边构成。可以将具体问题中复杂的变量关系在一个网络结构表示,通过网络模型反映问题领域中变量的依赖关系。用数学符号表示一个贝叶斯网络模型如下:B=(V,E,P)其中:V={V1,V2,…Vn} 随机变量集合;E={ViVj|Vi,Vj∈V} 有向边的集合;P=转载 2010-05-14 09:37:00 · 6397 阅读 · 0 评论 -
SVM-支持向量机算法概述
(一)SVM的背景简介支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accu转载 2012-06-14 09:45:45 · 194158 阅读 · 56 评论 -
LibSVM学习
代码文件主要针对Matlab进行说明,但个人仍觉得讲解的支持向量机内容非常棒,可以做为理解这一统计方法的辅助资料; LibSVM是台湾林智仁(Chih-Jen Lin)教授2001年开发的一套支持向量机的库,这套库运算速度还是挺快的,可以很方便的对数据做分类或回归。由于libSVM程序小,运用灵活,输入参数少,并且是开源的,易于扩展,因此成为目前国内应用最多的SVM的库。转载 2012-06-18 16:35:57 · 12704 阅读 · 5 评论 -
协方差矩阵的详细说明
在做人脸识别的时候经常与协方差矩阵打交道,但一直也只是知道其形式,而对其意义却比较模糊,现在我根据单变量的协方差给出协方差矩阵的详细推导以及在不同应用背景下的不同形式。变量说明:设为一组随机变量,这些随机变量构成随机向量,每个随机变量有m个样本,则有样本矩阵(1)其中对应着每个随机向量X的样本向量,对应着第i个随机单变量的所有样本值构成的向量。单随机变量转载 2012-06-01 10:26:04 · 1396 阅读 · 0 评论 -
图像通道
在Photoshop中有一个很重要概念叫图像通道,在RGB色彩模式下就是指那单独的红色、绿色、蓝色部分。也就是说,一幅完整的图像,是由红色绿色蓝色三个通道组成的。他们共同作用产生了完整的图像。 一幅完整的图像,红色绿色蓝色三个通道缺一不可。即使图像中看起来没有蓝色,只能说蓝色光的亮度均为0或者各像素值的红色和绿色通道不全为0,但不能说没有蓝色通道存在。 “存在、亮度为零”和“不转载 2012-04-13 13:32:27 · 964 阅读 · 0 评论 -
利用OpenCV实现人脸检测
如何在一副图片中检测到人脸,这涉及到计算机图形学中一些非常复杂的计算,如果这些计算都靠程序员自己来编程,那么工作量就相当大。OpenCV全称是Open Computer Vision,是指开放的计算机视觉资源代码,它具有:统一的结构和功能定义、强大的图像和矩阵运算能力、方便灵活的接口等特点,是计算机视觉、图像处理和模式识别等方面进行二次开发的理想工具。它可以在各种版本的Windows下运行,也可以转载 2012-04-05 17:48:02 · 2899 阅读 · 0 评论 -
什么是像素位深度
像素位深度是指每个像素所用的位数(bit),像素位深度决定了彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数。例如,一幅彩色图像的每个像素用R、G、B三个分量来表示,若每个分量用8位,那么一个像素共用24位表示,就说像素的深度为24位,每个像素可以是2原创 2011-08-30 16:05:12 · 17922 阅读 · 2 评论 -
目标跟踪小结
<br />一、引言:在需要监控的环境里,如何能够判断出进入特定区域的目标,并且能够跟踪目标的轨迹。分为两种情况:一是静态背景下的目标跟踪;二是动态背景下的目标跟踪。<br />二、静态背景下的目标跟踪方法<br /> 1、单目标:目标跟踪还可以分为单目标的跟踪和多目标的跟踪。单目标的静态背景下的目标跟踪指的是摄像头是固定在某一方位,其所观察的视野也是静止的。通常采用背景差分法,即先对背景进行建模,然后从视频流中读取图像(我们称之为前景图像),将前景图像与背景图像做差,就可以得到进入视野的目标物体。对于转载 2011-01-10 22:03:00 · 2094 阅读 · 0 评论 -
Matlab常用图像操作
原帖地址:http://blog.verycd.com/ari/showentry=48371一 读写图像文件1 imreadimread函数用于读入各种图像文件,如:a=imread(e:/w01.tif)注:计算机E盘上要有w01相应的.tif文件。2 imwriteimwrite函数用于写入图像文件,如:imwrite(a,e:/w02.tif,’tif’)3 imfinfo转载 2009-05-01 14:56:00 · 1039 阅读 · 0 评论 -
关于Intel IPP的基本使用方法——参照可设置ipl库
<br />IPP是个好东西,里面的函数精而全,希望大家好好利用。因为IPP目前很少中文资料,我们只能靠自己摸索。下面就简单说说IPP在VC2005下的基本使用方法。<br /> 假定你的IPP是安装在“D:/Intel/IPP”目录下。<br /> 首先是配置VC2005的环境。打开VC2005后,点击菜单栏的“工具--选项”,在左侧找到“项目和解决方案--VC++目录”,在“可执行文件”的目录中添加“D:/Intel/IPP/bin”,在“包含文件”的目录中添加“D:/Intel/IPP/inclu转载 2010-07-01 15:13:00 · 8242 阅读 · 0 评论 -
深入浅出的讲解傅里叶变换
我保证这篇文章和你以前看过的所有文章都不同,这是12年还在果壳的时候写的,但是当时没有来得及写完就出国了……于是拖了两年,嗯,我是拖延症患者…… 这篇文章的核心思想就是: 要让读者在不看任何数学公式的情况下理解傅里叶分析。 傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就转载 2015-01-13 11:01:04 · 1748 阅读 · 0 评论 -
浅谈对主成分分析(PCA)算法的理解
以前对PCA算法有过一段时间的研究,但没整理成文章,最近项目又打算用到PCA算法,故趁热打铁整理下PCA算法的知识。本文观点旨在抛砖引玉,不是权威,更不能尽信,只是本人的一点体会。主成分分析(PCA)是多元统计分析中用来分析数据的一种方法,它是用一种较少数量的特征对样本进行描述以达到降低特征空间维数的方法,它的本质实际上是K-L变换。PCA方法最著名的应用应该是在人脸识别中特征提取及数据维转载 2014-04-18 17:45:52 · 82785 阅读 · 4 评论 -
先验概率与后验概率及贝叶斯公式
先验概率与后验概率事情还没有发生,要求这件事情发生的可能性的大小,是先验概率. <br />事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小,是后验概率.一、先验概率是指根据以往经验和分析得到的概率,如全概率公式,它往往作为“由因求果”问题中的“因”出现。后验概率是指在得到“结果”的信息后重新修正的概率,如贝叶斯公式中的,是“执果寻因”问题中的“因”。先验概率与后验概率有不可分割的联系,后验概率的计算要以先验概率为基础。二、A prior probability is a marginal转载 2010-09-02 21:26:00 · 56887 阅读 · 5 评论 -
空间直角坐标转换之仿射变换(转)
一、引言 工作开发中常常会遇到坐标系转换的问题,关于如何实现不同坐标系之间的转换的论述非常之多,基于实际应用项目,大都提出了一种较好的解决方法。两年前,我也从网上下载了一篇文章——《坐标系转换公式》(青岛海洋地质研究所戴勤奋译),文中对各种变换模型都有详细的描述,如莫洛金斯基-巴德卡斯转换模型、赫尔黙特转换模型、布尔莎模型以及多项式转换,算是一篇比较全面介绍坐标系转换方面的文章。转载 2010-01-16 10:16:00 · 4555 阅读 · 0 评论 -
关于图像特征提取
网上发现一篇不错的文章,是关于图像特征提取的,给自己做的项目有点类似,发出来供大家参考。 特征提取是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。 特征的定义 至今为止特征没有万能和精确的定义。特征的精确定义往往转载 2010-01-17 19:30:00 · 143081 阅读 · 27 评论 -
C语言图像处理方法
1.图像平移 图像平移只是改变图像在屏幕上的位置,图像本身并不发生变化。 假设原图像区域左上角坐标为(x0, y0),右下角坐标为(x1, y1),将图像分别沿x和y轴平移dx和dy,则新图像的左上角坐标为(x0 +dx, y0+dy),右下角坐标为(x1+dx, y1+dy)。坐标平移变换公式为: x′ = x + dx y′ = y + dy 在屏幕上实现图像的转载 2009-03-21 16:12:00 · 2444 阅读 · 0 评论 -
sizeof,strlen用法详解
sizeof前向声明:sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深入,转载 2010-03-14 15:10:00 · 2038 阅读 · 0 评论 -
SIFT特征点匹配与消除错配:BBF,RANSAC
<br />Step1: BBF算法,在KD-tree上找KNN。第一步做匹配咯~<br /> <br />1. 什么是KD-tree(from wiki)<br />K-Dimension tree,实际上是一棵平衡二叉树。<br />一般的KD-tree构造过程:<br />function kdtree (list of points pointList, int depth)<br />{<br /> if pointList is empty<br /> retur转载 2010-10-18 10:28:00 · 1874 阅读 · 0 评论 -
win10环境下VTK7.1的编译和Qt调用VTK的详细教程二(VS2013编译支持Qt的VTK库)
本文主要用于编译支持Qt的VTK库,重点在于编译VTK库,供Qt调用。第1步:新建一个文件夹:vtkDir第2步:在该文件夹下新建两个文件夹vtk_bin、vtk_src第3步:将下载好的VTK-7.1.1解压在vtk_src文件夹下第4步:打开Cmake,分别按照下图进行选择,其中source code选择VTK7.1所在目录, build the binaries是...转载 2019-03-05 10:55:44 · 398 阅读 · 0 评论