机器视觉
yansmile1
这个作者很懒,什么都没留下…
展开
-
PCA实现步骤及其与opencv中PCA实现方式的对比
PCA(Principal Components Analysis,中文名叫主成分分析,是数据降维很常用的算法。按照书上的说法是:寻找最小均方意义下,最能代表原始数据的投影方法。PCA的一个经典应用就是人脸识别,感兴趣的可以在网上搜eigenface。 PCA的主要思想是寻找到数据的主轴方向,由主轴构成一个新的坐标系,这里的维数可以比原维数低,然后数据由原坐标系向新的坐标系投影,这个转载 2015-12-08 16:29:05 · 1220 阅读 · 0 评论 -
OpenCV_局部图像特征的提取与匹配_源代码
OpenCV的feature2d module中提供了从局部图像特征(Local image feature)的检测、特征向量(feature vector)的提取,到特征匹配的实现。其中的局部图像特征包括了常用的几种局部图像特征检测与描述算子,如FAST、SURF、SIFT、以及ORB。对于高维特征向量之间的匹配,OpenCV主要有两种方式:1)BruteForce穷举法;2)FLANN近似K近转载 2015-07-04 16:23:17 · 2791 阅读 · 0 评论 -
基于内容的图像检索引擎(以图搜图)
基于内容的图像检索引擎(以图搜图)本文介绍一些基于内容的图像检索技术(Content-Based Image Retrieval,CBIR)的搜索引擎(即以图搜图),这类搜索引擎基本上代表了图像检索和识别的主流技术,其中有些搜索引擎的检索结果融合了多模态的检索(文本、图片内容、上下文等)。这些图片搜索引擎和APP代表了图像检索和识别技术在业界的各类具有代表性的应用场景:1)转载 2015-07-04 21:20:51 · 1991 阅读 · 0 评论 -
Canny边缘检测算法原理及其VC实现详解(三)
图像处理之Canny 边缘检测一:历史Canny边缘检测算法是1986年有John F. Canny开发出来一种基于图像梯度计算的边缘检测算法,同时Canny本人对计算图像边缘提取学科的发展也是做出了很多的贡献。尽管至今已经许多年过去,但是该算法仍然是图像边缘检测方法经典算法之一。二:Canny边缘检测算法经典的Canny边缘检测算法通常都是从高斯模转载 2015-06-12 22:55:07 · 3981 阅读 · 0 评论 -
Opencv 图像叠加 添加水印
Opencv 图像叠加 添加水印C++: void Mat::copyTo(OutputArray m) constC++: void Mat::copyTo(OutputArray m, InputArray mask) const这个函数可以复制图像到另一个图像或矩阵上,可选参数是掩码由于叠加的图像大小不一定相等,比如我们这里把一张小照片加到一张大照片上我们可以在大照片上设转载 2015-06-12 22:24:09 · 2669 阅读 · 0 评论 -
滚动条+threshold()
基本的阈值操作目标:本节简介:OpenCV中的阈值(threshold)函数: threshold 的运用。基本理论:注意:本节的解释出自Bradski与Kaehler的书籍 Learning OpenCV 。什么是阈值?最简单的图像分割的方法。应用举例:从一副图像中利用阈值分割出我们需要的物体部分(当然这里的转载 2015-06-12 21:44:42 · 487 阅读 · 0 评论 -
OpenCV_提取图片中任意形状的区域
OpenCV_提取图片中任意形状的区域转载自:http://blog.csdn.net/hanbinga17/article/details/6536331#---------------------------------------------------------------------------------------------------------------转载 2015-07-04 21:33:43 · 3137 阅读 · 0 评论 -
SIFT算法
尺度不变特征变换匹配算法详解Scale Invariant Feature Transform(SIFT)Just For Funzdd zddmail@gmail.com or (zddhub@gmail.com)对于初学者,从David G.Lowe的论文到实现,有许多鸿沟,本文帮你跨越。如果你学习SIFI得目的是为了做检索,也许OpenSSE转载 2015-07-02 19:20:17 · 490 阅读 · 0 评论 -
基础学习笔记之opencv(24):imwrite函数的使用
基础学习笔记之opencv(24):imwrite函数的使用 前言 OpenCV中保存图片的函数在c++版本中变成了imwrite(),这应该是向matlab中图像处理的的一些函数风格靠近吧。保存图片这个功能还是很重要的,比如说在写科研论文的时候需要把一些中间图片给贴出来,这样就可以在程序中间利用该函数保存图片了。甚至还可以将这些保存的图片供后续的matlab处理。本文就简单转载 2015-06-12 09:21:50 · 19799 阅读 · 0 评论 -
opencv 手势识别 【附源代码】
我使用OpenCV2.4.4的windows版本+Qt4.8.3+VS2010的编译器做了一个手势识别的小程序。本程序主要使到了Opencv的特征训练库和最基本的图像处理的知识,包括肤色检测等等。废话不多,先看一下基本的界面设计,以及主要功能:相信对于Qt有一些了解的人都不会对这个界面的设计感到陌生吧!(该死,该死!)我们向下走:紧接着是Qt导入OPen转载 2015-07-02 20:54:57 · 10245 阅读 · 4 评论 -
OpenCV成长之路(2):图像的遍历
我们在实际应用中对图像进行的操作,往往并不是将图像作为一个整体进行操作,而是对图像中的所有点或特殊点进行运算,所以遍历图像就显得很重要,如何高效的遍历图像是一个很值得探讨的问题。一、遍历图像的4种方式:at(i,j)Mat类提供了一个at的方法用于取得图像上的点,它是一个模板函数,可以取到任何类型的图像上的点。下面我们通过一个图像处理中的实际来说明它的用法。在实际应用中,我们很转载 2015-06-12 08:59:05 · 422 阅读 · 0 评论 -
Sobel边缘检测和边缘细化
在对图像进行边缘检测处理时,得到的结果并不是理想的边缘,而是一幅灰度图像。有时在进行图像识别的时候需要获得图像的单点宽边缘,这就需要对边缘检测的结果进行细化增强。Sobel边缘细化的原理图像的边缘检测处理可以简单理解为提取图像中区域的轮廓。图像中区域的划分以像素灰度为依据,每个区域中的像素灰度大致相同,而区域之间的边界就称为边缘,寻找这些边缘就是图像边缘检测的目的。图像边缘检测的结果直转载 2015-06-11 20:37:16 · 19373 阅读 · 1 评论 -
机器视觉、模式识别库集合
目录(?)[+][-]开源生物特征识别库 OpenBR计算机视觉库 OpenCV人脸识别 faceservicecgiJava视觉处理库 JavaCV视频监控系统 OpenVSSOpenCV的NET版 OpenCVDotNet人脸检测算法 jViolajones手势识别 hand-gesture-detection人脸检测与跟踪库 asmlibrary开放模式识别项转载 2015-07-02 20:35:52 · 1135 阅读 · 0 评论 -
图像傅里叶变换
傅立叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频率、振幅和相位。反变换从本质上说也是一种累加处理,这样就可以将单独改变的正弦波信号转换成一个信号。傅立叶变换将原来难以处理的时域信号转换成了易于分析的频域信号(信号的频谱),最后还可以利用傅转载 2015-06-09 16:49:45 · 5284 阅读 · 0 评论 -
opencv常用图像(矩阵)操作函数
(1)基本运算两图像相加:add(InputArray src1,InputArray src2, OutputArray dst, InputArray mask=noArray(),int dtype=-1):如可用add(A,B,C)来计算C=A+B;如果指定了图像掩模mask(注:mask必须为单通道),则运算只在mask对应像素部位null的像素上进行,add(A,B,C转载 2015-06-08 10:55:30 · 546 阅读 · 0 评论 -
2_opencv2计算机视觉学习_操作像素
本次学习主要醋和操作图像的基本元素,如何遍历一张图像且处理其像素,并且在编程过程中,要考虑程序执行效率的问题! 像素是由8位无符号数来表示,其中0表示黑色,255代表白色。对于彩色图来说,每个像素需要三个这样的8位无符号数来表示三个颜色通道(红绿蓝),所以矩阵的元素是一个三元数。保存不同像素类型有整形(CV_8U)浮点型(CV_32F)1、存取像素值转载 2015-06-07 23:04:03 · 1265 阅读 · 0 评论 -
opencv基础函数代码
It's OpenCVOpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序,且授权可以在商业和研究领域中免费使用。OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Pytho转载 2015-06-07 16:15:49 · 1264 阅读 · 0 评论 -
二值图像连通域标记
一、前言二值图像,顾名思义就是图像的亮度值只有两个状态:黑(0)和白(255)。二值图像在图像分析与识别中有着举足轻重的地位,因为其模式简单,对像素在空间上的关系有着极强的表现力。在实际应用中,很多图像的分析最终都转换为二值图像的分析,比如:医学图像分析、前景检测、字符识别,形状识别。二值化+数学形态学能解决很多计算机识别工程中目标提取的问题。二值图像分析最重要的方法就是连通区域标转载 2015-07-04 21:51:55 · 1905 阅读 · 1 评论 -
OpenCV_连通区域分析与标记(Connected Component Analysis-Labeling)
http://www.icvpr.com/connected-component-analysis-labeling/OpenCV_连通区域分析与标记(Connected Component Analysis-Labeling)【摘要】 本文主要介绍在CVPR和图像处理领域中较为常用的一种图像区域(Blob)提取的方法——连通区域分析法(连通区域标记法)。文中介绍了两种常见转载 2015-07-04 11:11:06 · 3688 阅读 · 0 评论 -
OpenCV 2.4+ C++ SVM线性不可分处理
目的实际事物模型中,并非所有东西都是线性可分的。需要寻找一种方法对线性不可分数据进行划分。 原理上一篇文章,我们推导出对于线性可分数据,最佳划分超平面应满足: 现在我们想引入一些东西,来表示那些被错分的数据点(比如噪点),对划分的影响。如何来表示这些影响呢?被错分的点,离自己应当存在的区域越远,就代表了,这个点“错”得越转载 2015-11-27 11:07:16 · 484 阅读 · 0 评论 -
OpenCV 2.4+ C++ SVM介绍
分类器分类器是一种计算机程序。他的设计目标是在通过学习后,可自动将数据分到已知类别。 平面线性分类器一个简单的分类问题,如图有一些圆圈和一些正方形,如何找一条最优的直线将他们分开?我们可以找到很多种方法画出这条直线,但怎样的直线才是最优的呢?距离样本太近的直线不是最优的,因为这样的直线对噪声敏感度高,泛化性较差。 因此我们的目标是找到转载 2015-11-27 11:06:12 · 1146 阅读 · 0 评论 -
libSVM学习笔记
目录一、 LibSVM文件结构说明... 2二、 LibSVM安装及测试... 21.下载libsvm...22.解压至指定目录...23.设置路径...34.编译libsvm...35.执行编译...46.安装测试...6三、 LibSVM基础使用... 7四、转载 2015-12-07 17:18:40 · 1815 阅读 · 0 评论 -
CVPR 2013 录用论文
CVPR 2013 papers on the webhttp://www.cvpapers.com.sixxs.org/cvpr2013.htmlCVPR 2013 录用论文(目标跟踪部分)完整录用论文官方链接:http://www.pamitc.org/cvpr13/program.php过段时间CvPaper上面应该会有正文转载 2015-12-07 22:44:52 · 1664 阅读 · 0 评论 -
车牌识别--倾斜矫正
在车牌识别系统中, 车牌字符能够正确分割的前提是车牌图像能够水平,以至于水平投影和垂直投影能够正常进行。如果车牌倾斜没有矫正,那么水平投影和垂直投影,甚至铆钉都无法正常处理。所以,当车辆信息中获取车牌的第一步,应该是检查倾斜角度,做倾斜矫正。倾斜矫正,这里使用的算法:1、倾斜角度检测: 霍夫变换关于hough变换,可以参考前面图像处理博文:http://blog.c转载 2015-11-24 17:35:34 · 2985 阅读 · 0 评论 -
车牌定位--颜色分割
车牌定位是车牌识别中第一步,也是最重要的一步。由于中国车牌种类多样,颜色不一, 再加上车牌经常有污损,以及车牌周围干扰因素太多,都成为了车牌定位的难点。这里首先使用最简单算法来描述车牌定位,以及他的缺陷和改进。一、投影法1、车辆图像信息获取2、HSV颜色转换把RGB数据转换成HSV空间图像数据hsvzation(image,hsv转载 2015-11-24 17:13:23 · 1085 阅读 · 0 评论 -
计算机视觉
网址:http://www.52ml.net/tags/计算机视觉/page/3【计算机视觉】Canny Edge边缘检测器2013年10月13日机器学习计算机视觉smallroof引言 Canny提出一种新的边缘检测方法[1][2],它对受白噪声影响的阶跃型边缘是最优的。整个Canny边缘检测器算法分成四步. Canny边缘检测算子Canny边转载 2015-11-09 22:32:35 · 4872 阅读 · 0 评论 -
OTSU算法
OTSU算法OTSU算法以最佳门限将图像灰度直方图分割成两部分,使两部分类间方差取最大值,即分离性最大。设图像灰度级 ,第 级象素 个,总象素,则第级灰度出现的概率为。设灰度门限值为 ,则图像像素按灰度级被分为两类:,图像总平均灰度级:类的平均灰度级为: ,像素数为:类的平均灰度级为: , 像素数为: 两部分图像所占比例分别为: 对,均值转载 2015-11-09 22:35:58 · 929 阅读 · 0 评论 -
简单图像处理——傅立叶变换
学过信号处理的都应该知道傅立叶变换把时域上的信号处理为频域上的信号叠加对于在空间域上的数字图像,我们也能通过傅立叶变换转换为频域类的信号在实现某些图像处理的时候,频域类的处理比空间域更简单好啦,我们来看看二维离散信号的傅立叶变换数字图像的二维离散傅立叶变换所得的结果的频域成分如图所示,左上角是直流成分,变换结果四个角周围对应于低频成分,中央部分对应于转载 2015-07-07 09:02:18 · 1791 阅读 · 0 评论 -
基于OTSU算法和基本粒子群优化算法的双阈值图像分割
OTSU自适应阈值求法与粒子群算法的合作,将OTSU算法作为粒子群算法的适应值函数,来计算每个粒子的适应度与最优阈值相比较,经过3000次迭代最后取得优化后的阈值原图:经过联合算法优化的双阈值为90 ,140将背景像素置0:效果图:利用所取得的阈值就可以将图像背景和目标区分开来,利用所得阈值二值化后效果图: 通过效果图可知将人这个目标转载 2015-07-06 09:56:29 · 4916 阅读 · 1 评论 -
otsu自适应阈值分割的算法描述和opencv实现,及其在肤色检测中的应用
otsu算法选择使类间方差最大的灰度值为阈值,具有很好的效果算法具体描述见otsu论文,或冈萨雷斯著名的数字图像处理那本书这里给出程序流程:1、计算直方图并归一化histogram2、计算图像灰度均值avgValue.3、计算直方图的零阶w[i]和一级矩u[i]4、计算并找到最大的类间方差(between-class variance)variance[i]=(avgV转载 2015-07-06 09:46:38 · 506 阅读 · 0 评论 -
反向投影backproject的直观理解
1. 什么是backproject?2. backproject 有什么用?3. 例证1. 什么是backproject?反向投影:opencv docs给出的概念是“一种记录给定图像中的像素点如何适应直方图模型像素分布的方式。简单的讲, 所谓反向投影就是首先计算某一特征的直方图模型,然后使用模型去寻找图像中存在的该特征。”第一句转载 2015-07-05 21:17:55 · 1119 阅读 · 0 评论 -
用指定颜色填充一个连接域
在图像处理里,如果我们需要填充一个区域,使该区域为相同的颜色,则比较常用的是洪水填充法。洪水填充法可以用DFS也可以用BFS实现。 opencv下有函数实现该功能: FloodFill用指定颜色填充一个连接域void cvFloodFill( CvArr* image, CvPoint seed_point, CvScalar new_val,转载 2015-07-05 09:07:37 · 1940 阅读 · 0 评论 -
OPENCV二值化图像内孔洞填充/小区域去除
对于二值化图像,去除孔洞时采用的方法实际上与去除小区域相同,因此完全可以用同一个函数进行。这两个功能可以采取区域生长法来实现。须注意,去除小区域时为保存有用信息,可采用8邻域探测,去除孔洞时则4邻域即可,否则容易泄露,出现靠边缘的孔洞未去除的情况。效果(区域面积阈值为700): 原图像:小面积区域去除:孔洞填充转载 2015-07-05 08:56:08 · 18866 阅读 · 16 评论 -
计算机视觉方向的一些顶级会议和期刊
计算机视觉方面的三大国际会议是ICCV, CVPR和ECCV,统称之为ICE。ICCV的全称是International Comference on Computer Vision,正如很多和他一样的名字的会议一行,这样最朴实的名字的会议,通常也是这方面最nb的会议。ICCV两年一次,与ECCV正好错开,是公认的三个会议中级别最高的。它的举办地方会在世界各地选,上次是在北京,下次在巴西,2转载 2015-06-08 14:42:43 · 458 阅读 · 0 评论 -
图像检索评估准则——Evaluation Criteria of Image Retrieval : Retrieval Accuracy
本文介绍图像检索领域中一些常用的评判标准,首先的两个是比较常用的查准率precision和查全率recall,然后介绍的是MPEG-7中推荐的方法Average Normalized Modified Retrieval Rank (ANMMRR)------------------------------------------------------------------------转载 2015-07-04 21:38:09 · 1124 阅读 · 0 评论 -
Win7、VS2010、OpenCV2.3.1 出现:“无法启动此程序,因为计算机中丢失tbb_debug.dll.尝试重新安装该(转)
问题描述:Win7、VS2010、OpenCV2.3.1 出现:“无法启动此程序,因为计算机中丢失tbb_debug.dll.尝试重新安装该程序以解决问题”。解决方法: (详见OpenCV中文网站论坛http://www.opencv.org.cn/forum/viewtopic.php?p=52223)论坛中提到的方法:方法一:下载tbb3.0,解压后,在转载 2015-06-07 15:36:01 · 557 阅读 · 0 评论 -
opencv源码解析之(3):特征点检查前言1
opencv源码解析之(3):特征点检查前言1 因为最近准备看特征点检查方面的源码,而其中最著名的算法就是sift和surf。因此这次主要是学会怎样使用opencv中的sift和surf函数来检测特征点和描述特征点,以及怎样使用其算法来进行特征点匹配。庆幸的是,sift算法虽然是专利,但是在opencv的努力下也获得了作者的允许,将其加入了新版本的opencv中了。使用环境:o转载 2015-06-08 10:32:07 · 399 阅读 · 0 评论 -
OpenCV编程例子笔记一
以下所有例子来源于http://wiki.opencv.org.cn一、读入图片显示[objc] view plaincopy#include "cv.h" #include "cxcore.h" #include "highgui.h" #if 1 using namespace cv; i转载 2015-06-03 22:44:15 · 350 阅读 · 0 评论 -
Mat imread 与 IplImage cvLoadImage区别
Mat imread 与 IplImage cvLoadImage区别 原文地址 http://blog.163.com/yuyang_tech/blog/static/21605008320132510104620/Q : I have two options to load images: 来源11- Mat and Imread2- IplImage and C转载 2015-06-03 22:31:06 · 1681 阅读 · 0 评论 -
高斯滤波
第一个问题:高斯函数为什么能作为图像处理中的滤波函数?高斯平滑滤波器无论在空间域还是在频率域都是十分有效的低通滤波器,且在实际图像处理中得到了工程人员的有效使用.高斯函数具有五个十分重要的性质,它们是:(1)二维高斯函数具有旋转对称性,即滤波器在各个方向上的平滑程度是相同的.一般来说,一幅图像的边缘方向是事先不知道的,因此,在滤波前是无法确定一个方向上比另一方向上需要更多的转载 2015-05-30 17:02:15 · 13167 阅读 · 0 评论