【发布时间】:2012-06-13 11:17:13
【问题描述】:
这个问题和我之前在stackoverflow中的帖子Image Processing Algorithm in Matlab有关,我已经得到了我想要的结果。
但现在我面临另一个问题,并且在过程图像中得到了一些人工制品。在我的原始图像(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)的图片:
这里是黑色背景:
【问题讨论】:
-
当您从下面的答案中找到解决方案时,将其作为答案发布。这是一个奇怪的问题:)
-
请问您打算如何处理这些视频?与 PPG 相关的东西?
-
@Georg 阅读了我之前在 stackoverflow 中的帖子:Matlab 中的图像处理算法
-
因此,平均将不起作用。在成像世界中,平均称为帧积分。传统上,它用于视频系统,以帮助减少像素值的随机变化以产生更清晰的图像。这就是为什么它在这种情况下不起作用的原因。您所看到的很可能确实是图像传感器问题。平均只会“清理”线条,并使它们更加纯净。如果您第一次拍摄图像时静止图像之间有任何移动,它也会涂抹您的输出图像。
标签: matlab image-processing filter noise-reduction