OpenCV 3.4.1
文章平均质量分 64
try_again_later
在读硕士,高精度建图定位方向。
知乎专栏:《视觉、激光SLAM源码详细解析》
展开
-
目标跟踪--模板匹配
模板匹配原理 算法步骤 opencv调用函数 matchTemplate minMaxLoc cvSetMouseCallback Rect rectangle 代码 模板匹配原理根据已知模板图像T在被搜索图S中平移,寻找与模板相似度最大的区域,并记录坐标。其中,子图S(i,j)与模板有相同的尺寸、方向。算法步骤(1)首先取得待跟踪...原创 2019-12-05 16:57:13 · 1747 阅读 · 0 评论 -
CvFileStorage 类的数据存取操作与示例
OpenCV通过XML/YAML格式实现数据持久化。目录:FileStorage类构造函数 operator << FileStorage::open(打开一个文件) FileStorage::isOpened(是否打开) FileStorage::release(关闭文件释放缓存) FileStorage::operator[]FileStorage类...原创 2019-11-13 20:18:22 · 685 阅读 · 0 评论 -
findContours函数
检测物体轮廓。函数声明两种:findContours( InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarchy, int mode, int method, Point offset=Point());findContours( InputOut...转载 2019-04-13 11:11:54 · 727 阅读 · 0 评论 -
霍夫变换检测圆形(HoughCircles)
void cv::HoughCircles (InputArray image,OutputArray circles,int method,double dp,double minDist,double param1 = 100,double param2 = 100,int minRadius = 0,int maxRadius = 0 ) 参数说明:...原创 2019-04-15 17:31:14 · 2095 阅读 · 1 评论 -
理解SURF
先说结论Sift算法的优点是特征稳定,对旋转、尺度变换、亮度保持不变性,对视角变换、噪声也有一定程度的稳定性;缺点是:计算量大,对边缘光滑目标的特征点提取能力较弱。Surf(Speeded Up Robust Features):是SIFT特征的一种近似计算,在相似性能甚至更好性能的同时提高了算法的速度。减少计算量体现在:1、尺度空间:使用盒式滤波器结合积分图像,而非使用DOG...原创 2018-12-15 11:41:18 · 811 阅读 · 0 评论 -
理解SIFT
最近看ORB-SLAM2源代码,构造Frame类部分出现了很多图像金字塔的内容,加上想起师兄和我讲的:图像算法岗的SIFT、SURF、FAST、ORB特征子肯定要会的呀,所以花了一晚上对SIFT特征子深入探究了下,期间感谢kyu_saku、Brook@CV以及zddhub、Rachel-Zhang的博客,根据上述博客对SITF由浅入深的进行理解。天涯路清晨对SIFT的介绍更清晰。目录:...原创 2018-12-12 16:20:46 · 545 阅读 · 0 评论 -
OpenCV+VS 读取、采集视频、切割为序列图像
VideoCapture读取视频 cv::VideoCapture capture(const string& filename); // 输入文件名cv::VideoCapture capture(0); // 视频捕捉设备 将视频帧读取到cv::Mat矩阵中,有两种方式:一种是read()操作;另一种是 “>>”操作。cv::Mat frame;c...原创 2018-10-31 11:07:33 · 2012 阅读 · 1 评论 -
《OpenCV3学习笔记》3.3 :SIFT、SURF、ORB特征点检测与匹配
一、特征点检测算法SIFTScale Invariant Feature Transform,尺度不变特征变换。SIFT特征对旋转、尺度缩放、亮度变化等保持不变性,是一种非常稳定的局部特征。SIFT算法主要有以下几个步骤:高斯差分金字塔的构建 使用组和层的结构构建了一个具有线性关系的金字塔(尺度空间),这样可以在连续的高斯核尺度上查找图像的特征点;另外,它使用一阶的高斯差分来近似...原创 2018-08-13 16:32:10 · 10924 阅读 · 5 评论 -
《OpenCV3学习笔记》3.2 :角点检测 FAST
一、原理如果在这个大小为16个像素的圆上有n个连续的像素点,它们的像素值要么都比Ip+t大,要么都比Ip−t小,那么它就是一个角点。(如图1中的白色虚线所示)。n的值可以设置为12或者9,实验证明选择9可能会有更好的效果。FAST算子是通过邻域像素的比对来检测特征点,所以没有多尺度的问题。二、OpenCV 接口1、FAST函数void FASTX(InputArray i...原创 2018-08-13 11:31:23 · 2350 阅读 · 1 评论 -
《OpenCV3学习笔记》3.1 :角点检测 Harris
一、内容介绍本节主要介绍OpenCV的imgproc模块的角点检测(Feature Detection)部分:1、Harris角点函数 cornerHarris()2、Threshold函数定义:“如果某一点在任意方向的一个微小变动都会引起灰度很大的变化,那么我们就把它称之为角点” 二、Harris角点基本原理1、推导:椭圆的扁率和尺寸是由M(x...原创 2018-08-12 17:57:45 · 719 阅读 · 0 评论 -
《OpenCV3学习笔记》2.1 core模块 :ROI、addWeighted、split、merge
一:内容介绍本节主要介绍1、定义感兴趣区域ROI2、addWeighted函数进行图像线性混合。3、RGB三通道分别显示,split函数4、合并成一个多通道的数组,merge函数二、具体介绍1、ROI区域定义的两种方法cv::Rect表示一个矩形区域。指定矩形的左上角坐标(构造函数的前两个参数)和矩形的长宽(构造函数的后两个参数)就可以定义一个矩形区域。另一种定...原创 2018-08-07 11:28:26 · 715 阅读 · 0 评论 -
《OpenCV3学习笔记》1.2 Mat详解 :Mat数据逐像素读写
Mat矩阵中每一个元素代表一个像素,灰度图像,像素用8U 无符号数,0黑色,255白色;彩色图像,每个像素需要3位这样的8U表示,即三个通道(R、G、B),矩阵依次存储一个像素的三个通道值,然后再存储下一个像素点。 灰度图像素类型uchar; 彩色图像素点类型Vec3b计时double time0 = static_cast<double>(...原创 2018-08-07 10:18:24 · 2697 阅读 · 0 评论 -
《OpenCV3学习笔记》1.1 Mat详解 :Mat简述
一、Mat的存储1、Mat基本上是一个包含两个数据部分的类:矩阵头(包含矩阵大小,用于存储的方法,存储矩阵的地址等信息)和指向包含矩阵的矩阵的指针。2、浅拷贝:赋值“=”和copy(),只复制矩阵头和指针,A C有各自的矩阵头,但指针指向同一矩阵,可以改变像素数据。Mat A,C; A = imread(argv [1],IMREA...原创 2018-08-06 16:57:20 · 583 阅读 · 0 评论 -
《OpenCV3学习笔记》 0简单实现:图像载入,显示,输出
1、imreadMat imread(const string& filename, intflags=1 );缺省的flags=1.flags >0返回一个3通道的彩色图像。 flags =0返回灰度图像。 flags <0返回包含Alpha通道的加载的图像。2、namedWindowvoid namedWindow(const string&...原创 2018-08-06 11:09:48 · 223 阅读 · 0 评论