
OpenCV
SUQIGUANG_CQU
机器人技术养成中……
展开
-
OpenCV学习之旅3——OpenCV数据结构与基本绘图
1. 基础图像容器Mat#include "opencv2/core/core.hpp"#include "opencv2/highgui/highgui.hpp"#include using namespace std;using namespace cv;//--------------------------------------【main( )函数】---------原创 2018-01-30 11:31:37 · 301 阅读 · 0 评论 -
OpenCV学习之旅4——图像处理(1)
1.三种线性滤波1.1 方框滤波#include "opencv2/core/core.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" using namespace cv; //-----------------------------------【main( )原创 2018-01-30 12:53:54 · 287 阅读 · 0 评论 -
OpenCV学习之旅8——角点检测(1)
1. Harris角点检测计算机视觉中,兴趣点(interest points)也被称作关键点(key points)、特征点(feature points),他被用于物体识别、图像识别、图像匹配、视觉跟踪、三维重建等一系列问题。 我们不再观察整幅图像,而是选择某些特殊点进行观察。图像特征类型可分为三类:边缘、角点、斑点。 如果某一点在任何方向的微小运动都会造成灰度的剧烈变化,那么我们称这原创 2018-02-06 20:39:21 · 426 阅读 · 0 评论 -
OpenCV学习之旅8——角点检测(2)
1. Shi-Tomasi角点检测Shi-Tomasi算法是Harris算法的改进,Shi-Tomasi算法最早发布于文章《Good Feature to Track》中被提出来,因此OpenCV实现此算法的函数名为goodFeatureToTrack。1.1 goodFeaturesToTrack()函数void goodFeaturesToTrack( InputArray...原创 2018-02-08 17:43:22 · 364 阅读 · 0 评论 -
OpenCV学习之旅9——特征检测与匹配(1)
1. 常用的特征检测常用方法FAST——FastFeatureDetectorSTAR——StarFeatureDetectorSIFT——SIFT(nonfree module)SURF——SURF(nonfree module)ORB——ORBMSER——MSERGFTT——GoodFeatureToTrackDetectorHARRIS——GoodFeatureToTra...原创 2018-02-19 19:25:19 · 433 阅读 · 0 评论 -
OpenCV学习之旅9——特征检测与匹配(2)
1. SURF特征提取在OpenCV中,使用SURF进行特征点描述主要是使用drawMatches 方法和BruteForceMatcher类。1.1 drawMatches()函数drawMatches用于绘制出相匹配的两个图像的关键点,该函数有两个函数原型。void drawMatches( const Mat& img1, const vector<Ke...原创 2018-02-20 20:08:01 · 467 阅读 · 0 评论 -
OpenCV学习之旅9——特征检测与匹配(2)
1. FLANN结合SURF进行关键点匹配与描述1.1 程序实例#include <opencv2/opencv.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/nonfree/features2d.hpp>#include <opencv2/features2d/f...原创 2018-02-21 12:02:41 · 534 阅读 · 0 评论 -
OpenCV学习之旅9——特征检测与匹配(3)
1. 寻找已知物体在FLANN特征匹配的基础上,可以通过利用Homography(单应性矩阵)映射寻找物体。具体步骤如下: ①使用findHomography函数找到匹配上的关键点之间的变换; ②使用perspectiveTransform函数来映射点。1.1 findHomography()函数此函数作用是找到并返回原图像与目标图像之间的透视变换H//! computes...原创 2018-02-21 16:34:04 · 630 阅读 · 0 评论 -
opencv3.4+contrib3.4+cmake+VS2017+win10
最近在网上看到一个跟踪算法的demo,想要copy下来试验一下,结果发现it doesn’t work,究其原因,发现头文件有问题,导致Track类无法识别,在网找了一下根本原因,发现是opencv _ contrib库需要自行编译包含后才能使用,下面就说一下如何编译带有opencv _ contrib的opencv3.4。1 先决条件opencv3.4源码https://github...原创 2018-04-01 22:18:29 · 3188 阅读 · 4 评论 -
OpenCV学习之旅7——直方图与匹配(3)
1. 模板匹配模板匹配是一个在一幅图像中寻找另一幅模板图像最匹配部分的技术。注意,模板匹配不是基于直方图的,而是通过在输入图像上滑动图像块(类似于卷积的过程),对实际图像块和输入图像块进行匹配的一种匹配方法。1.1 matchTemplate()函数void matchTemplate( InputArray image, InputArray templ, OutputArray原创 2018-02-05 22:56:26 · 327 阅读 · 0 评论 -
OpenCV学习之旅7——直方图与匹配(2)
1. 直方图对比对于直方图我们需要借助一些标准来衡量他们的相似度。1.1compareHist()函数double compareHist( InputArray H1, InputArray H2, int method );第一、二个参数是大小相同的直方图; 第三个参数:所选的距离标准,有四种方法。0. 相关;1. 卡方;2. 直方图相交;3. Bhattachar原创 2018-02-05 22:28:22 · 655 阅读 · 0 评论 -
OpenCV学习之旅2——HighGUI图形用户界面
1. HighGUI 简介HighGUI模块为高层GUI图形用户界面模块,包括媒体的输入输出、视频捕捉、图像和视频的编码解码、图形交互界面接口等等。这篇博客将从几个例程直观的了解这一模块的作用。2. 利用imwrite()生成透明png图像#include #include #includeusing namespace cv;using namespace std;/原创 2018-01-29 19:11:44 · 1658 阅读 · 0 评论 -
OpenCV学习之旅4——图像处理(2)
1. 非线性滤波1.1中值滤波#include "opencv2/core/core.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" //-----------------------------------【命名空间声明部分】---------------原创 2018-01-30 17:56:32 · 345 阅读 · 0 评论 -
OpenCV学习之旅5——图像变换(1)
1.基于OpenCV的边缘检测边缘检测一般步骤:滤波→增强→检测。常用的边缘检测算子和滤波器:Canny算子、Sobel算子、Laplacian算子以及Scharr滤波器。1.1 Canny()函数void Canny( InputArray image, OutputArray edges,double threshold1, double threshold2,int aper原创 2018-01-30 18:59:39 · 274 阅读 · 0 评论 -
OpenCV学习之旅5——图像变换(2)
1. 霍夫变换通过霍夫变换可以快速的检测出直线和圆,OpenCV支持三种不同的霍夫变换,标准霍夫变换(SHT)、多尺度霍夫变换(MSHT)、累计概率霍夫变换(PPHT)。1.1 标准霍夫变换 HoughLines()#include #include using namespace cv;//-----------------------------------【main( )原创 2018-01-31 19:21:55 · 459 阅读 · 0 评论 -
OpenCV学习之旅5——图像变换(3)
1. 仿射变换仿射变换(Affine Transformation),一个向量空间经过一次线性变换再经过一次平移,变换为另一个向量空间的过程。 它保持了二维图形的平直性和平行性,即直线变换后还是直线,平行线变换后还是平行线。它可以用乘以一个旋转矩阵再加上一个平移矩阵得到。#include "opencv2/highgui/highgui.hpp"#include "opencv2/原创 2018-01-31 21:49:40 · 303 阅读 · 0 评论 -
OpenCV学习之旅6——图像轮廓与图像分割修复(1)
1. 查找并绘制轮廓#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include using namespace cv;using namespace std;//-----------------------------------【宏定义部分】------------原创 2018-02-01 10:08:20 · 949 阅读 · 0 评论 -
OpenCV学习之旅6——图像轮廓与图像分割修复(2)
1. 使用多边形将轮廓包围常用的多边形轮廓函数:1.1 返回外部矩形边界Rect boundingRect( InputArray points );1.2 寻找最小包围矩形RotatedRect minAreaRect( InputArray points );1.3 寻找最小包围圆形void minEnclosingCircle( InputArra原创 2018-02-01 11:52:47 · 885 阅读 · 0 评论 -
OpenCV学习之旅6——图像轮廓与图像分割修复(3)
1. 分水岭算法分水岭算法可以将图像的边缘转换为山脉,将均匀化部分转换为山谷,这样有助于分割目标。 分水岭算法分为两个步骤:一是排序过程,对每个像素从低到高排序;二是淹没过程,将排序好的像素从低到高淹没。#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include usi原创 2018-02-03 18:39:31 · 935 阅读 · 0 评论 -
OpenCV学习之旅1——OpenCV基础
1 我与OpenCV机缘巧合了解到了OpenCV,它的用处大家在各个地方了解的应该也不少了,不做赘述。由于不是计算机科班出身,在OpenCV的学习中编程对我是不小的障碍,我想通过优快云这个不错的平台分享一下我的学习历程,一来能够加深学习的印象,二来可以通过在平台交到更多的朋友共同讨论进步。1.1参考书籍:《OpenCV3编程入门》,毛星云 冷云飞等大佬编著(《OpenCV学习之旅原创 2018-01-28 22:09:03 · 314 阅读 · 0 评论 -
OpenCV学习之旅7——直方图与匹配(1)
1. 图像直方图概述直方图是对数据进行统计的一种方法,并且将统计值组织到一系列事先定义好的bin(直条、组距)中。 直方图用二维图表表示,它的两个坐标分别是统计样本和样本某个属性的强度。对于亮度分布直方图,横坐标左边为纯黑较暗的区域,右侧为较亮纯白区域。 直方图中的一些术语: dims:需要统计的特征的数目; bins:每个特征空间子区段数目; range:每个特征空间的取值范围。原创 2018-02-04 21:03:37 · 472 阅读 · 0 评论 -
【OpenCV3】外接相机视频实时获取
VideoCapture类videocapture类可以使用户从视频文件、图像序列、相机中播放视频到显示屏中,它有四种重载形式: CV_WRAP VideoCapture(); CV_WRAP VideoCapture(const String& filename); CV_WRAP VideoCapture(const String& filen...原创 2018-06-06 17:34:34 · 2773 阅读 · 1 评论