sift
文章平均质量分 56
小鹿( ﹡ˆoˆ﹡ )
这个作者很懒,什么都没留下…
展开
-
差分金字塔
1、原理DOG金字塔的每1组第i层是由高斯金字塔的每1组第i+1层减每1组第i层得到的。以此类推,逐组逐层生成每一个差分图像,所有差分图像构成差分金字塔;每一组在层数上,DOG金字塔比高斯金字塔少一层。DOG金字塔的构建可以用下图描述:2、 源码实现//差分金字塔//如果直接imshow差分图会显示不出人眼看到的图像,只有对这些DOG图像进行归一化,//可以很明显的看到差分图像所蕴含的特征,并且有一些特征是在不同模糊程度、不同//尺度下都存在的,这些特征正是Sift所要提取的原创 2022-03-30 16:27:18 · 1332 阅读 · 0 评论 -
高斯金字塔
1、为什么要构建高斯金字塔高斯金字塔模仿的是图像的不同的尺度,尺度应该怎样理解?对于一副图像,你近距离观察图像,与你在一米之外观察,看到的图像效果是不同的,前者比较清晰,后者比较模糊,前者比较大,后者比较小,通过前者能看到图像的一些细节信息,通过后者能看到图像的一些轮廓的信息,这就是图像的尺度,图像的尺度是自然存在的,并不是人为创造的。好了,到这里我们明白了,其实以前对一幅图像的处理还是比较单调的,因为我们的关注点只落在二维空间,并没有考虑到“图像的纵深”这样一个概念,如果将这些内容考虑进去我们是不是会原创 2022-03-30 11:01:46 · 8587 阅读 · 0 评论 -
OpenCV Mat类型的遍历与访问
1、指针遍历 uchar *data1 = M.ptr<uchar>(0);只有“()”需要uchar类型的指针接收 uchar data2 = M.ptr<uchar>(1)[2]; uchar data3 = M.ptr<uchar>(2)[3];注意:1.图像的指针是从(0,0)位置开始,并且“()”代表行,“【】”代表列;因此“(0)”是第一行,“【1】”是第二列。2.由于mat中存储的像素数据是uchar或vec3d格式,.........原创 2022-03-29 22:08:41 · 3884 阅读 · 0 评论 -
opencv隔点采样(下采样)
1、先验知识对灰度图像来说,img.step[0]代表图像一行的的长度:img.step[0]=img.cols;img.step[1]代表图像一个元素的数据大小:img.step[0]=img.channels();img.data: uchar的指针,指向Mat数据矩阵的首地址。2、隔点采样#include <iostream>#include <opencv2/core.hpp>#include <opencv2/highgui.h.原创 2022-03-28 23:11:27 · 2339 阅读 · 0 评论