matlab画直方图代码
时间: 2023-09-14 18:10:10 浏览: 48
以下是MATLAB画直方图的示例代码:
```matlab
% 生成一些随机数据
data = randn(1000,1);
% 绘制直方图
histogram(data,'BinMethod','fd','Normalization','probability');
% 添加标题和标签
title('Histogram of Random Data');
xlabel('Data Values');
ylabel('Probability');
```
其中,`data`是需要绘制直方图的数据,`BinMethod`指定直方图的分组方式,`Normalization`指定是否将直方图的纵坐标归一化为概率密度。
你可以根据自己的数据和需要,调整代码中的参数。
相关问题
matlab灰度直方图 代码
Matlab中可以使用`imhist`函数来计算图像的灰度直方图。下面是一个简单的示例代码:
```matlab
% 读取图像
image = imread('image.jpg');
% 将图像转换为灰度图像
grayImage = rgb2gray(image);
% 计算灰度直方图
histogram = imhist(grayImage);
% 绘制直方图
bar(histogram);
title('灰度直方图');
xlabel('灰度级别');
ylabel('像素数量');
```
这段代码首先读取一张图像,然后将其转换为灰度图像。接着使用`imhist`函数计算灰度直方图,并将结果存储在`histogram`变量中。最后,使用`bar`函数绘制直方图。
matlab颜色直方图代码
这段MATLAB代码用于绘制RGB颜色直方图:
```
clear;close all;clc;
f=imread('llama.jpg');
subplot(211); imshow(f);title('原图');
fcal=double(f);
[m,n,h]=size(f);
Y=zeros(h,256);
for k=1:h
for i=1:m
for j=1:n
Y(k,fcal(i,j,k)+1)=Y(k,fcal(i,j,k)+1)+1;
end
end
end
X=0:1:255;
subplot(212);
histogram=bar(X,Y);
axis([0 255,-inf inf])
xlabel('灰度级');ylabel('像素个数');
if h==3
title('RGB直方图');
set(histogram(1),'FaceColor',[1 0.1882 0.1882]);
set(histogram(2),'FaceColor',[0.5 1 0]);
set(histogram(3),'FaceColor',[0 0.5 1]);
hold on
plot(X,Y(1,:),'Color',[1 0.1882 0.1882]);
plot(X,Y(2,:),'Color',[0.5 1 0]);
plot(X,Y(3,:),'Color',[0 0.5 1]);
hold off
else
title('灰度直方图');
end
```
该代码首先读取图像`llama.jpg`,然后计算图像的RGB直方图。如果输入图像是RGB图像,则绘制RGB直方图,否则绘制灰度直方图。对于RGB直方图,分别为每个基色设置颜色,并添加轮廓。最后,使用`bar`函数和`plot`函数绘制直方图和轮廓。