【问题标题】:Removing a noisy pattern (like chess board) from image using matlab使用matlab从图像中去除嘈杂的图案(如棋盘)
【发布时间】:2017-10-04 18:33:01
【问题描述】:

我有一组称为字典的随机图像(附件图像的顶部)。任何探测图像都表示为字典元素的线性组合。 这是字典和重建的样本图像:

为此,探测图像被划分为 16*16 块。每个块都是字典元素的线性组合。重建的图像在某些区域有象棋盘一样的图案,如何去除这种图案并提高图像可视化? 我尝试了一些过滤器(medfilt2wiener2),但没有帮助。

【问题讨论】:

  • 高斯滤波器怎么样,比如imgaussfilt(I, 3);
  • 它变得更好但图像模糊!
  • 我添加了我的方法作为答案(包括生成的图像)​​,以便与其他方法进行比较。也许,您也应该添加试验结果。
  • 随着光栅数量的增加,您会看到更少的伪影。这些是压缩伪影,您无法避免它们。与 JPEG 压缩图像相比,它们在压缩率高时会出现同样的问题。您可能可以过滤掉其中的一些,但它始终是清晰度和伪影之间的折衷。在 16x16 块的边界处寻找具有高梯度的区域,这些区域很可能是伪影。

标签: image matlab image-processing filtering


【解决方案1】:

在这种情况下,高斯滤波似乎适合我。请注意,图像不包含足够的信息来精确地重建图像。因此,人们应该始终在模糊和清晰但光栅化的图像之间进行权衡。

figure
sigma = 3; % smaller value => sharper but more rasterised
Ifilter = imgaussfilt(I, sigma); 
imshow(Ifilter);

左图 (sigma = 3) 的光栅化程度较低,但右图 (sigma = 2) 更清晰。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    • 2019-10-30
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    相关资源
    最近更新 更多