图像拼接融合
文章平均质量分 80
主要是鱼眼图像矫正后,进行多路拼接、图像融合,为后续全景漫游做准备
元气少女缘结神
不疯魔,不成活,奋斗吧!
展开
-
360度全景问题--预处理:欠曝光
看过https://blog.csdn.net/wd1603926823/article/details/123530405这一篇的朋友应该看到img_A有严重的欠曝光问题,需要做图像增强的预处理,不然会影响提取特征点,严重的提取不到特征点或错误特征点,进而影响后续特征匹配,从而对全景图的生成有严重影响。现在有很多优秀的图像增强办法,但下面这个比较好,看对比图就知道:就连妇人推着的婴儿推车都清晰了:代码我放在全景拼接预处理欠曝光解决-数据集文档类资源-CSDN下载 这里。...原创 2022-05-13 18:13:05 · 570 阅读 · 3 评论 -
stitching.cpp鱼眼图像拼接融合 源码分析
之前运行OpenCV官方示例的cpp时 看到stitching.cpp拼接融合还不错 然后我在MATLAB上 用之前编的经纬映射法校正三幅鱼眼图像后 不知道该怎样保存下校正好的图 如果save或者save as 那么会有figure的白色边缘 不能用来拼接 所以我直接截图 保存为jpg 这样就没有白色边缘了: 校正后的:然后把这三幅MATLAB运行出来的结果 传递原创 2015-10-01 16:17:28 · 13933 阅读 · 12 评论 -
360度全景问题--首尾相接
把相机固定在一个点,然后旋转相机得到了4幅图,按顺序是img_A、img_B、img_C、img_D 相互之间有点重叠,整体景象覆盖360度。1、我以前读研时搞的东西都只是考虑拼接成一幅完整图片,而从来没考虑过使用PTGuiViewer查看是否img_A和img_D之间是否可以无缝巡航。因为以前只是将img_D拼接到img_C,再将结果拼接到img_B,再将新结果拼接到img_A,形成的最终结果可以通过PTGuiViewer看到一个很大的缝隙:如上图看到很大的一条裂缝!!!这说明首尾并不相接。原创 2022-03-21 19:32:00 · 4346 阅读 · 5 评论 -
将OpenCV里SIFT的keypoint坐标以及描述子向量输出给MATLAB
接着《鱼眼拼接之SIFT之进行特征点匹配》后面一部分,那里我将两幅图的匹配对坐标输出,总共有24对,然后我刚刚想检验下我输出的是否是实实在在成功的匹配对,然后我这样编来检验:#include #include #include #include #include#includeusing namespace cv;using namespace std;int原创 2015-10-08 10:45:05 · 9599 阅读 · 14 评论 -
SIFT检测特征点之生成128维描述子
接着上一篇 现在要对每个特征点生成128维描述符 这一步的理论还是来自于论文以及这位大神http://blog.csdn.net/v_JULY_v/article/details/6245939 总结下论文上和这位大神所说:先对每个特征点取8x8邻域 然后把这8x8区域又分成四个4x4区域 每个4x4区域生成一个有8个方向向量信息的种子 这样对一个特征点就有4x8=32维向量信息了原创 2015-06-19 20:28:16 · 10622 阅读 · 0 评论 -
光照亮度调整(图像拼接之前)
前几天智商降低了.....好几天没有看书.......今天正常些了........虽然之前写的多分辨率融合也能处理光照问题调整亮度,但还是想编一个专程处理亮度不一致的程序........理论部分来自《一种光照鲁棒的图像拼接融合算法》和《基于自适应梯度域融合的图像无缝镶嵌方法》,这上面写的主要分三个步骤,就都在MATLAB上做好了:function C=mylight(A,B)%《一种光照鲁原创 2015-11-15 16:11:50 · 9343 阅读 · 33 评论 -
鱼眼拼接之SIFT特征点检测之得到候选特征点
原理还是来自于这位大神http://blog.csdn.net/v_JULY_v/article/details/6245939 昨天得到了DOG高斯差分空间 共四层塔 每层塔有四幅图 每层图的大小是上一层的一半 今天继续通过这位大神所说 每次比较26个极值 得到候选特征点 只是这位大神所说的我没太理解 理解得有歧义 检测特征点时 比如我第一步得到的四层DOG金字塔中第一层四幅图是D11,原创 2015-06-09 09:54:54 · 1219 阅读 · 0 评论 -
鱼眼拼接之SIFT之进行特征点匹配
这是SIFT检测特征点的最后一步,也是鱼眼拼接的开始第一步,比如有三幅鱼眼图像s1,s2,s3要将它们拼接成一幅完整的图,之前用sift就是分别得到s1,s2,s3的特征点描述子,现在拼接第一步就是找到两幅图匹配的特征点,比如我的三幅图顺序是s3s1s2这是拼接好以后的顺序,那么我现在就是要找到s3和s1之间匹配的特征点;s1和s2的匹配的特征点。说白了 就是这两幅图有一部分内容是重合的,,,看我原创 2015-06-21 17:16:11 · 5092 阅读 · 24 评论 -
SIFT检测特征点之去除边缘不稳定噪声点
根据论文以及这位女侠http://blog.csdn.net/abcjennifer/article/details/7639681所述,在用SIFT得到候选特征点之后 还要进一步精确特征点 因为候选特征点中有两部分特征点需要去除掉 第一个是灰度伪特征点 即 从一个灰度比较小的区域由26个像素比较得到的极值点 其实并不是特征点 第二个是边缘不稳定噪声点 因为第一个难编一点原创 2015-06-11 09:44:17 · 5434 阅读 · 3 评论 -
SIFT检测特征点之找到主方向
接着前面的,前面分别得到了 :高斯卷积,DOG差分尺度空间,去除两种不要的特征点(精确特征点),接下来就是第四步计算每个特征点的梯度mag和方向ori生成梯度直方图 这部分的理论可以参考http://blog.csdn.net/v_JULY_v/article/details/6245939http://blog.csdn.net/abcjennifer/article/details原创 2015-06-14 14:42:42 · 7285 阅读 · 11 评论 -
鱼眼拼接之SIFT特征点检测之DOG差分空间
理论来自于《鱼眼图像拼接系统》以及这位大神的博客http://blog.csdn.net/v_JULY_v/article/details/6245939只是他的代码是用opencv写的 而我没有用过opencv 虽然有学C++ 可是这里的数据结构 各种类 继承类等等 看得我。。。我的面向对象编程真的学得不好 所以我还是根据理论慢慢用MATLAB编吧。。。这部分就暂时先得到DOG差分空间吧原创 2015-06-08 16:48:48 · 1954 阅读 · 6 评论 -
图像拼接(不投影到柱面)(渐入渐出融合) matlab程序
1,先拍摄一组图片,比如两幅图:A、B 我直接用网上的两幅图:2,分别投影到柱面坐标系 就用自己写的柱面投影程序 matlab里 结果:3,开始配准第一步:SIFT得到匹配对(直接用OpenCV里自带的)有两三对误匹配对,后来调整阈值得到没有误匹配对的结果。4,配准第二步:根据匹配对得到图片A、B的变换矩阵 (将上一步的结果保存给matl原创 2015-10-26 18:29:23 · 14757 阅读 · 51 评论 -
鱼眼拼接之Harris检测特征点
理论部分是根据《鱼眼图像全景拼接系统》%我用的是鱼眼图像 所以先提取区域校正A=imread('F:\orl_zhifangtu\s1.jpg');T=40;[A,R]=kuaisusaomiao(A,T);[m,n,k]=size(A);C=[];x=n/2;y=m/2;for u=1:m for v=1:n i=u;原创 2015-06-10 18:45:51 · 1558 阅读 · 0 评论 -
鱼眼拼接之SIFT提取特征点
之前写的那两篇 是我没有完全理解SIFT理论部分 后来看了这位女侠的http://blog.csdn.net/abcjennifer/article/details/7639681终于弄明白了 %这部分是之前写过的鱼眼提取有效区域及经度坐标校正A=imread('F:\orl_zhifangtu\s1.jpg');T=40;[A,R]=kuaisusaomiao(A,T)原创 2015-06-10 17:31:38 · 2315 阅读 · 2 评论 -
SIFT精确特征点之去除灰度伪特征点
接着上一篇的 去除了候选特征点中不稳定噪声点 现在继续进一步精确特征点 即去除灰度伪特征点A=imread('F:\orl_zhifangtu\s1.jpg');T=40;[A,R]=kuaisusaomiao(A,T);[m,n,H]=size(A);C=[];x=n/2;y=m/2;for u=1:m for v=1:n i=u;原创 2015-06-11 11:35:54 · 2704 阅读 · 6 评论 -
探究网上的一个用MATLAB写的SIFT
这是第一个M文件 建立灰度图像的金字塔和高斯差分金字塔function [pyr,imp] = build_pyramid(img,levels,scl)img2 = img;img2 = resample_bilinear(img2,1/2); %扩展成空间频域%img2 = imresize(img2,2,'bilinear'); %expand原创 2015-07-19 20:52:11 · 4922 阅读 · 7 评论 -
多分辨率拼接算法(继最佳缝合线之后)
根据《图像拼接的改进算法》在完成最佳缝合线算法之后,要进行多分辨率拼接,这些完成后不仅能消除 曝光差异还能消除鬼影重影问题,所以我重新选了两个曝光差异很大的图片:曝光差异很大 经过最佳缝合线以后:可以清楚地看到这条选出的最佳缝合线然后开始进行多分辨率拼接 理论就继续根据这篇论文 因为步骤写得很清楚:1,将原图扩大到拼接图大小 并另外填充一幅图缝合线左边为白右边为黑色原创 2015-11-02 09:57:28 · 13534 阅读 · 28 评论 -
关于《一种鱼眼图象到透视投影图象的变换模型》
《一种鱼眼图象到透视投影图象的变换模型》与另一篇论文《一种基于椭圆抛物面透视投影约束的鱼眼镜头校正方法》其实算法差不多的。所以试着实现一个就好了,可是我不知道这篇论文算法的最后一步:确定目标图象的大小,求(uo,vo)对应的中心点(xo,yo),利用公式(1)求出目标图象。 这一步的z怎么确定,如果z确定不了,那怎么可能求出目标图象?那个先想想,我也同时问了别人,等有结果了再补上原创 2015-07-25 09:53:31 · 4253 阅读 · 2 评论 -
泊松融合
想看下泊松融合的效果,据说比多分辨率融合效果要好,因为多分辨率融合会使得融合区域变暗。论文上步骤写得不是特别清楚,看了好几篇都是这样,都写得差不多,介绍下泊松图像剪辑的原理公式那些,然后就开始泊松融合了,这样根本自己编不了 又上网查了下,好像没人写过,但是这个资料貌似还好http://blog.csdn.net/archielau/article/details/8765298 准备自己原创 2015-11-16 16:02:45 · 11647 阅读 · 18 评论 -
柱面投影matlab程序
1,SIFT/SURF等进行特征点检测和匹配 这一步之前编过SIFT 但最后还是有问题 所以还是直接用OpenCV上的特征点检测和匹配程序,然后再把得到的匹配对输出给MATLAB,因为我只要它的结果。2,计算出变换矩阵H 这是鱼眼图像拼接正式开始的第一步:就是根据SIFT匹配(或者别的匹配方法)找到的构成匹配对的特征点位置信息计算出两幅或几幅图像之间的变换矩阵,即原创 2015-10-22 15:59:17 · 8521 阅读 · 21 评论 -
一种三角函数权重的图像拼接算法
根据《一种三角权重的图像拼接算法》,其实我觉得应该叫《一种三角权重的图像融合算法》更合适,侧重融合。A=imread('F:\fisheye\others1.jpg');B=imread('F:\fisheye\others2.jpg');[H,W,k]=size(A);rdata1=-76;rdata2=5;Y=2*W+rdata1+1;C=zeros(H,Y);for i=1原创 2017-03-05 14:45:02 · 2873 阅读 · 32 评论 -
最佳缝合线算法(图像融合)
理论根据《图像拼接的改进算法》,据说这个算法可以消除重叠部分运动物体的重影和鬼影问题,所以就编下试试看,反正之前编的那种很老的取平均值法融合、渐入渐出(基于距离)融合、以及改进的三角函数权重融合都只是适合静态图像融合 有重影和鬼影问题 不适合有运动物体的图像融合,所以还是要最佳缝合线算法:看论文上就四步 很清晰也很好懂 结果自己写的时候才发现看起来很容易的也许编起来没那么容易 想得太简单了。原创 2015-10-31 22:28:04 · 33046 阅读 · 82 评论