
数字图像处理
长风o
本博客为编程学习记录之用,同时方便自己总结和他人借鉴。如有不当之处请联系本人。
展开
-
关于高斯模糊与opencv中的GaussianBlur函数
在上次的OpenCV源码解析之滤波前言1中,按照opencv_tutorials.pdf中的滤波部分试了下常用的4种滤波器的使用方法。在opencv的C++中,这4个函数分别为:blur,GaussianBlur,meidaBlur,bilateralFilter.下面就这几个函数在opencv中的功能,以及参数做个介绍:均值滤波:其函数声明为:void blur(InputArray s转载 2017-03-19 11:43:11 · 2162 阅读 · 0 评论 -
直方图对比,各种方法的范围
涉及到OpenCV中图像的复制、合并、直方图、绘制矩形、直方图对比等知识点。[cpp] view plain copyint main() { IplImage *srcImg = cvLoadImage("J:\\baboon.jpg"); //尺寸:512*512 IplImage *dstImg转载 2017-04-04 21:58:20 · 1536 阅读 · 0 评论 -
【图像处理】透视变换 Perspective Transformation
透视变换(Perspective Transformation)是将图片投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping)。通用的变换公式为:u,v是原始图片左边,对应得到变换后的图片坐标x,y,其中。变换矩阵可以拆成4部分,表示线性变换,比如scaling,shearing和ratotion。用于平移,产生透视变换。所以转载 2017-04-13 22:25:40 · 1153 阅读 · 0 评论 -
特征点检测之Harris法
在计算机视觉中,特征点的概念被大量用于解决物体识别、图像匹配、视觉跟踪、三维重建等问题,比如图像中物体的角点,它们是在图像中可被轻易而精确地定位的二维特征。顾名思义,特征点检测的思想是无需观察整幅图像,而是通过选择某些特殊点,然后对它们执行局部分析。如果能检测到足够多的这种点,同时它们的区分度很高,并且可以精确定位稳定的特征,那么这个方法就很有效。这里主要使用Harris特征检测器检测图像角点。开转载 2017-09-25 14:13:40 · 1911 阅读 · 0 评论 -
SIFT特征提取分析
SIFT(Scale-invariant feature transform)是一种检测局部特征的算法,该算法通过求一幅图中的特征点(interest points,or corner points)及其有关scale 和 orientation 的描述子得到特征并进行图像特征点匹配,获得了良好效果,详细解析如下:算法描述SIFT特征不只具有尺度不变性,即使改变旋转角度转载 2017-09-25 14:15:45 · 438 阅读 · 0 评论 -
FAST特征点检测
简介 在局部特征点检测快速发展的时候,人们对于特征的认识也越来越深入,近几年来许多学者提出了许许多多的特征检测算法及其改进算法,在众多的特征提取算法中,不乏涌现出佼佼者。 从最早期的Moravec,到Harris,再到SIFT、SUSAN、GLOH、SURF算法,可以说特征提取算法层出不穷。各种改进算法PCA-SIFT、ICA-SIFT、P-ASURF、转载 2017-09-25 15:28:11 · 598 阅读 · 0 评论 -
Python-OpenCV 处理图像(五):图像中边界和轮廓检测
关于边缘检测的基础来自于一个事实,即在边缘部分,像素值出现”跳跃“或者较大的变化。如果在此边缘部分求取一阶导数,就会看到极值的出现。而在一阶导数为极值的地方,二阶导数为0,基于这个原理,就可以进行边缘检测。关于 Laplace 算法原理,可参考Laplace 算子0x01. Laplace 算法下面的代码展示了分别对灰度化的图像和原始彩色图像转载 2017-10-30 13:57:53 · 5428 阅读 · 1 评论 -
图像特征提取三大法宝:HOG特征,LBP特征,Haar特征
(一)HOG特征1、HOG特征:方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国转载 2017-11-02 10:28:00 · 479 阅读 · 0 评论 -
LBP等价模式详解
LBP等价模式 考察LBP算子的定义可知,一个LBP算子可以产生多种二进制模式(p个采样点)如:3x3邻域有p=8个采样点,则可得到2^8=256种二进制模式;5x5邻域有p=24个采样点,则可得到2^24=16777216种二进制模式,以此类推......。显然,过多的二进制模式无论对于纹理的提取还是纹理的识别、分类及信息存取都是不利的,在实际应用中不仅要求采用的算子尽量简单,转载 2017-11-02 10:29:45 · 5368 阅读 · 4 评论 -
浅析人脸检测之Haar分类器方法:Haar特征、积分图、 AdaBoost 、级联
浅析人脸检测之Haar分类器方法一、Haar分类器的前世今生 人脸检测属于计算机视觉的范畴,早期人们的主要研究方向是人脸识别,即根据人脸来识别人物的身份,后来在复杂背景下的人脸检测需求越来越大,人脸检测也逐渐作为一个单独的研究方向发展起来。 目前的人脸检测方法主要有两大类:基于知识和基于统计。Ø 基于知识的方法:主要利用先验知识将人脸看作器转载 2017-11-02 11:45:10 · 468 阅读 · 0 评论 -
创建包围轮廓的矩形和圆形边界框--boundingRect()、minEnclosingCircle()和approxPolyDP()
boundingRect()作用:计算点集的右上边框。形式:boundingRect(InputArray points);参数:points:输入二维点集,并用std::vector or Mat存储;minEnclosingCircle()作用:找到包围二维点集面积最小的圆。形式:void minEnclosingCircle(InputArray poin转载 2017-04-09 22:14:48 · 1147 阅读 · 0 评论 -
[OpenCV]绘制填充轮廓drawContours
我们知道如果要求取轮廓可以使用findContours函数,该函数会返回为vector >的轮廓向量。而在以前想对轮廓进行绘制我通常会使用遍历这个vector然后依次将点绘制到img上其实OpenCV里面已经有drawContours这个函数可以实现这个效果具体来说,当我想将这个轮廓进行填充的时候我会有下面2步骤:a)依次遍历轮廓点,将点绘制到img上转载 2017-04-09 22:13:55 · 9041 阅读 · 0 评论 -
图像滤波基础一
一:基本概念滤波是数字图像处理中的一个基本操作,在信号处理领域可以说无处不在。图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,通常是数字图像处理中不可缺少的操作,其处理效果的好坏将直接影响到后续运算和分析的效果。简单来说,图像滤波的根本目的是在图像中提取出人类感兴趣的特征。当我们观察一幅图像时,有两种处理方法: 1. 观察不同的灰度(或彩色值)在图像中的分布转载 2017-03-19 11:45:37 · 1987 阅读 · 0 评论 -
Earth Mover's Distance (EMD)
转自:http://www.sigvc.org/bbs/forum.php?mod=viewthread&tid=981Earth Mover's Distance (EMD)原文: http://d.hatena.ne.jp/aidiary/20120804/1344058475作者: sylvan5翻译: Myautsai和他的朋友们(Google Translate、sh转载 2017-03-29 21:58:56 · 1424 阅读 · 0 评论 -
学习OpenCV 函数方法结构总结
文出自:http://blog.chinaunix.net/uid-8402201-id-2899695.htmlOpenCv中文论坛精华地址http://www.opencv.org.cn/index.php/User:Ollydbg23http://sivp.sourceforge.net/(sivp)一、基础操作1. 数据类型 数据结构了解转载 2017-03-29 22:35:59 · 851 阅读 · 0 评论 -
火焰检测算法 fire detectf方法 vs2010+opencv2.4.11
要求: You are required to write a program to detect fires in two videos that provided in the email. The program should be written in C/C++ with VC 6 or VS 2010. You can use OpenCV (ver.2.4.11 is recom原创 2017-03-23 14:19:23 · 2741 阅读 · 10 评论 -
直方图对比 各种方法结果大小的意义
目标本文档尝试解答如下问题:如何使用OpenCV函数 compareHist 产生一个表达两个直方图的相似度的数值。如何使用不同的对比标准来对直方图进行比较。原理要比较两个直方图( and ), 首先必须要选择一个衡量直方图相似度的 对比标准 () 。OpenCV 函数 compareHist 执行了具体的直方图对比的任务。该函数转载 2017-03-30 13:24:22 · 4074 阅读 · 0 评论 -
常用的OpenCV函数速查
1、cvLoadImage:将图像文件加载至内存;2、cvNamedWindow:在屏幕上创建一个窗口;3、cvShowImage:在一个已创建好的窗口中显示图像;4、cvWaitKey:使程序暂停,等待用户触发一个按键操作;5、cvReleaseImage:释放图像文件所分配的内存;6、cvDestroyWindow:销毁显示图像文件的窗口;7、c转载 2017-03-30 19:30:03 · 335 阅读 · 0 评论 -
OpenCV学习笔记-自适应阈值化
自适应阈值化的函数为:AdaptiveThreshold自适应阈值方法void cvAdaptiveThreshold( const CvArr* src, CvArr* dst, double max_value, int adaptive_method=CV_ADAPTIVE_THRESH_MEAN_C,转载 2017-04-09 14:54:37 · 384 阅读 · 0 评论 -
Opencv笔记——findContours函数
好长时间没写博客了,主要是前一段时间读的论文不多,也没什么新的想法,学到的东西别人的博客已经写的挺好的了,自己就没必要再写了。寒假做数字图像处理的作业的时候用OpenCV的findContours函数来寻找轮廓,对这个函数有点理解,我觉得还比较有价值。 先来看看findContours的声明[cpp] view plain copy转载 2017-04-09 19:17:42 · 717 阅读 · 0 评论 -
contourArea函数
double cvContourArea( const CvArr* contour, CvSlice slice=CV_WHOLE_SEQ );contour:轮廓(顶点的序列或数组)。slice:感兴趣区轮廓部分的起点和终点,默认计算整个轮廓的面积。函数cvContourArea计算整个或部分轮廓的面积。在计算部分轮廓的情况时,由轮廓弧线和连接两端点的弦围成的区域总面积转载 2017-04-09 19:29:42 · 12136 阅读 · 0 评论 -
目标跟踪综述
作者:YaqiLYU链接:https://www.zhihu.com/question/26493945/answer/156025576来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。相信很多来这里的人和我第一次到这里一样,都是想找一种比较好的目标跟踪算法,或者想对目标跟踪这个领域有比较深入的了解,虽然这个问题是经典目标跟踪算法,但事实上,可能我们并不需要那些曾经辉...转载 2018-05-22 10:12:42 · 4148 阅读 · 0 评论