摘要:
平面物体检测这个教程的目标是学习如何使用features2d和calib3d模块来检测场景中的已知平面物体。测试数据: 数据图像文件,比如 “box.png”或者“box_in_scene.png”等。创建新的控制台(console)项目。读入两个输入图像。Mat img1 = imread(arg... 阅读全文
posted @ 2014-09-27 20:56
风为赏
阅读(242)
评论(0)
推荐(0)
摘要:
使用二维特征点(Features2D)和单映射(Homography)寻找已知物体目标在本教程中我们将涉及以下内容:使用函数findHomography寻找匹配上的关键点的变换。使用函数perspectiveTransform来映射点.理论代码这个教程的源代码如下所示。你还可以从以下链接下载到源代码... 阅读全文
posted @ 2014-09-27 20:55
风为赏
阅读(118)
评论(0)
推荐(0)
摘要:
使用FLANN进行特征点匹配目标在本教程中我们将涉及以下内容:使用FlannBasedMatcher接口以及函数FLANN实现快速高效匹配(快速最近邻逼近搜索函数库(Fast Approximate Nearest Neighbor Search Library))理论代码这个教程的源代码如下所示。... 阅读全文
posted @ 2014-09-27 20:53
风为赏
阅读(5042)
评论(0)
推荐(0)
摘要:
特征描述目标在本教程中,我们将涉及:使用DescriptorExtractor接口来寻找关键点对应的特征向量. 特别地:使用SurfDescriptorExtractor以及它的函数compute来完成特定的计算.使用BruteForceMatcher来匹配特征向量。使用函数drawMatches来... 阅读全文
posted @ 2014-09-27 20:52
风为赏
阅读(176)
评论(0)
推荐(0)
摘要:
特征点检测目标在本教程中,我们将涉及:使用FeatureDetector接口来发现感兴趣点。特别地:使用SurfFeatureDetector以及它的函数detect来实现检测过程使用函数drawKeypoints来绘制检测到的关键点理论代码这个教程的代码如下所示。你还可以从这个链接下载到源代码#i... 阅读全文
posted @ 2014-09-27 20:51
风为赏
阅读(567)
评论(0)
推荐(0)
摘要:
亚像素级的角点检测目标在本教程中我们将涉及以下内容:使用OpenCV函数cornerSubPix寻找更精确的角点位置 (不是整数类型的位置,而是更精确的浮点类型位置).理论代码这个教程的代码如下所示。源代码还可以从这个链接下载得到#include "opencv2/highgui/highgui.h... 阅读全文
posted @ 2014-09-27 20:48
风为赏
阅读(358)
评论(0)
推荐(0)
摘要:
定制化创建角点检测子¶目标在这个教程中我们将涉及:使用 OpenCV 函数cornerEigenValsAndVecs来计算像素对应的本征值和本征向量来确定其是否是角点。使用OpenCV 函数cornerMinEigenVal通过最小化本征值来进行角点检测。用上述两个函数实现一个定制化的Harris... 阅读全文
posted @ 2014-09-27 20:47
风为赏
阅读(150)
评论(0)
推荐(0)
摘要:
Shi-Tomasi角点检测子目标在这个教程中我们将涉及:使用函数goodFeaturesToTrack来调用Shi-Tomasi方法检测角点。理论代码这个教程的代码如下所示。源代码还可以从这个链接下载得到#include "opencv2/highgui/highgui.hpp"#include ... 阅读全文
posted @ 2014-09-27 20:45
风为赏
阅读(403)
评论(0)
推荐(0)
摘要:
Harris 角点检测子目标本教程中我们将涉及:有哪些特征?它们有什么用?使用函数cornerHarris通过 Harris-Stephens方法检测角点.理论有哪些特征?在计算机视觉中,我们通常需要寻找两张图上的匹配关键点。为什么?因为一旦我们知道了两张图是相关联的,我们就可以使用 *both图像... 阅读全文
posted @ 2014-09-27 20:43
风为赏
阅读(345)
评论(0)
推荐(0)
摘要:
Camera calibration With OpenCVCameras have been around for a long-long time. However, with the introduction of the cheappinholecameras in the late 20t... 阅读全文
posted @ 2014-09-27 20:29
风为赏
阅读(1836)
评论(0)
推荐(0)
摘要:
使用棋盘格来进行摄像机标定这节教程的目标是学习怎样通过一系列棋盘照片进行摄像机标定.测试数据: 使用在你 data 或者 chess 文件夹下的照片.编译带有例子的OpenCV,在cmake的配置中把BUILD_EXAMPLES项设置为ON.打开bin文件夹并使用imagelist_creator来... 阅读全文
posted @ 2014-09-27 20:27
风为赏
阅读(1915)
评论(0)
推荐(0)
摘要:
用OpenCV创建视频¶目标你可能已经不满足于读取视频,还想要将你产生的一系列结果保存到一个新建的视频文件中。使用OpenCV中的VideoWriter类就可以简单的完成创建视频的工作。在接下来的教程中,我们将告诉你:如何用OpenCV创建一个视频文件用OpenCV能创建什么样的视频文件如何释放视频... 阅读全文
posted @ 2014-09-27 20:24
风为赏
阅读(144)
评论(0)
推荐(0)
摘要:
OpenCV的视频输入和相似度测量目标现在找一个能拍摄视频的设备真是太容易了。结果大家都用视频来代替以前的序列图像。视频可能由两种形式得到,一个是像网络摄像头那样实时视频流,或者由其他设备产生的压缩编码后的视频文件。幸运的是,OpenCV可以使用相同的C++类、用同一种方式处理这些视频信息。在接下来... 阅读全文
posted @ 2014-09-27 20:21
风为赏
阅读(184)
评论(0)
推荐(0)
摘要:
为程序界面添加滑动条在以前的教程中 (例如linear blending和brightness and contrast adjustments)你有可能注意到需要input一些数值到我们的程序中, 例如和。我们会在代码中输入这些数据来配合程序的运行。好, 下面来介绍所要用到的一个 GUI 中的工具... 阅读全文
posted @ 2014-09-27 20:18
风为赏
阅读(218)
评论(0)
推荐(0)
摘要:
读取、修改、保存图像Note我们假设读者已经了解图像读取函数imread,并能使用imshow将图像显示到窗口。目标如下,将学习如何使用:图像读取imread图像颜色空间的转换cvtColor图像保存至硬盘 (usingimwrite)代码代码如下: 1 2 3 4 5 6 7 8 91011121... 阅读全文
posted @ 2014-09-27 20:14
风为赏
阅读(194)
评论(0)
推荐(0)
摘要:
http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html 阅读全文
posted @ 2014-09-27 19:24
风为赏
阅读(111)
评论(0)
推荐(0)
摘要:
http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/table_of_content_imgproc/table_of_content_imgproc.html#table-of-content-imgproc 阅读全文
posted @ 2014-09-27 19:22
风为赏
阅读(157)
评论(0)
推荐(0)
摘要:
多边形测试目的本教程指导用户:使用OpenCV函数pointPolygonTest理论代码本教程代码如下所示. 用户也可以点击这里下载#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#includ... 阅读全文
posted @ 2014-09-27 19:21
风为赏
阅读(283)
评论(0)
推荐(0)
摘要:
轮廓矩目标在这节教程中您将学到:使用OpenCV函数moments计算图像所有的矩(最高到3阶)使用OpenCV函数contourArea来计算轮廓面积使用OpenCV函数arcLength来计算轮廓或曲线长度原理代码下面是本节教程源码. 你也可以从这里下载.#include "opencv2/hi... 阅读全文
posted @ 2014-09-27 19:20
风为赏
阅读(286)
评论(0)
推荐(0)
摘要:
为轮廓创建可倾斜的边界框和椭圆目标在这个教程中你将学习到如何:使用OpenCV函数minAreaRect使用OpenCV函数fitEllipse原理例程例程的代码在下面显示. 你也可以从这里下载#include "opencv2/highgui/highgui.hpp"#include "openc... 阅读全文
posted @ 2014-09-27 19:19
风为赏
阅读(126)
评论(0)
推荐(0)
摘要:
创建包围轮廓的矩形和圆形边界框目标在这节教程中您将学到:使用OpenCV函数boundingRect来计算包围轮廓的矩形框.使用OpenCV函数minEnclosingCircle来计算完全包围已有轮廓最小圆.原理代码下面是本节教程源码. 你也可以从这里下载.#include "opencv2/hi... 阅读全文
posted @ 2014-09-27 19:17
风为赏
阅读(492)
评论(0)
推荐(0)
摘要:
计算物体的凸包目标在这个教程中你将学习到如何:使用OpenCV函数convexHull原理例程教程的代码在下面给出. 你也可以从这里下载 #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #in... 阅读全文
posted @ 2014-09-27 19:15
风为赏
阅读(215)
评论(0)
推荐(0)
摘要:
在图像中寻找轮廓目标在这个教程中你将学到如何:使用OpenCV函数findContours使用OpenCV函数drawContours原理例程教程的代码在下面给出. 你也可以从这里下载#include "opencv2/highgui/highgui.hpp"#include "opencv2/im... 阅读全文
posted @ 2014-09-27 19:14
风为赏
阅读(532)
评论(0)
推荐(0)
摘要:
模板匹配目标在这节教程中您将学到:使用OpenCV函数matchTemplate在模板块和输入图像之间寻找匹配,获得匹配结果图像使用OpenCV函数minMaxLoc在给定的矩阵中寻找最大和最小值(包括它们的位置).原理什么是模板匹配?模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分... 阅读全文
posted @ 2014-09-27 19:12
风为赏
阅读(321)
评论(0)
推荐(0)
摘要:
反向投影目标本文档尝试解答如下问题:什么是反向投影,它可以实现什么功能?如何使用OpenCV函数calcBackProject计算反向投影?如何使用OpenCV函数mixChannels组合图像的不同通道?原理什么是反向投影?反向投影是一种记录给定图像中的像素点如何适应直方图模型像素分布的方式。简单... 阅读全文
posted @ 2014-09-27 19:09
风为赏
阅读(573)
评论(0)
推荐(0)
摘要:
本文档尝试解答如下问题:如何使用OpenCV函数compareHist产生一个表达两个直方图的相似度的数值。如何使用不同的对比标准来对直方图进行比较。原理要比较两个直方图(and), 首先必须要选择一个衡量直方图相似度的对比标准() 。OpenCV 函数compareHist执行了具体的直方图对比的... 阅读全文
posted @ 2014-09-27 19:05
风为赏
阅读(14403)
评论(0)
推荐(0)
摘要:
直方图计算目标本文档尝试解答如下问题:如何使用OpenCV函数split将图像分割成单通道数组。如何使用OpenCV函数calcHist计算图像阵列的直方图。如何使用OpenCV函数normalize归一化数组。Note在上一篇中 (直方图均衡化) 我们介绍了一种特殊直方图叫做图像直方图。现在我们从... 阅读全文
posted @ 2014-09-27 18:57
风为赏
阅读(597)
评论(0)
推荐(0)
摘要:
直方图均衡化目标在这个教程中你将学到:什么是图像的直方图和为什么图像的直方图很有用用OpenCV函数equalizeHist对图像进行直方图均衡化原理图像的直方图是什么?直方图是图像中像素强度分布的图形表达方式.它统计了每一个强度值所具有的像素个数.直方图均衡化是什么?直方图均衡化是通过拉伸像素强度... 阅读全文
posted @ 2014-09-27 18:53
风为赏
阅读(5844)
评论(0)
推荐(0)
摘要:
仿射变换目标在这个教程中你将学习到如何:使用OpenCV函数warpAffine来实现一些简单的重映射.使用OpenCV函数getRotationMatrix2D来获得一个旋转矩阵原理¶什么是仿射变换?一个任意的仿射变换都能表示为乘以一个矩阵(线性变换) 接着再加上一个向量(平移).综上所述, 我们... 阅读全文
posted @ 2014-09-27 18:49
风为赏
阅读(3397)
评论(0)
推荐(0)
摘要:
Remapping 重映射目标¶本教程向你展示如何使用OpenCV函数remap来实现简单重映射.理论重映射是什么意思?把一个图像中一个位置的像素放置到另一个图片指定位置的过程.为了完成映射过程, 有必要获得一些插值为非整数像素坐标,因为源图像与目标图像的像素坐标不是一一对应的.我们通过重映射来表达... 阅读全文
posted @ 2014-09-27 18:45
风为赏
阅读(873)
评论(0)
推荐(0)
摘要:
霍夫圆变换目标在这个教程中你将学习如何:使用OpenCV函数HoughCircles在图像中检测圆.原理霍夫圆变换霍夫圆变换的基本原理和上个教程中提到的霍夫线变换类似, 只是点对应的二维极径极角空间被三维的圆心点x, y还有半径r空间取代.对直线来说, 一条直线能由参数极径极角表示. 而对圆来说, ... 阅读全文
posted @ 2014-09-27 18:38
风为赏
阅读(272)
评论(0)
推荐(0)
摘要:
霍夫线变换目标在这个部分您将学习到:使用OpenCV的以下函数HoughLines和HoughLinesP来检测图像中的直线.原理¶Note以下原理的说明来自书籍学习OpenCV作者Bradski和Kaehler.霍夫线变换霍夫线变换是一种用来寻找直线的方法.是用霍夫线变换之前, 首先要对图像进行边... 阅读全文
posted @ 2014-09-27 18:30
风为赏
阅读(1582)
评论(0)
推荐(0)
摘要:
Canny 边缘检测目标本文档尝试解答如下问题:使用OpenCV函数Canny检测边缘.原理Canny 边缘检测算法是 John F. Canny 于 1986年开发出来的一个多级边缘检测算法,也被很多人认为是边缘检测的最优算法, 最优边缘检测的三个主要评价标准是:低错误率:标识出尽可能多的实际边缘... 阅读全文
posted @ 2014-09-27 18:17
风为赏
阅读(620)
评论(0)
推荐(0)
摘要:
Laplace 算子¶目标本文档尝试解答如下问题:如何使用OpenCV函数Laplacian实现Laplacian 算子的离散模拟。原理前一节我们学习了Sobel 算子,其基础来自于一个事实,即在边缘部分,像素值出现”跳跃“或者较大的变化。如果在此边缘部分求取一阶导数,你会看到极值的出现。正如下图所... 阅读全文
posted @ 2014-09-27 18:14
风为赏
阅读(587)
评论(0)
推荐(0)
摘要:
Sobel 导数目标¶本文档尝试解答如下问题:如何使用OpenCV函数Sobel对图像求导。如何使用OpenCV函数Scharr更准确地计算核的导数。原理Note以下内容来自于Bradski和Kaehler的大作:Learning OpenCV.上面两节我们已经学习了卷积操作。一个最重要的卷积运算就... 阅读全文
posted @ 2014-09-27 18:13
风为赏
阅读(1013)
评论(0)
推荐(0)
摘要:
给图像添加边界目标本文档尝试解答如下问题:如何使用OpenCV函数copyMakeBorder设置边界(添加额外的边界)。TheoryNote以下内容来自于Bradski和Kaehler的大作Learning OpenCV。前一节我们学习了图像的卷积操作。一个很自然的问题是如何处理卷积边缘。当卷积点... 阅读全文
posted @ 2014-09-27 18:10
风为赏
阅读(2637)
评论(0)
推荐(0)
摘要:
实现自己的线性滤波器目的本篇教程中,我们将学到:用OpenCV函数filter2D创建自己的线性滤波器。原理Note以下解释节选自Bradski and Kaehler所著Learning OpenCV。卷积高度概括地说,卷积是在每一个图像块与某个算子(核)之间进行的运算。核是什么?核说白了就是一个... 阅读全文
posted @ 2014-09-27 18:07
风为赏
阅读(209)
评论(0)
推荐(0)
摘要:
基本的阈值操作目标:本节简介:OpenCV中的阈值(threshold)函数:threshold的运用。基本理论:注意:本节的解释出自Bradski与Kaehler的书籍Learning OpenCV。什么是阈值?最简单的图像分割的方法。应用举例:从一副图像中利用阈值分割出我们需要的物体部分(当然这... 阅读全文
posted @ 2014-09-27 18:05
风为赏
阅读(908)
评论(0)
推荐(0)
摘要:
图像金字塔目标本文档尝试解答如下问题:如何使用OpenCV函数pyrUp和pyrDown对图像进行向上和向下采样。原理Note以下内容来自于Bradski和Kaehler的大作:Learning OpenCV。当我们需要将图像转换到另一个尺寸的时候, 有两种可能:放大图像 或者缩小图像。尽管Open... 阅读全文
posted @ 2014-09-27 17:58
风为赏
阅读(569)
评论(0)
推荐(0)
摘要:
更多形态学变换目标本文档尝试解答如下问题:如何使用OpenCV函数morphologyEx进行形态学操作:开运算 (Opening)闭运算 (Closing)形态梯度 (Morphological Gradient)顶帽 (Top Hat)黑帽(Black Hat)原理Note以下内容来自于Brad... 阅读全文
posted @ 2014-09-27 17:53
风为赏
阅读(77)
评论(0)
推荐(0)
摘要:
腐蚀与膨胀(Eroding and Dilating)目标本文档尝试解答如下问题:如何使用OpenCV提供的两种最基本的形态学操作,腐蚀与膨胀( Erosion 与 Dilation):erodedilate原理Note以下内容来自于Bradski和Kaehler的大作:Learning OpenC... 阅读全文
posted @ 2014-09-27 17:48
风为赏
阅读(203)
评论(0)
推荐(0)
摘要:
原理Note以下原理来源于Richard Szeliski 的著作Computer Vision: Algorithms and Applications以及Learning OpenCV平滑也称模糊, 是一项简单且使用频率很高的图像处理方法。平滑处理的用途有很多, 但是在本教程中我们仅仅关注它减少... 阅读全文
posted @ 2014-09-27 17:41
风为赏
阅读(112)
评论(0)
推荐(0)
摘要:
级联分类器训练介绍级联分类器包括两部分:训练和检测。 检测部分在OpenCVobjdetect模块的文档中有介绍,在那文档中给出了一些级联分类器的基本介绍。这个指南是描述如何训练分类器:准备训练数据和运行训练程序。重点注意事项OpenCV中有两个程序可以训练级联分类器:opencv_haartrai... 阅读全文
posted @ 2014-09-27 17:28
风为赏
阅读(416)
评论(0)
推荐(0)
摘要:
关键点检测关键点描述关键点匹配代码来自opencv/samples/cpp/matcher_simple.cpp的一个简短的例子:Mat img1 = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE);Mat img2 = imread(argv[2], CV_LOA... 阅读全文
posted @ 2014-09-27 17:08
风为赏
阅读(237)
评论(0)
推荐(0)
摘要:
Features2d关键点检测关键点描述关键点匹配代码来自opencv/samples/cpp/matcher_simple.cpp的一个简短的例子:Mat img1 = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE);Mat img2 = imread(argv[... 阅读全文
posted @ 2014-09-27 17:07
风为赏
阅读(360)
评论(0)
推荐(0)
摘要:
底层操作为矩阵定义了一系列方便的操作符。我们可以将一个已经存在的灰度图像img变成全黑色:img = Scalar(0);选择感兴趣区域:Rect r(10, 10, 100, 100);Mat smallImg = img(r);将Mat转为 C API 数据类型:Mat img = imread... 阅读全文
posted @ 2014-09-27 17:05
风为赏
阅读(298)
评论(0)
推荐(0)
摘要:
从文件中读取图像: mat img=imread(filename)如果你读入一个jpg文件,缺省情况下将创建一个3通道图像。如果你需要灰度(单通道)图像,使用如下语句: mat img=imread(filename,0)将图像保存到一个文件: mat img=imwrite(filenam... 阅读全文
posted @ 2014-09-27 17:03
风为赏
阅读(121)
评论(0)
推荐(0)

浙公网安备 33010602011771号