- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用不同类型的滤波器来去除超声图像中的散斑噪声。我已将以下论文作为我的基础论文并尝试重现本文的结果:
我设计了所有过滤器并使用默认的 matlab 图像进行了测试。我对结果很满意。滤波图像的均方误差(MSE)小于噪声图像,滤波图像的信噪比(SNR)和峰值信噪比(PSNR)大于噪声图像。
但遗憾的是,当我尝试将其用于超声图像时,结果却相反。即滤波图像的MSE大于噪声图像,滤波图像的SNR和PSNR小于噪声图像。
我尝试了许多其他超声图像,但无法正确处理。
Lena.jpg 的结果
*********质量测量***********
*******噪声图像***********
均方误差 = 0.0080186
信噪比 (SNR) = 69.4875
峰值信噪比(PSNR) = 69.0898
*********3 x 3 中值滤波器***********
均方误差 = 0.00257916
信噪比 (SNR) = 74.4137
峰值信噪比(PSNR) = 74.016
*********5 x 5 中值滤波器***********
均方误差 = 0.00188434
信噪比 (SNR) = 75.7769
峰值信噪比(PSNR) = 75.3792
*********7 x 7 中值滤波器***********
均方误差 = 0.00208378
信噪比 (SNR) = 75.34
峰值信噪比(PSNR) = 74.9423
超声结果.jpg
*********质量测量***********
*******噪声图像***********
均方误差 = 0.00153502
信噪比 (SNR) = 64.8881
峰值信噪比(PSNR) = 76.2697
*********3 x 3 中值滤波器***********
均方误差 = 0.00770785
信噪比 (SNR) = 57.8799
峰值信噪比(PSNR) = 69.2615
*********5 x 5 中值滤波器***********
均方误差 = 0.00810142
信噪比 (SNR) = 57.6637
峰值信噪比(PSNR) = 69.0452
*********7 x 7 中值滤波器***********
均方误差 = 0.00853159
信噪比 (SNR) = 57.439
峰值信噪比(PSNR) = 68.8205
我不确定为什么会得到这样的结果。我添加了用于质量测量的代码。如果我做错了什么,请纠正我。
function metrics = Metrics1(Orig_Image,Esti_Image)
%---Mean-Square Error(MSE) Calculation
Orig_Image = im2double(Orig_Image);%---Convert image to double class
Esti_Image = im2double(Esti_Image);%---Convert image to double class
[M N] = size(Orig_Image);%---Size of Original Image
err = Orig_Image - Esti_Image;%---Difference between two images
metrics.M_SE = (sum(sum(err .* err)))/(M * N);
%---Signal-to-Noise Ratio(SNR) Calculation
metrics.SNR = 10*log10((1/M*N)*sum(sum(Orig_Image.*Orig_Image))/(metrics.M_SE));
%---Peak Signal-to-Noise Ratio(PSNR) Calculation
if(metrics.M_SE > 0)
metrics.PSNR = 10*log10(255*255/metrics.M_SE);
else
metrics.PSNR = 99;
end
%---Mean and Standard Deviation
%---Beta Calculation
h = fspecial('laplacian');
I1 = imfilter(Orig_Image,h);
I2 = imfilter(Esti_Image,h);
I_1 = mean2(I1);
I_2 = mean2(I2);
metrics.Beta = sum(sum((I1 - I_1).*(I2 - I_2)))./(sqrt(sum(((I1 - I_1).^2).*((I2 - I_2).^2))));
end
最佳答案
过滤后的超声图像具有较高 MSE(和较低 SNR)的原因只是因为您的 ultrasound.jpg
不是无噪声的,而 Lena.jpg
是相比之下相当干净。
您的过滤实际上确实去除了椒盐/ Blob 噪声,但这会导致过滤后的图像与原始图像更加不同,原始图像可能具有与此类噪声相似的频率特性。当然,添加噪声会产生误差,但是当您使用添加噪声过滤图像时,它实际上变得与原始图像更多不同,至少在 MSE 的意义上是这样。
您没有假设的完美超声图像。
关于image - 为什么超声图像的 PSNR 会降低?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20172128/
我在堆栈上创建了这段代码: function increase_brightness(hex, percent){ var r = parseInt(hex.substr(1, 2), 16)
为什么我能够LOWER COALESCE 中的每个项目,但无法LOWER整个COALESCE,否则我会遇到语法错误?例如: SELECT COALESCE(LOWER(google_provider_
我在谷歌上搜索到的所有内容都表明,以下任何一项都会将 double 舍入到小数点后两位。 double roundToFourDecimals(double d) { DecimalForma
我正在开发一个 flexdashboard/storyboard,我想在其中降低每个帧的高度。那可能吗? 示例代码: --- title: "Flex" output: flexdashboard
我在 WPF 中有一个图像控件。我需要减小图像尺寸控件的宽度和高度。但是当我这样做时,图像看起来不太好。数据丢失更多。 所以我想降低图像分辨率而不是仅仅改变图像控件的宽度和高度。 任何人都可以帮助我如
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题?通过 editing this post 添加详细信息并澄清问题. 1年前关闭。 Improve this
我正在扩展 Fluent NHibernate,以便更好地与 F# 一起使用(即引用支持),并希望获得一些关于降低 API 流畅性的反馈。 F# 要求使用返回值,除非它们是单位类型。所以这最终以“|>
我们有一个 BizTalk 2010 接收位置,它将获取一个 70MB 的文件,然后使用入站映射(在接收位置)和出站映射(在发送端口)生成一个 1GB 文件。 执行上述过程时,SQL Server 会
我的代码分析插件提示包含以下代码的方法中的代码复杂性。我注意到以下代码看起来可以组合,但我不知道如何做到这一点: for(Command command : commands) { if (c
我正在寻找一种方法来始终忽略 R 中 float 之间的微小差异(根据 IEC 60559,这些是 double 浮点),通过使用基本 R 工具而不诉诸 C 或 C++。换句话说,我想“四舍五入” d
在 Blazor 中使用 ChartJs.Blazor 的 BarChart 组件时是否可以降低甚至关闭动画速度?我发现这个 NuGet 包非常有用,但我不知道如何在更新条形图时关闭动画。为了更容易忽
所以我为一个游戏编写了这段代码,现在该游戏的速度非常快。我想降低 FPS,让游戏慢一点。 我认为我唯一的出路就是制作一个计时器。但我发现很难找到放置计时器的位置?谁能帮我解决这个问题吗? 所以我为一个
我正在编写一个程序,我担心它运行所需的时间和所占用的空间。 在程序中我使用了一个变量来存储数组的长度: int len=newarray3.length; 现在,我想知道是否能够通过不使用 len 变
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 2 年前。 Improve th
我用Java编写了一个程序,但它的计算时间很长,我不知道为什么。有人可以指点一下以降低复杂性吗?此外,在计算一些值(例如 3,100 之后)后,它会给出空指针异常。代码: public class F
我有下图,由 1 行 2 列的网格组成。我愿意 降低右侧子图的高度(3D PREDICTION),使棋盘平面看起来有点挤压并显示更好的视角。 在左侧子图的顶部添加一些边距(2D PREDICTION)
是否有一种简单的方法可以更改以 RGB 字符串形式给出的颜色的亮度? 例如 in_RGB = '#FF0000' --> out_RGB = '#CC0000' 最佳答案 将十六进制字符串转换为 R
我已经编写了代码来更改对象(不是进程)(在本例中是文件)的完整性级别。据我们所知,我们从中等完整性级别开始,但我想将其降低到“低”。我想运行完整性较低的 .txt 文件而不是默认介质。 我使用 WIN
是否可以在保持原始宽高不变的情况下降低图像分辨率? 我已经使用 BitmapFactoryOptions 尝试了几个选项: 在样本大小 inDensity、inScaled、inTargetDensi
是否有高级(Java)或低级方式(使用 native 代码)将 Android 设备上的蓝牙信号强度更改为最低? 目标是使设备在 20 厘米范围内可被发现?在 Internet 上根本找不到与此相关的
我是一名优秀的程序员,十分优秀!