matlab 灰度直⽅图的2种绘制⽅法
matlab灰度直⽅图的绘制,掌握两种⽅法:
matlab直方图
1
绘制结果 2
close all,clear all,clc;
I=imread('filename.jpg');
row=size(I,1);
column=size(I,2);%2→dimision
N=zeros(1,256);%zeros(256)⽣成256x256矩阵
for  i=1:row
for  j=1:column
k=I(i,j);
N(k+1)=N(k+1)+1;%记录每个灰度值的像素数
end
end
figure;
subplot(121);imshow(I);%subplot 将窗⼝分为1x2两个窗⼝,现在在第⼀个⼩窗⼝绘图subplot(1,2,2);bar(N);%subplot(122)=subplot(1,2,2)
%bar 函数绘制直⽅图,为N 中每⼀⾏的每⼀个元素绘制⼀个条
axis tight;%设置坐标轴
A=imread(img);
% get the histogram
[Y,X]=size(A); % Y Row , X column
grayvalue=unique(A);
imginfo=[];
for i=1:length(grayvalue)
[ANSy,ANSx]=find(A==grayvalue(i));
imginfo.position{i}=[ANSy,ANSx];
end
subplot(1,2,1);
imshow(A);
title('Original Image');
subplot(1,2,2);
unt,'Marker','none');%stem(x, y);绘制以x为横轴、 y为纵轴的脉冲杆图图形xlabel('Graylevel');
ylabel('Proportion');
axis([02550 unt)]);
title('Histogram of the orginial image')
%find函数⽤来出符合元素的位置,位置序号是从左到右,每列从上往下排列
%以下为矩阵的⼀些基本操作:','为分隔列向量,‘;’分隔⾏向量,删除矩阵最后⼀列可以⽤x(:,end)=[]
绘制结果
imhist(A)结果

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。