如何对matlab plot生成的fig曲线图像进行去噪,平滑处理。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何对matlab plot生成的fig曲线图像进行去噪,平滑处理。相关的知识,希望对你有一定的参考价值。

    图像去噪步骤:

    1. 打开Matlab 编程环境;

    2. 利用’imread’ 函数读入包含噪声的原始图像数据;

    3. 利用’imshow’ 显示所读入的图像数据;

    4. 以3X3 大小为处理掩模,编写代码实现中值滤波算法,并对原始噪声

    图像进行滤波处理;

    5. 利用’imshow’ 显示处理结果图像数据;

    6. 利用’imwrite’ 函数保存图像处理结果数据。

    频域平滑滤波步骤

    1. 打开Matlab 编程环境;

    2. 利用’imread’ 函数读入图像数据;

    3. 利用’imshow’ 显示所读入的图像数据;

    4. 将图像数据由’uint8’ 格式转换为’double’ 格式,并将各点数据乘以

    (-1)x+y 以便FFT 变换后的结果中低频数据处于图像中央;

    5. 用’fft2’ 函数对图像数据进行二维FFT 变换,得到频率域图像数据;

    6. 计算频率域图像的幅值并进行对数变换,利用’imshow’ 显示频率域图

    像;

    7. 在频率图像上去除滤波半径以外的数据(置0); 

    8. 计算频率域图像的幅值并进行对数变换,利用’imshow’ 显示处理过的

    频域图像数据;

    9. 用’ifft2’ 函数对图像数据进行二维FFT 逆变换,并用’real’函数取其实

    部,得到处理过的空间域图像数据;

    10. 将图像数据各点数据乘以(-1)x+y; 

    11. 利用’imshow’ 显示处理结果图像数据;

    12. 利用’imwrite’函数保存图像处理结果数据。

参考技术A 图像去噪步骤:
1. 打开Matlab 编程环境;
2. 利用’imread’ 函数读入包含噪声的原始图像数据;
3. 利用’imshow’ 显示所读入的图像数据;
4. 以3X3 大小为处理掩模,编写代码实现中值滤波算法,并对原始噪声
图像进行滤波处理;
5. 利用’imshow’ 显示处理结果图像数据;
6. 利用’imwrite’ 函数保存图像处理结果数据。
频域平滑滤波步骤
1. 打开Matlab 编程环境;
2. 利用’imread’ 函数读入图像数据;
3. 利用’imshow’ 显示所读入的图像数据;
4. 将图像数据由’uint8’ 格式转换为’double’ 格式,并将各点数据乘以
(-1)x+y 以便FFT 变换后的结果中低频数据处于图像中央;
5. 用’fft2’ 函数对图像数据进行二维FFT 变换,得到频率域图像数据;
6. 计算频率域图像的幅值并进行对数变换,利用’imshow’ 显示频率域图
像;
7. 在频率图像上去除滤波半径以外的数据(置0);
8. 计算频率域图像的幅值并进行对数变换,利用’imshow’ 显示处理过的
频域图像数据;
9. 用’ifft2’ 函数对图像数据进行二维FFT 逆变换,并用’real’函数取其实
部,得到处理过的空间域图像数据;
10. 将图像数据各点数据乘以(-1)x+y;
11. 利用’imshow’ 显示处理结果图像数据;
12. 利用’imwrite’函数保存图像处理结果数据。
参考技术B 图像去噪和平滑处理是对通过拍摄等获取的图片进行的处理步骤
你自己画的曲线图谈不上去噪吧?
平滑可以,但导入数据后,是进行曲线拟合等操作。
你给的信息不够啊
参考技术C 好像不行,因为不能导出fig里的数据。追问

可以对生成图像的矩阵进行去噪处理吗

追答

这是可以,因为有原始数据。

追问

如果Y是矩阵 请问这个函数怎么写呀

追答

如果是1维矩阵可以用filter命令

用Python或MATLAB如何画三元平方和函数曲线???

函数表达式如图所示。希望提供详细代码,谢谢

参考技术A Python代码 import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()ax = Axes3D(fig)X = np.arange(-4, 4, 0.25)Y = np.arange(-4, 4, 0.25)X, Y = np.meshgrid(X, Y)R = np.sqrt(X**2 + Y**2)Z = np.sin(R)ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='hot')plt.show() 运行结果: 参考技术B Python代码 import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dfig = plt.figure()ax = Axes3D(fig)X = np.arange(-4, 4, 0.25)Y = np.arange(-4, 4, 0.25)X, Y = np.meshgrid(X, Y)R = np.sqrt(X**2 + Y**2)Z = np.sin(R)ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='hot')plt.show() 运行结果:

以上是关于如何对matlab plot生成的fig曲线图像进行去噪,平滑处理。的主要内容,如果未能解决你的问题,请参考以下文章

如何提取出cell中具体数据 matlab

matlab中如何求图像特征值曲线图

matlab 灰度变换函数

用Python或MATLAB如何画三元平方和函数曲线???

如何在matlab中用样条函数平滑曲线

如何在matlab同一个图形上绘制多条曲线