gpt4 book ai didi

image-processing - 从图像中去除背景噪音

转载 作者:行者123 更新时间:2023-12-04 08:34:48 27 4
gpt4 key购买 nike

我有两个图像。第一个是背景噪音+内容,第二个是背景噪音。我想从第一个图像中减去第二个图像以去除内容中的噪声。图像是灰度的。

我对处理这个问题的各种方法以及在 mathematica 中处理灰度值感到困惑。

1) 首先,我们可以使用 ImageSubtract[imageOne, imageTwo] .

2) 通过使用 ImageDifference[imageOne, imageTwo] ,我们避免使用负像素值,但图像在使用 ImageSubtract 时必须具有负像素的地方是人为的。 .

3)我们使用ImageData获得每个像素的值, 减去每个对应的值,然后使用 Image 显示结果.

这些方法中的每一种都会产生不同的结果。

最佳答案

对于具有真实数据类型的图像,像素值可以为负,这三个操作是等效的:

real1 = Image[RandomReal[1, {10, 10}]];
real2 = Image[RandomReal[1, {10, 10}]];

ImageData[ImageDifference[real1, real2]] ==
Abs@ImageData[ImageSubtract[real1, real2]] ==
Abs[ImageData[real1] - ImageData[real2]]

Out[4]= True

但整数数据类型的图像并非如此。这是因为在此类图像中只能存储正值,而减法的负结果在输出图像中被剪裁为零:
int1 = Image[RandomInteger[255, {10, 10}], "Byte"];
int2 = Image[RandomInteger[255, {10, 10}], "Byte"];

这还是 True :
ImageData[ImageDifference[int1, int2]]
== Abs[ImageData[int1] - ImageData[int2]]

但是这两者因为剪辑的不同而不同:
ImageData[ImageDifference[int1, int2]]
== Abs@ImageData[ImageSubtract[int1, int2]]

将两个输入图像转换为“Real”或“Real32”数据类型时,会产生较少令人费解的结果。

关于image-processing - 从图像中去除背景噪音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6735973/

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