
图像处理与分析
文章平均质量分 91
Lin-JM
这个作者很懒,什么都没留下…
展开
-
车牌识别系统开发记录(二) 车牌定位
这里面我要具体介绍的检测车牌方法的步骤如下:首先利用Sobel滤波器对灰度图像进行滤波,突出图像中的垂直边缘信息利用数学形态学方法: Close(先膨胀再腐蚀,填充内部空隙)利用findContours函数寻找车牌的潜在轮廓结合车牌的长宽比例的先验知识剔除不符合的轮廓利用floodfill算法结合车牌的颜色信息提取可能的车牌区域再次结合车牌的长宽比例的先验知识剔除不符合的轮廓根据上面初步提取出可能的车牌区域,下一步利用SVM进行判断是否是车牌好了,下面一步步来分析:原创 2014-04-09 18:29:00 · 8590 阅读 · 6 评论 -
图像文件格式
最近在做有关图像格式转换的东西,以前对这一块还真有点缺失,只能周末补补。在计算机中,数据是以文件的形式存储在外存储器上的。将图像数据以文件形式保存在外存储器上就形成了图像文件,图像文件就是以数字形式存储的图像数据。图像文件一般由文件头、调色板数据和像素数据3部分组成。文件头用于存放图像文件的各种参数,这些参数表征了图像本身的许多特性;调色板是图像的颜色索引表;像素数据是图像信息的实体所在,原创 2014-05-11 10:50:45 · 2086 阅读 · 0 评论 -
LodePNG入门
LodePNG入门LodePNG是一个集合了PNG图像解码器和编码器的代码文件,不依赖于诸如zlib和libpng的外部链接/库,提供方便友好的PNG编解码器调用方法。LodePNG主要是采用C(ISO C90)编写的,并提供了C++的接口。LodePNG的使用只要在项目文件中包含lodepng.cpp和lodepng.h或者lodepng.c和lodepng.h就可以。翻译 2014-05-25 18:46:42 · 7324 阅读 · 2 评论 -
SIFT调用例程——VLFeat
SIFT是一个很好的特征检测器,它能够从一张图片中检测出一组不受光照、视线等影响的特征点。同时它本身就是一个很好的特征描述子,它能够充分反映特征点附近局部图像的形状和纹理结构特性,具有较好的鲁棒性和独特性。提取特征点区域和特征描述子检测特征点和获取特征描述子都是通过Matlab命令 vl_sift来实现的。打开Matlab,载入测试图像:翻译 2013-08-08 15:08:04 · 22139 阅读 · 0 评论 -
PGM图片格式与代码
这两天在搞神经网络,里面的一个人脸数据库的图片格式是PGM,其实之前早就知道了这个图片格式,但是没去深究这个图片格式的数据到底是什么安排的。搜索了下百度百科,发现介绍的真是简单,下面就自己来系统地整理一下。 Jeremy Lin PGM是Portable Gray Map的缩写,它是灰度图像格式中一种最简单的格式标准。另外两种与之相近的图片格式是PBM和原创 2014-10-26 17:32:30 · 25875 阅读 · 1 评论 -
CUDA学习日志:开发环境配置和学习资源
接触CUDA的时间并不长,最开始是在cuda-convnet的代码中接触CUDA代码,当时确实看的比较痛苦。最近得空,在图书馆借了本《GPU高性能编程 CUDA实战》来看看。CUDA(Compute Unified Device Architecture)是一种专门为提高并行程序开发效率而设计的计算架构。在构建高性能应用程序时,CUDA架构能充分发挥GPU的强大计算能力。更多原创 2014-11-20 17:15:35 · 7156 阅读 · 1 评论 -
CUDA学习日志:入门例程和编程接口
上篇博文我们主要是介绍了CUDA开发环境的配置和一些学习资源。现在我们正式进入CUDA的学习。如果你还记得上篇最后有一个“Hello World”的例子,你会发现它和C程序根本没什么差。不过,从这个Hello World我们来引出CUDA编程的一个重要区别:我们将CPU以及系统的内存称为主机(host),而将GPU及其内存称为设备(device)。而上篇的Hello World和我们以前写过的代码没啥差别的原因在于它并不考虑主机之外的任何计算设备。现在我们来看看如何使用设备(device)来执行代码。在原创 2014-11-23 11:03:46 · 4063 阅读 · 0 评论 -
图像分析:Gabor滤波器解析与编程
学过《信号与系统》和《数字信号处理》的同学都知道,Fourier变换是应用非常广泛的一种信号分析工具,它是在整体上将信号分解为不同的频率分量,但是它只适用于统计量不随时间变化的平稳信号,因为它并不能告之某种频率发生在哪些时间内,而这对于非平稳信号是十分重要的。在实际信号中我们处理的却往往是某个统计量是时间的函数,即非平稳信号。虽然Kalman滤波、RLS算法等自适应滤波也适合非平稳信号,但是限于慢时变信号的跟踪,并不能得到一般时变信号的统计量等结果(如功率谱等)。因此需要对非平稳信号进行专门的讨论。原创 2013-08-11 10:47:07 · 12205 阅读 · 1 评论 -
车牌识别系统开发记录(一) 系统概述
1月份的时候,我花了几天时间简单实现了车牌识别系统的部分功能。最近打算结合OpenCV的学习(SVM、ANN)来进一步解析这个系统。我前面的博文如下:基于opencv的车牌识别解析与代码 LinJM-机器视觉车辆牌照识别(License PlateRecognition, LPR)技术作为交通管理自动化的重要手段,在交通监视和控制中占有很重要的地位。它广泛应用于高速公路电子收费原创 2014-04-08 11:28:52 · 9004 阅读 · 0 评论 -
CUDA学习日志:常量内存和纹理内存
在上一篇博文中,我们谈到了如何利用共享内存来实现线程协作的问题。本篇博文我们主要来谈谈如何利用常量内存和纹理内存来提高程序性能。Jeremy Lin常量内存所谓的常量内存,从它的名字我们就可以知道,它是用来保存在核函数执行期间不会发生变化的数据。NVIDIA硬件提供了64KB的常量内存,并且常量内存采用了不同于标准全局内存的处理方式。在某些情况下,用常量内存来替换全局内存可以有效地减少内存带宽。常量内存的声明方式与共享内存是类似的。要使用常量内存,则需要在变量前面加上 __constant__修饰符原创 2014-11-29 21:53:59 · 13155 阅读 · 0 评论 -
图像处理软件开发记录(一) 系统概述
专栏地址:http://blog.youkuaiyun.com/column/details/imagep.html本系列博客主要记录Image_Lin图像处理软件的开发记录。Image_Lin软件计划实现的功能包括:(一)、基本图像处理(黑白、锐化、柔化、补光)(二)、人像美容(人脸美肤)(三)、图像特效(素描、油画、浮雕、怀旧、Lomo)(四)、原创 2014-03-26 21:19:49 · 4959 阅读 · 3 评论 -
双边滤波器解析与代码
双边滤波器(Bilateral Filtering)是一种可以保边去噪的滤波器。双边滤波这个概念最初由Tomasi和Manduchi在文献[1]提出,在处理相邻各像素值的灰度值或彩色信息时,不仅考虑到几何上的邻近关系,也考虑到了亮度上的相似性,通过对二者的非线性组合,自适应滤波后得到平滑图像。这样处理过的图像在滤除噪声的同时还能够很好地保持图像的边缘信息。简单地讲:双边滤波器类似于高斯滤波器,它也是给每一个邻域像素分配一个加权系数。不过, 这些加权系数包含两个部分, 第一部分加权方式与高斯滤波一样,第二原创 2014-03-24 17:12:55 · 8031 阅读 · 1 评论 -
图像处理软件开发记录(六) 图像特效(浮雕、怀旧)
专栏地址:http://blog.youkuaiyun.com/column/details/imagep.html本篇文章主要记录一下图像处理软件中的图像特效(浮雕、怀旧、Lomo)的实现过程。图像浮雕效果浮雕的算法就是对图像中的每一个点做卷积处理,采用的掩模矩阵如下所示:[1 0 0; 0 0 0; 0 0 -1]假设原图像为X,处理后的图像为Y,也就是说,对原创 2014-04-01 17:22:25 · 4425 阅读 · 0 评论 -
图像分析:LBP特征解析与代码
LBP(Local Binary Patterns),即局部二值模式,是一种描述图像局部空间结构的非参数算子。芬兰Oulu大学的T.Ojala等人于1996年提出这个算子用来分析图像纹理特征,并且描述了它在纹理分类中的强区分能力。LBP算子定义为一种灰度尺度不变的纹理算子,是从局部邻域纹理的普通定义得来的。基本思想是:用中心像素的灰度值作为阈值,与它的邻域相比较得到的二进制码来表述局部纹理特征。在纹理分析方面,LBP算子是最好的纹理描述符之一,它的主要优点有以下几点:Ø 通过它的定义可知,LBP算子的原创 2013-08-29 11:00:16 · 5960 阅读 · 1 评论 -
图像分析:分水岭算法解析
分水岭算法是一个流行的图像处理算法,用于快速地分割图像为同类区域。它背后的原理就是,如果将图像视为拓扑结构的地图,那么均质区域对应的是被陡峭边缘包围的平坦盆地。这么讲,可能大家还不是很明白,接下来我们详细地分析一下这个算法。1、算法来源分水岭算法的思想来源于地形学,它将图像看作是地形学上被水覆盖的自然地貌,图像中的每一像素的灰度值表示该点的海拔高度,其每一个局部极小值及其影响区域称为集水盆,两集水盆的边界则为分水岭,通常描述分水岭变换有两种方法:一种是“雨滴法”,即当一滴雨水分别从地形表面的不同位置开原创 2013-09-23 17:51:33 · 11083 阅读 · 0 评论 -
图像分析:积分图像与代码实现
积分图像(Integral Image)的概念是由Viola和Jones在文献[1]中提出的。积分图像中任意一点(i,j)的值ii(i,j)为原图像左上角到任意点(i,j)相应对角线区域灰度值总和。可以用如下两式迭代计算得到s(i,j)=s(i,j-1)+i(i,j)ii(i,j)=ii(i-1,j)+s(i,j)求积分图像只需对原图像所有像素进行一遍扫描。原创 2013-08-20 11:51:39 · 3635 阅读 · 2 评论 -
《图像纹理特征提取方法综述》论文笔记
纹理是一种重要的视觉线索,是图像中普遍存在而又难以描述的特征。纹理特征提取的目标是:提取的特征维数不大、鉴别能力强,稳健性好,提取过程计算量小,能够指导实际应用。图像纹理的应用如下图1所示:纹理特征提取方法分类如下:统计家族统计家族方法发展至今40多年,其方法思想简单,易于实现。实践证明,GLCM在该家族中一支独秀,具有旺盛的生命力;其次是半方差图方法。以下主要阐述原创 2013-11-18 16:48:29 · 8937 阅读 · 2 评论 -
彩色空间及cvtColor解析
首先,我们要了解:什么是彩色空间呢?许多人都知道在绘画时可以使用红色、黄色和蓝色这三种原色生成不同的颜色,这些颜色就定义了一个色彩空间。我们将品红色的量定义为X 坐标轴、青色的量定义为Y坐标轴、黄色的量定义为Z坐标轴,这样就得到一个三维空间,每种可能的颜色在这个三维空间中都有唯一的一个位置。但是,这并不是唯一的一个色彩空间。例如,当在计算机监视器上显示颜色的时候,通常使用RGB(红色、绿色、蓝色)色彩空间定义,这是另外一种生成同样颜色的方法,红色、绿色、蓝色被当作X、Y和Z坐标轴。另外一个生成同样颜色的原创 2014-01-20 17:16:18 · 3218 阅读 · 0 评论 -
图像卷积回顾与计算优化(待续)
卷积及其计算方法是《信号与系统》与《数字信号处理》课程的一个核心知识点,谈及应用,我倒是能用的过来,在图像中简单地说就是掩模相乘,不过上次师兄谈及一个卷积优化方法,我想了想居然只想到行列分开这个。现在只能重新复习一下知识点。学图像的应该都知道,卷积运算在图像处理领域应用相当广泛,例如在图像滤波、增强、分析等处理时都要用到卷积运算,它实质上是一种矩阵运算,其特点是运算量大,并且数据复用率高。原创 2014-01-21 23:12:21 · 2873 阅读 · 0 评论 -
车牌识别系统开发记录(三) 字符识别
这篇博文来谈谈车牌的字符识别。目前,车牌字符识别算法主要是基于模板匹配、特征匹配或神经网络的方法。在本文中我们主要来说说基于神经网络的字符识别方法,采用的是OpenCV中的CvANN_MLP。关于神经网络的具体细节,可以参考我以前的博文:BP神经网络解析及Matlab实现更加细节的东西可以查看如下参考文献:Neural Networks【OpenCV Documentation】BackPropWikipedia【Wikipedia】现在我们确定了字符识别的总体框架,那么先来说说字符的特征提原创 2014-04-15 10:33:28 · 9502 阅读 · 1 评论 -
图像处理软件开发记录(五) 图像特效(素描、油画)
本篇文章主要记录一下图像处理软件中的图像特效(素描和油画)的实现过程。图像素描效果图像素描的实现原理其实很简单,主要是利用边缘检测滤波器来实现。可供选择的边缘检测滤波器有很多,常用的有Sobel、Scharr、Laplacian以及Canny滤波。本文主要是利用Laplacian来实现素描化,它的效果相对于Sobel和Scharr更加相像素描效果。Laplacian算子是一个二阶导数算子,具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。但是,它对噪声比较敏感,所以我们这里先利用中值滤波原创 2014-03-31 22:26:19 · 5392 阅读 · 0 评论 -
图像处理软件开发记录(四) 美肤功能实现
专栏地址:http://blog.youkuaiyun.com/column/details/imagep.html这一篇文章主要谈谈美肤操作。这个功能基本上很多软件都有,比如美图秀秀,女生们的最爱。美肤的原理,简单来说,其实就是图像平滑操作,不过在这个平滑的过程中最好不能把轮廓给模糊掉。美图秀秀美肤操作的技术没公开,我这里就只谈谈采用双边滤波器实现美肤的技术。关于双边滤波器的相关资料,在我的博文原创 2014-03-31 20:38:17 · 7052 阅读 · 2 评论 -
图像处理软件开发记录(三) QT图像显示
专栏地址:http://blog.youkuaiyun.com/column/details/imagep.html这一篇文章记录有关图像显示的问题。因为对QT的研究不深,所以在QT上显示图像的设计过程真是坎坎坷坷。在最开始,我用的显示方法最简单,就是用label来显示,就是下面这个:ui->label->setPixmap(QPixmap::fromImage(img))原创 2014-03-31 18:25:18 · 4554 阅读 · 1 评论 -
图像处理软件开发记录(二) 基本图像处理
专栏地址:http://blog.youkuaiyun.com/column/details/imagep.html本篇博客主要记录Image图像处理软件的基本图像处理,包括黑白图像、图像柔化、图像锐化。图像黑白化现在我们得到的大多数图像都是彩色图像,那么如果想要把它变成黑白图像,该怎么操作呢?一个简单的方法就是——利用cvtColor实现。cvtColor的原型如下:原创 2014-03-31 11:34:33 · 6378 阅读 · 0 评论