
Opencv积累
长风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 评论 -
创建包围轮廓的矩形和圆形边界框--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中图像的复制、合并、直方图、绘制矩形、直方图对比等知识点。[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 评论 -
opencv 遍历文件夹里面图像--实现
思路来自http://blog.youkuaiyun.com/watkinsong/article/details/9227439,后来,我自己用VS2012+Opencv2.4.8实现了一下,只是没有显示图像。后来,稍微修改了一下,可以显示图像喽,这样就可以批处理指定目录文件夹里面的图像了。1.head.h头文件[cpp] view plain copy print?转载 2017-06-05 16:43:52 · 2050 阅读 · 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 评论 -
python3.5中import cv2报错
本文未转载,原博客地址:http://blog.youkuaiyun.com/u010430471/article/details/78009446Python3 Anaconda3下import cv2错误解决方案Python3 Anaconda3 下import cv2错误解决方案,本地环境如下:Windows7 64位python3.5.2opencv-python 3.3.0转载 2017-10-25 09:40:54 · 6858 阅读 · 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 评论 -
[OpenCV]绘制填充轮廓drawContours
我们知道如果要求取轮廓可以使用findContours函数,该函数会返回为vector >的轮廓向量。而在以前想对轮廓进行绘制我通常会使用遍历这个vector然后依次将点绘制到img上其实OpenCV里面已经有drawContours这个函数可以实现这个效果具体来说,当我想将这个轮廓进行填充的时候我会有下面2步骤:a)依次遍历轮廓点,将点绘制到img上转载 2017-04-09 22:13:55 · 9041 阅读 · 0 评论 -
contourArea函数
double cvContourArea( const CvArr* contour, CvSlice slice=CV_WHOLE_SEQ );contour:轮廓(顶点的序列或数组)。slice:感兴趣区轮廓部分的起点和终点,默认计算整个轮廓的面积。函数cvContourArea计算整个或部分轮廓的面积。在计算部分轮廓的情况时,由轮廓弧线和连接两端点的弦围成的区域总面积转载 2017-04-09 19:29:42 · 12136 阅读 · 0 评论 -
openCV blur函数
本文转自:http://blog.youkuaiyun.com/cau_eric/article/details/27378503OpenCV版本为 2.4.8 或 2.4.9blurBlurs an image using the normalized box filter.blur的作用是对输入的图像src进行均值滤波后用dst输出。 函数原型C++: vo转载 2017-03-19 11:47:47 · 10074 阅读 · 0 评论 -
OPENCV入门教程十三:GaussianBlur高斯平滑
一、目标学习如何使用OpenCV中的函数,学习对图像的高斯平滑操作,学习GaussianBlur()函数的使用二、函数说明函数原型:void GaussianBlur(InputArray src, OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, int borderType=BORDER_DEF转载 2017-03-19 11:48:51 · 6684 阅读 · 1 评论 -
OpenCV2:图像的直方图
直方图(Histogram)又称质量分布图。是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。一般用横轴表示数据类型,纵轴表示分布情况。众所周知,一幅图像是由不同颜色值的像素组成,因此像素值在图像中的分布情况是这幅图像的一个重要特征,因此直方图广泛应用在数字图像处理中。 拍照是现实生活中必不可少的一部分,由于环境亮度、图像拍摄过程中透视光圈设置错误等影响,经常会拍出一转载 2017-03-20 10:50:21 · 617 阅读 · 0 评论 -
opencv2 直方图 calchist函数
直方图在图形处理中很常用,直方图可以统计图像的像素特征分布,用于修改图像显示,修改图像内容,通过比较不同图片的直方图可以识别和跟踪特殊纹理的物体和图像,下面先学习怎么计算图像的直方图。 opencv2提供calchist函数可以方便的计算直方图。 calchist函数头文件 #include calchist函数定义:转载 2017-03-20 11:05:11 · 511 阅读 · 0 评论 -
OpenCV2 图像读取、显示、保存
转自 : http://blog.youkuaiyun.com/jameshater/article/details/50087751之前看《学习OpenCV》这本书,一直在用IplImage,但是我自己安装的是OpenCV2的,因此,在学这本书的时候,结合自己用的时候会出现很多的疑惑,知道现在才搞清楚,原来这本书是基于OpenCV1的........不过幸好发现的早,今天主要学习了OpenC转载 2017-03-20 11:32:02 · 515 阅读 · 0 评论 -
利用反向投影直方图查找特定的内容 灰度、彩色RGB,HSV直方图
什么是反向投影直方图呢?简单的说在灰度图像的每个点(x,y),用它对应的直方图的bin的值(就是有多少像素落在bin内)来代替它。所以·如果这个bin的值比较大,那么反向投影显示的结果会比较亮,否则就比较暗。从统计学的角度,反输出图像象素点的值是观测数组在某个分布(直方图)下的的概率。所以加入我们已经得到了一个物体的直方图,我们可以计算它在另一幅图像中的反向投影,来判断这幅图像中是否有该物转载 2017-03-21 15:03:42 · 648 阅读 · 0 评论 -
学习OpenCV2——绘制基本图形及文字
OpenCV中可以绘制的图形有直线、矩形、多边形、圆、椭圆。以及一个写文本的函数puttext1. 基本函数LineC++: void line(Mat& img, Point pt1,Point pt2, const Scalar& color, int thickness=1, int lineType=8,int shift=0)Parameters:转载 2017-03-21 16:49:07 · 1382 阅读 · 1 评论 -
学习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 评论 -
直方图对比 各种方法结果大小的意义
目标本文档尝试解答如下问题:如何使用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笔记——findContours函数
好长时间没写博客了,主要是前一段时间读的论文不多,也没什么新的想法,学到的东西别人的博客已经写的挺好的了,自己就没必要再写了。寒假做数字图像处理的作业的时候用OpenCV的findContours函数来寻找轮廓,对这个函数有点理解,我觉得还比较有价值。 先来看看findContours的声明[cpp] view plain copy转载 2017-04-09 19:17:42 · 717 阅读 · 0 评论 -
浅析人脸检测之Haar分类器方法:Haar特征、积分图、 AdaBoost 、级联
浅析人脸检测之Haar分类器方法一、Haar分类器的前世今生 人脸检测属于计算机视觉的范畴,早期人们的主要研究方向是人脸识别,即根据人脸来识别人物的身份,后来在复杂背景下的人脸检测需求越来越大,人脸检测也逐渐作为一个单独的研究方向发展起来。 目前的人脸检测方法主要有两大类:基于知识和基于统计。Ø 基于知识的方法:主要利用先验知识将人脸看作器转载 2017-11-02 11:45:10 · 468 阅读 · 0 评论