这个问题与我之前的帖子有关 Image Processing Algorithm in Matlab在 stackoverflow 中,我已经得到了我想要的结果。
但现在我面临另一个问题,在过程图像中得到一些伪影。在我的原始图像(600 张图像堆叠)中,我看不到任何人工制品,请查看指甲的原始图像:
但在我的 10 个处理结果中,我可以看到这些行:
真不知道他们是从哪里来的?
此外,如果它们属于相机的传感器,为什么我在原始图像中看不到它们?有什么想法吗?
编辑:
我添加了@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):
这里是黑色背景:
最佳答案
您的伪像实际上存在于您的原始图像中,尽管不可见。 Mathematica 中的代码:
i = Import@"http://i.stack.imgur.com/5hM3u.png"
EntropyFilter[i, 1]
线条很模糊,但您可以通过非常低的电平阈值进行二值化来看到它们:
Binarize[i, .001]
至于是什么原因造成的,我只能推测。我将从相机输出本身开始追踪。此外,您可以发布“直接来自相机”的两张或三张图片,让我们进行一些实验。
关于matlab - 处理过的图像中的伪影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11013721/