请给我写一个matlab的图像对比度噪声比(CNR)的代码
时间: 2023-05-30 16:02:06 浏览: 195
下面是一个简单的MATLAB代码示例,用于计算图像的对比度噪声比(CNR)。
```matlab
% 读取图像
img = imread('lena.png');
% 计算图像的均值和标准差
img_mean = mean(img(:));
img_std = std(double(img(:)));
% 生成高斯白噪声
noise = randn(size(img)) * img_std * 0.1;
% 添加噪声
noisy_img = img + uint8(noise);
% 计算噪声图像的均值和标准差
noise_mean = mean(noise(:));
noise_std = std(double(noise(:)));
% 计算对比度噪声比(CNR)
cnr = abs(img_mean - noise_mean) / noise_std;
% 显示图像和结果
subplot(1,2,1), imshow(img), title('原始图像');
subplot(1,2,2), imshow(noisy_img), title(sprintf('CNR = %.2f dB', cnr));
```
该代码首先读取一个图像,并计算其均值和标准差。然后,它生成一个与原始图像大小相同的高斯白噪声,并将其添加到原始图像中,生成一个带有噪声的图像。接下来,它计算噪声图像的均值和标准差,并使用这些值计算对比度噪声比(CNR)。最后,它在两个子图中显示原始图像和带有噪声的图像,并在第二个子图的标题中显示计算出的CNR。请注意,这只是一个简单的示例,您可能需要根据自己的需求进行修改。
相关推荐
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)