
opencv
文章平均质量分 78
siliang13
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
opencv学习-训练harr特征分类器
本文转载自http://blog.youkuaiyun.com/kevin_ut/article/details/5838389在网上找了中文资料,发现大多都是转载那两篇文章,而且那两篇文章讲的都有误差,经过两天的摸索,我终于训练分类器成功了,在此与大家分享。 参考英文资料网址: http://note.sonots.com/SciSoftware/haartraining.html#e134e7转载 2013-12-18 17:39:05 · 1978 阅读 · 1 评论 -
opencv学习-粒子滤波 演示与opencv代码
本文转载自http://blog.youkuaiyun.com/onezeros/article/details/6319180粒子滤波的理论实在是太美妙了,用一组不同权重的随机状态来逼近复杂的概率密度函数。其再非线性、非高斯系统中具有优良的特性。opencv给出了一个实现,但是没有给出范例,学习过程中发现网络上也找不到。learning opencv一书中有介绍,但距离直接使用还是有些距离。在经转载 2013-11-21 22:33:25 · 1555 阅读 · 0 评论 -
opencv学习-kalman 滤波 演示与opencv代码
本文转载自http://blog.youkuaiyun.com/onezeros/article/details/6318944在机器视觉中追踪时常会用到预测算法,kalman是你一定知道的。它可以用来预测各种状态,比如说位置,速度等。关于它的理论有很多很好的文献可以参考。opencv给出了kalman filter的一个实现,而且有范例,但估计不少人对它的使用并不清楚,因为我也是其中一个。本文的转载 2013-11-21 22:29:05 · 1051 阅读 · 0 评论 -
opencv学习-highgui-video视频操作
VideoCapture类提供了各项视频操作打开摄像头或读取本地视频文件VideoCapture cam(0);//打开摄像头VideoCapture cam("a.avi");//打开本地文件判断是否成功加载视频if ( !cam.isOpened()){cout << "Could not open reference " << sourceReference << e原创 2013-11-20 19:42:18 · 2195 阅读 · 2 评论 -
opencv学习-imgprocess-滤波
滤波1归一化滤波:最简单的滤波器,所有核元素权重一样,用核元素的平均值作为输出值。2高斯滤波:最有用的,尽管不是最快的。分为1D和2D3中值滤波:核元素权重不一样,也是用所有核元素的平均值作为输出值。4双边滤波:核元素权重分为两部分,一部分与高斯滤波一样,一部分跟近邻像数和估计像数在密集度上的不同有关。代码如下:#include "opencv2/imgproc/imgpr原创 2013-11-14 21:37:30 · 1025 阅读 · 0 评论 -
opencv学习-imgprocess-判断点是否在轮廓内pointPolygonTest
Performs a point-in-contour test.C++: double pointPolygonTest(InputArray contour, Point2f pt, bool measureDist)Parameters:contour – Input contour.输入轮廓pt – Point tested against原创 2013-11-20 15:50:59 · 8103 阅读 · 0 评论 -
opencv学习-imgprocess-直方图
直方图均衡化equalizeHist#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include #include using namespace cv;using namespace std;/** @function main */int main( in原创 2013-11-18 14:55:25 · 887 阅读 · 0 评论 -
opncv学习-imgprocess- Laplacian算子
Laplacian算子是求图像的二阶导,跟sobel算子很相似。代码如下#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include #include using namespace cv;/** @function main */int main( int ar原创 2013-11-15 21:39:35 · 1017 阅读 · 0 评论 -
opencv学习-imgprocess-凸包函数Convex Hull和boundingRect以及minEnclosingCircle
当我们找到轮廓后可以用opencv中的Convex Hull函数来求出轮廓凸包,也可用boundingRect求出边缘矩形,minEnclosingCircle求出外接圆,再用drawcontours画出凸包、边缘矩形和外接圆。approxPolyDP用来使多边形平滑化boundingRect用来找长宽方向上的矩形minEnclosingCircle用来找最小外接圆原创 2013-11-20 13:12:42 · 4226 阅读 · 0 评论 -
opencv学习-Feature-Feature Description
1 SurfFeatureDetector检测图像中的surf特征 2 计算特征向量,SurfDescriptorExtractor3 再用强制匹配器匹配两幅图中的surf特征例子如下:#include #include #include "opencv2/core/core.hpp"#include "opencv2/features2d/features2d.hpp"#原创 2013-11-25 14:01:32 · 987 阅读 · 0 评论 -
opencv学习-feature-Harris corner detector
特征分为三种形式:边缘、角点(兴趣点)、斑点(感兴趣区域)角点代表了图像中的该点的梯度变化,角点是同时在多个方向上变化的点,相对于边缘,更加具有独特性。 Harris corner角点的基本思想是通过一个小窗口来观察,因此很容易识别出角点来。因为在这些方向上,想任意方向移动窗口都会在窗口的亮度分布上给出很大的变化。图像中的点可以分为三类:“flat”,“edge”,“corner”,Harri原创 2013-11-25 14:45:47 · 1325 阅读 · 0 评论 -
opencv学习-hog行人检测
本文转载自http://blog.youkuaiyun.com/carson2005/article/details/7841443之前介绍过Hog特征(http://blog.youkuaiyun.com/carson2005/article/details/7782726),也介绍过SVM分类器(http://blog.youkuaiyun.com/carson2005/article/details/6453502 );而转载 2013-12-12 20:17:34 · 1521 阅读 · 0 评论 -
opencv学习-定义感兴趣区域
本文转载自http://blog.youkuaiyun.com/homechao/article/details/9239219有时,我们只需要对一幅图像的一部分进行处理.本节会教会我们如何定义感兴趣的区域.Getting ready假设我们想合并两个不同大小的图像.例如,我们将下面的小的图标添加到我们的测试图像上:但是使用cv::add函数要求两个图像具有相同的大小.在这个例子中,必转载 2013-12-05 09:51:03 · 1540 阅读 · 0 评论 -
opencv学习-HOG
本文转载自http://www.cnblogs.com/tornadomeet/archive/2012/08/15/2640754.html 一、网上一些参考资料 在博客目标检测学习_1(用opencv自带hog实现行人检测) 中已经使用了opencv自带的函数detectMultiScale()实现了对行人的检测,当然了,该算法采用的是hog算法,那么hog算法是怎样实转载 2013-12-10 19:57:36 · 1395 阅读 · 0 评论 -
opencv学习-core-离散傅里叶变换
本文转于http://m.blog.youkuaiyun.com/blog/tianzhaixing/8741460本文主要使用DFT相关函数实现对水平文本和旋转文本的DFT变换,在幅度谱中识别文本的变换,从而为图像旋转的检测和校正做准备。#include "opencv2/core/core.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "open转载 2013-11-14 20:22:16 · 1024 阅读 · 0 评论 -
opencv学习-core结构学习
此文转载于http://blog.youkuaiyun.com/yang_xian521/article/details/7182185,博主总结的挺好,遂收藏之。1.存取单个像素值最通常的方法就是[cpp] view plaincopyimg.at(i,j) = 255; img.at(i,j)[0] = 255;转载 2013-11-13 20:24:36 · 644 阅读 · 0 评论 -
opencv学习-Cascade Classifier-人脸人眼识别
CascadeClassifier类中的函数如下:1 empty判断分类器是否加载成功;2 load加载训练好的xml文件;3 read读取xml文件;4 detectMultiScale多尺度检测目标,返回一系列矩形;C++: void CascadeClassifier::detectMultiScale(const Mat& image, vector& objects,原创 2013-11-25 20:57:35 · 4200 阅读 · 1 评论 -
opencv学习-feature-Shi-Tomasi corner detector
在OpenCV中,函数cvGoodFeaturesToTrack()采用了Shi和Tomasi提出的方法,先利用sobel算子计算二阶导数,再计算特征值,它返回满足易于跟踪的一系列角点。函数定义如下:GoodFeaturesToTrack确定图像的强角点void cvGoodFeaturesToTrack( const CvArr* image, CvArr* eig_image, C原创 2013-11-25 15:46:44 · 1313 阅读 · 0 评论 -
opencv学习-Features2D + Homography to find a known object
Mat findHomography(InputArray srcPoints, InputArray dstPoints, int method=0, double ransacReprojThreshold=3, OutputArray mask=noArray() )寻找两个匹配点的变换。然后用perspectiveTransform进行映射。C++: void perspe原创 2013-11-25 15:26:40 · 1434 阅读 · 0 评论 -
opencv学习-imgprocess-轮廓提取和标记 contour
opencv提供findContours函数从一副二值图像中寻找轮廓,drawContours在指定的图像中画出寻找到的轮廓。可用Canny函数将输入图像转换成二值图像,Canny边缘检测函数,得到的图像为二值型。代码如下#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#incl原创 2013-11-20 12:43:07 · 2796 阅读 · 0 评论 -
opencv学习-imgprocess-模板匹配matchTemplate
opencv提供模板匹配方法有6种,分别为1. method=CV_TM_SQDIFF2. method=CV_TM_SQDIFF_NORMED3. method=CV_TM_CCORR4. method=CV_TM_CCORR_NORMED5. method=CV_TM_CCOEFF6. method=CV_TM_CCOEFF_NORMED其中第一第二种方法为返回值越原创 2013-11-20 12:27:51 · 3205 阅读 · 0 评论 -
opencv学习-imgprocess-反向投影Back Projection
opencv中计算Back Projection的函数为calcBackProject,mixChannels是用来从输入中拷贝某通道到输出中特定的通道。还是以例子说明(1)例如灰度图像如下Image= 0 1 2 3 4 5 6 7 8 9 10 11 8 9 14 1原创 2013-11-19 22:27:24 · 1700 阅读 · 0 评论 -
opencv学习-imgprocess-创建自己的滤波器
1创建自己的滤波器2应用滤波器,采用opencv提供的函数filter2D代码如下:#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include #include using namespace cv;/** @function main */int原创 2013-11-15 20:05:05 · 904 阅读 · 0 评论 -
opencv学习-读写xml
本文转载至http://blog.youkuaiyun.com/jarvischu/article/details/8481510#include "stdafx.h"#include #include "opencv2/opencv.hpp"using namespace std;int _tmain(int argc, _TCHAR* argv[]){//创建X转载 2013-11-14 20:07:54 · 944 阅读 · 0 评论 -
opencv学习-core
saturate_cast防止数据溢出函数for( int x = 0; x 14 {15 Uptr[x] = saturate_cast((Uptr[x]-128)/2 + 128);1617 // Method 3. process the second chroma plane using individual element access18 uchar& Vxy原创 2013-11-14 19:59:21 · 787 阅读 · 0 评论 -
opencv学习-imgprocess-计算轮廓的边界旋转box和椭圆
minAreaRect计算最小的倾斜矩形;fitEllipse计算椭圆。代码如下#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include #include #include using namespace cv;using namespace st原创 2013-11-20 14:06:29 · 1580 阅读 · 0 评论 -
opencv学习-imgprocess-霍夫变换
霍夫直线变换分为两种;1标准霍夫直线变换输出为极坐标数组,函数为HoughLines2概率霍夫直线变换输出为探测到的直线的两点笛卡尔坐标,函数为HoughLinesP代码如下:#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include using nam原创 2013-11-15 22:47:34 · 987 阅读 · 0 评论 -
opencv学习-imgprocess-图像金字塔
图像金字塔中有pyrUp和pyrDown两个函数,一个是上采样,另一个是下采样,其实就是resize。一般高斯金字塔为下采样,而拉布拉斯为上采样例子如下:#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include #include #include usin原创 2013-11-15 15:10:32 · 1058 阅读 · 0 评论 -
opencv学习-imgprocess-提取元素的轮廓及形状描述子
本文转载自http://blog.youkuaiyun.com/thefutureisour/article/details/7602652#先看提取轮廓的代码:[cpp] view plaincopyMat image = imread("D:/picture/images/binaryGroup.bmp",0); if(!image.dat转载 2013-11-20 14:08:39 · 1937 阅读 · 0 评论 -
学习opencv有感(一)
近段时间突然对opencv产生兴趣,遂循迹而来。今天学习了mat结构和老版本Iplimage结构,mat更人性化,自动管理内存,再也不用担心没有释放内存了。mat和Iplimage之间也可以相互转化。原创 2013-11-04 22:16:42 · 961 阅读 · 0 评论 -
opencv学习-imgprocess-为图片增加边界
主要是采用opencv中的copyMakeBorder(函数;代码如下:#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include #include using namespace cv;/// Global VariablesMat src, dst;原创 2013-11-15 20:20:26 · 1221 阅读 · 0 评论 -
opencv学习-imgprocess-canny边缘提取
canny算法步骤:1采用高斯核滤去噪声;2求图像的梯度方向和梯度,可用sobel算子;3非最大抑制应用:即没有被认为是边缘的像数就去除,留下候选边缘;4判断边缘,设定了两个阈值,判断标准如下:大于大阈值就认为是边缘,小于小阈值认为不是边缘,介于两者之间则需再次判断,如果该像数点周围连接了大于大阈值的边缘的就认为是边缘。大小阈值之比建议为2或3:1代码如下;#inc原创 2013-11-15 22:20:15 · 1253 阅读 · 0 评论 -
opencv学习-pca人脸识别
本文转载自http://www.cnblogs.com/zcftech/archive/2013/04/17/3026902.html上一节我们已经将图片进行降维处理,这样做的目的就是要在保持对象间差异的同时降低处理数据量。除了PCA外,LDA也是一种比较简单实用的降维方法,大家可以对比两种降维方法;基于PCA降维后的数据,我们接着要做的是用训练数据将测试数据表示出来接转载 2013-11-17 20:27:30 · 3039 阅读 · 0 评论 -
opencv学习-imgprocess- sobel算子
边缘检测时可以采用sobel算子,主要用到的opencv函数是GaussianBlur、Sobel、convertScaleAbs、addWeighted首先高斯滤波再分别进行x方向和y方向计算梯度,然后取绝对值后加权融合。代码如下:#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#原创 2013-11-15 21:00:36 · 1167 阅读 · 0 评论 -
学习opencv有感(二)-2维特征Feature2D
/*在提取surf特征时,从官方文档复制过来的代码,编译报错。查了下是包含文件问题,SurfFeatureDetector在#include 文件中,以前版本是在#include "opencv2/features2d/features2d.hpp"中,SurfDescriptorExtractor在#include中,所以要包含那两个文件。代码如下:*//** * @file SURF_desc原创 2013-11-04 22:35:34 · 1394 阅读 · 1 评论 -
opencv学习-imgprocess-计算图像矩moments
#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace cv;using namespace std;Mat src; Mat src_gray;int thresh = 100;int max_thresh = 255;RNG rng(12345);原创 2013-11-20 14:47:00 · 2791 阅读 · 0 评论 -
opencv学习-imgprocess-直方图比较compareHist
opencv中的compareHist函数是用来计算两个直方图相似度,计算的度量方法有4个,分别为Correlation ( CV_COMP_CORREL )相关性,Chi-Square ( CV_COMP_CHISQR ) 卡方,Intersection ( method=CV_COMP_INTERSECT )交集法,Bhattacharyya distance ( CV_COMP_BHATTA原创 2013-11-18 15:43:02 · 9864 阅读 · 0 评论 -
opencv学习-imgprocess-仿射变换warpAffine
opencv中的warpAffine函数可以对图像进行位移、旋转、缩放变换。getRotationMatrix2D可以获取旋转矩阵,getAffineTransform返回仿射矩阵。代码如下:#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include #include原创 2013-11-18 11:00:15 · 2051 阅读 · 0 评论 -
opencv学习-imgprocess-Remapping
opencv中的Remap函数可以使一幅图像以一定的方式映射到另外一幅图像。具体代码如下:#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include #include using namespace cv;/// Global variablesMat sr原创 2013-11-18 10:33:10 · 1044 阅读 · 0 评论 -
opencv学习-算法-pca
申明,本文转载自http://blog.youkuaiyun.com/yang_xian521/article/details/7445536PCA(principal component analysis,主成分分析),我想是大家用的最多的降维手段,对于PCA的理解,我想大神们都各有各的绝招,可以应用的场合也非常多。下面就介绍一下OpenCV中PCA这个类,因为常用,所以这个类相对OpenCV而转载 2013-11-17 19:49:58 · 1795 阅读 · 0 评论