【问题标题】:SuperResolution and Laplacian Term超分辨率和拉普拉斯项
【发布时间】:2012-06-11 20:56:56
【问题描述】:

我正在编写一个允许执行 SuperResolution 算法的程序。在书中,在复原的路上,他们使用了离散的拉普拉斯算子。我必须以某种方式将矩阵(我的图像)乘以这个拉普拉斯算子。所以,我必须将此运算符表示为矩阵,但我无法想象如何?

书中的文字:

拉普拉斯算子是二阶导数,但对于离散数据,它 可以通过具有以下形式的掩码的单个卷积来近似:

算子将此卷积作为矩阵乘法执行。它的形式如下(空白代表零)。

附:对不起我的英语不好! :)

【问题讨论】:

    标签: algorithm image-processing convolution


    【解决方案1】:

    您只需将 3x3 卷积核应用于您的图像,例如伪代码:

    for i = 1 to M - 1
        for j = 1 to N - 1
            img_out[i][j] = 4 * img[i][j] - img[i-1][j] - img[i+1][j] - img[i][j-1] - img[i][j+1]
    

    其中img 是输入图像,M 是行数,N 是列数,img_out 是卷积输出图像。

    注意img_out 中的边框像素是未定义的。

    【讨论】:

    • Paul,非常感谢,现在更清楚了!但我仍然无法得到一件事。我以前从未使用过图像,但我建议图像中的每个像素都必须是一个结构,由三个字段(红色、绿色和蓝色)组成。据我了解,我应该写 img_out[i][j].red = 4 * img[i][j].red - img[i-1][j].red - img[i+1][ j].red - img[i][j-1].red - img[i][j+1].red 并对其他两个字段重复,还是我弄错了?
    • 大多数图像处理算法都是根据灰度(即强度)图像来描述的。但是,是的,您可能可以按照您的描述将算法分别应用于每个颜色平面。
    • 我又看了一遍书,公式是i.stack.imgur.com/igjAl.jpg,上面说Qt*Q是拉普拉斯项,lambda只是一个数字,而A-是图像变换的联合矩阵。该矩阵的宽度为 MxN,高度可能会有所不同(M 和 N 是图像的大小)。所以,我必须以某种方式将这个 3x3 内核缩放到合适的大小。就像我第一篇文章的最后一张图片一样。我找不到依赖项(如果我找到了正确的词)
    • 我认为您不需要缩放内核 - 拉普拉斯项很可能是上述卷积的输出图像,即 MxN 图像与 3x3 拉普拉斯内核卷积。
    • 说实话,我没有完全理解你,但我认为你没有理解我。看看公式,我必须用拉普拉斯算子(3x3 矩阵)添加矩阵 A(MxN)。为此,我必须使它们的大小相同。
    猜你喜欢
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 2011-11-18
    • 2020-12-23
    相关资源
    最近更新 更多