使用matlab画出Cameraman图像的直方图
时间: 2024-01-09 09:04:37 浏览: 74
下面是使用MATLAB绘制Camerman图像的直方图的代码:
```matlab
% 读取Cameraman图像
img = imread('cameraman.tif');
% 绘制直方图
imhist(img);
```
运行以上代码,将会在MATLAB的图形窗口中显示出Camerman图像的直方图。如果需要保存图片,可以使用MATLAB提供的保存命令,例如:
```matlab
% 保存直方图为PNG格式
print('cameraman_hist.png', '-dpng');
```
以上代码将会保存直方图为PNG格式的图片文件。
相关问题
使用MatLab的直方图均衡函数(histeq)对Cameraman图像进行直方图均衡
好的,以下是使用MatLab的直方图均衡函数(histeq)对Cameraman图像进行直方图均衡的步骤:
1. 首先读入Cameraman图像并显示:
```
cameraman = imread('cameraman.tif');
imshow(cameraman);
```
2. 对Cameraman图像进行直方图均衡:
```
cameraman_eq = histeq(cameraman);
```
3. 显示直方图均衡后的Cameraman图像:
```
imshow(cameraman_eq);
```
完整代码如下:
```
cameraman = imread('cameraman.tif');
imshow(cameraman);
cameraman_eq = histeq(cameraman);
imshow(cameraman_eq);
```
运行以上代码即可得到直方图均衡后的Cameraman图像。
matlab代码:对cameraman.tif图像进行如下块操作:在5*5的块内,取最大值与最小值的差;显示原图像和进行块操作后的图像,并分析实验结果。采用直方图均衡、对比度扩展两种方法对cameraman.tif图像进行增强;显示原图像和增强后图像及其对应的直方图,并对实验结果进行比较与分析。
以下是您需要的 MATLAB 代码:
块操作部分:
```matlab
% 读取图像
img = imread('cameraman.tif');
% 定义块大小
blockSize = 5;
% 获取图像尺寸
[height, width] = size(img);
% 初始化结果矩阵
result = zeros(height, width);
% 遍历图像
for i = 1:blockSize:height
for j = 1:blockSize:width
% 获取当前块
block = img(i:min(i+blockSize-1,height), j:min(j+blockSize-1,width));
% 计算最大值与最小值的差
diff = max(block(:)) - min(block(:));
% 将差值赋值给结果矩阵
result(i:min(i+blockSize-1,height), j:min(j+blockSize-1,width)) = diff;
end
end
% 显示原图像和进行块操作后的图像
subplot(1,2,1);
imshow(img);
title('原图像');
subplot(1,2,2);
imshow(result, []);
title('块操作后的图像');
```
直方图均衡部分:
```matlab
% 读取图像
img = imread('cameraman.tif');
% 进行直方图均衡
imgEq = histeq(img);
% 显示原图像和增强后图像及其对应的直方图
subplot(2,2,1);
imshow(img);
title('原图像');
subplot(2,2,2);
imhist(img);
title('原图像直方图');
subplot(2,2,3);
imshow(imgEq);
title('增强后的图像');
subplot(2,2,4);
imhist(imgEq);
title('增强后的图像直方图');
```
对比度扩展部分:
```matlab
% 读取图像
img = imread('cameraman.tif');
% 对比度扩展
imgContrast = imadjust(img, [0.2, 0.8], []);
% 显示原图像和增强后图像及其对应的直方图
subplot(2,2,1);
imshow(img);
title('原图像');
subplot(2,2,2);
imhist(img);
title('原图像直方图');
subplot(2,2,3);
imshow(imgContrast);
title('增强后的图像');
subplot(2,2,4);
imhist(imgContrast);
title('增强后的图像直方图');
```
分析:
通过块操作,我们可以看到图像被分成了许多小块并进行处理,得到了一张新的图像。这种操作可以用于图像的降采样等应用中。
在直方图均衡和对比度扩展两种增强方法中,我们可以看到增强后的图像的对比度都得到了提高,但是直方图均衡会使得图像变得更亮,而对比度扩展则可以保持原有的亮度。因此,在选择增强方法时需要根据具体应用场景进行选择。
相关推荐
![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)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)