matlab - 处理过的图像中的伪影

标签 matlab image-processing filter noise-reduction

这个问题与我之前的帖子有关 Image Processing Algorithm in Matlab在 stackoverflow 中,我已经得到了我想要的结果。

但现在我面临另一个问题,在过程图像中得到一些伪影。在我的原始图像(600 张图像堆叠)中,我看不到任何人工制品,请查看指甲的原始图像:

enter image description here

但在我的 10 个处理结果中,我可以看到这些行:

enter image description here

真不知道他们是从哪里来的?

此外,如果它们属于相机的传感器,为什么我在原始图像中看不到它们?有什么想法吗?

编辑:

我添加了@Jonas 建议的以下代码。它减少了伪影,但并没有完全消除它们。

%averaging of images
im = D{1}(:,:);
for i = 2:100
 im = imadd(im,D{i}(:,:));
end
im = im/100;
imshow(im,[]);

for i=1:100
SD{i}(:,:)=imsubtract(D{i}(:,:),im(:,:))
end

@belisarius 要求提供更多图片,所以我要上传 4 张手指上的散斑图案图片和 4 张黑色背景图片(1280x1024):

image1 image2 image3 iamge4

这里是黑色背景:

blackbackground1 blackbackground2 blackbackground3

最佳答案

您的伪像实际上存在于您的原始图像中,尽管不可见。 Mathematica 中的代码:

i = Import@"http://i.stack.imgur.com/5hM3u.png"

enter image description here

EntropyFilter[i, 1]

enter image description here

线条很模糊,但您可以通过非常低的电平阈值进行二值化来看到它们:

Binarize[i, .001] 

enter image description here

至于是什么原因造成的,我只能推测。我将从相机输出本身开始追踪。此外,您可以发布“直接来自相机”的两张或三张图片,让我们进行一些实验。

关于matlab - 处理过的图像中的伪影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11013721/

相关文章:

c - 除了混淆矩阵还有哪些其他形式的评估?

python - 如何根据opencv python中的掩码删除图像组件?

c - 如何通过选择 c 中的行和列来查找二维数组的子集?

java - 将过滤选项添加到 JTable 的列标题

algorithm - 过滤电位计数据时出现问题(嘈杂、高尖峰)

matlab - 如何导出非模糊的 eps 图像?

c - 从 MATLAB 访问在 MEX 中创建的稀疏矩阵

r - MATLAB 中 R 对应项中的 "Sapply"函数,用于将代码从 R 转换为 MATLAB

image-processing - 如何在知道 3D 对象所有 2D View (顶 View 、下 View 、前 View 、后 View ……)的情况下推断出 3D 对象的任何 View

python - 如何在python中找到文本图像上的图像相似性