gpt4 book ai didi

matlab - 从灰度图像中去除异常值

转载 作者:太空宇宙 更新时间:2023-11-03 19:38:39 25 4
gpt4 key购买 nike

问题

我有一个代表我想要清理的深度信息的图像序列。有一些异常值(强度低于 25 的值,范围为 0-255),我希望用可接受的替代值填充它们(位于该特定区域的平均值可能是一个很好的猜测)。

有人能看到一个简单的方法来做到这一点吗?我曾尝试使用中值滤波器(滤波器大小为 10)用 NaN 替换不需要的值,但它确实使情况变得更糟,通过用一般平均值替换它们来改善情况。

Basic trial

附言有人已经建议我使用快速小波重建,但我真的不知道从哪里开始...

已实现的解决方案(到目前为止)

我实现的解决方案(在阅读 tmpearce 建议的 inpaint_nans 之前)是:

  1. 复制原始图像;
  2. 用一般平均值填充无效像素;
  3. 使用光线为10的圆盘进行模糊处理;
  4. 用我从第 3 点得到的值替换原始图像中的无效值。
  5. 运行大小为 10 的中值过滤器。
img2 = img;                                       
img2(img < .005) = mean(img(:));
H = fspecial('disk',10);
img3 = imfilter(img2,H,'symmetric');
img4 = img;
img4(img < .3) = img3(img < .3);
filterSize = 10;
padopt = {'zeros','indexed','symmetric'};
IMG = medfilt2(img4, [1 1]*filterSize, padopt{p});

Second trial

最佳答案

我推荐 inpaint_nans来自 MATLAB File Exchange 的贡献 - 正如您已经完成的那样,首先将异常值替换为 NaN,然后使用链接从那里开始。

来自函数的描述:

Interpolate NaN elements in a 2-d array using non-NaN elements. Can also extrapolate, as it does not use a triangulation of the data. Inpaint_nans offers several different approaches to the interpolation, which give tradeoffs in accuracy versus speed and memory required. All the methods currently found in inpaint_nans are based on sparse linear algebra and PDE discretizations. In essence, a PDE is solved to be consistent with the information supplied.

可重用代码万岁!

关于matlab - 从灰度图像中去除异常值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15823507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com