如何在matlab中画出图像直方图
时间: 2024-09-29 17:10:04 浏览: 40
在MATLAB中绘制图像直方图,你可以按照以下步骤进行:
1. **加载图像**:首先,你需要导入一幅图像,例如使用`imread()`函数。例如:
```matlab
img = imread('your_image.jpg');
```
2. **提取像素值**:接下来,从图像中提取所有像素的灰度值,生成一个向量。
```matlab
pixel_values = im2double(img);
```
3. **计算直方图**:然后使用`histogram()`函数创建直方图,其中第一个输入是像素值向量,第二个输入是直方图的范围。
```matlab
[counts, bin_edges] = histogram(pixel_values, 'Normalization', 'probability');
```
4. **绘制直方图**:最后,使用`plot()`或`bar()`函数展示直方图。
```matlab
figure;
plot(bin_edges(1:end-1), counts, '-o');
xlabel('Pixel Intensity');
ylabel('Probability');
title('Image Histogram');
```
完整的代码示例:
```matlab
img = imread('your_image.jpg');
pixel_values = im2double(img);
[counts, bin_edges] = histogram(pixel_values, 0:255);
figure;
bar(bin_edges(1:end-1), counts);
xlabel('Pixel Intensity');
ylabel('Frequency');
title('Image Histogram');
```
阅读全文