【发布时间】:2013-12-27 20:35:25
【问题描述】:
与标准(并且更具挑战性)去模糊和超分辨率场景不同,我可以访问原始(清晰)图像G 和它的模糊版本B。我只是在寻找模糊内核h。所以因为B是使用真实相机拍摄的,所以关系是:
B=G*h+N (其中* 表示卷积,N 是一些加性噪声)
当然,这是一个过度约束的问题,因为与 G 和 B 相比,h 的尺寸较小,因此这对图像中的每几个像素都会在 h 的条目上生成一个方程。
但实际实现这一点的最简单方法是什么?到目前为止我的想法:
- 移动到频域并进行除法(正如this answer 建议的那样)。但这不可避免地会因为噪声而在数值上不稳定,对吧?
- 互相关 - 我只找到了一维信号的示例,不知道如何在图像的二维情况下使用。
- 使用一些优化程序仔细构造一个过度约束的线性系统
G'h'=B'寻找h',它是内核h条目的向量版本。但这非常繁琐,矩阵G'和向量B'的大小势必很大。
从 C++ 到 MATLAB 的任何编程语言的具体示例都非常有用。
【问题讨论】:
-
在第一种方法中,我认为噪音不会使结果在数值上不稳定。但这只是猜测
-
为什么你认为在现实场景中
h对所有像素都是固定的? -
我建议看一下:wisdom.weizmann.ac.il/~levina/papers/deconvLevinEtalCVPR11.pdf - 那里解决的问题更复杂,他们不假设知道
G,但他们有一套明确恢复h可能是有用 -
@Shai,我不认为
h在整个图像中是恒定的,事实上,简单的实验表明并非如此。但是,我有兴趣获得一些全局近似值。Anat 论文中的 M 步(他的办公室在我的几扇门旁边 :))利用一个简单的二次规划问题似乎最相关。我正在努力使她的代码适应一个简单的函数,产生h给定B和G。会在我开始体面工作时发布。 -
@Stav 向 Anat 致以问候。
标签: matlab image-processing signal-processing convolution cross-correlation