我必须对两个低分辨率图像进行超分辨率才能获得高分辨率图像。
第一张图像作为基础图像,第二张图像相对于它进行配准。我使用 SURF 算法进行图像配准。使用内置 MATLAB delaunay 函数在这些点上构建 Delaunay 三角剖分。HR 网格的大小是为预先指定的分辨率增强因子 R 构建的。接下来总结用于在 HR 网格上插值像素值的 HR 算法。
HR 算法步骤: 1. 在由 LR 帧形成的不规则采样栅格中的分散顶点集上构建 Delaunay 三角剖分。
通过叉积法计算相邻向量的单位法向量,估计三角剖分每个顶点的梯度向量。每个三角形的单位法向量之和乘以它的面积,再除以所有相邻三角形的面积之和,得到顶点法线。
通过一个连续的并且可能是一个连续可微的表面来近似三角剖分中的每个三角形补丁,并受到一些平滑度约束。二元多项式或样条可以是近似值,如下所述。设置沿水平和垂直方向的分辨率增强因子,然后计算每个规则间隔的 HR 网格点的像素值,构建初始 HR 图像
现在我得到了如下所示的结果
现在对于一种数据集,我得到这个结果,其中有几个像素以随机方式黑白色对于另一种类型,在超分辨率后,我在图像上得到细平行线,结果已附加
对于第一组随机像素出现在超分辨率上,对于第二组随机像素出现平行线,当我在估计几何变换命令中将变换类型从仿射更改为投影时,这些像素出现在不同的图案上,对于其他数据集还有变形就像边缘中的平行线。对于某些图像,它非常好并且不会产生任何变形
任何人都可以告诉我原因,我发现可能是它的去马赛克,但我不确定,因为我对它不太了解,而且它可能是我的代码中的一个错误,但它对于不同的图像表现不同,我有将尺寸增加了两次超分辨率。