matlab如何绘制图像的二维直方图?有代码的发一个给我,谢谢啦
3个回答
展开全部
下面的这段程序你保存成histo2D.m,再调用就可以了。我也是参考别人的。
% function H = histo2D(D,[Xlo Xhi],Xn,[Ylo Yhi],Yn,Xlab,Ylab,Title)
%
% 2 Dimensional Histogram (size(H) == [Yn Xn])
% Counts number of points in the bins defined by
% X = linspace(Xlo,Xhi,Xn) and
% Y = linspace(Ylo,Yhi,Yn)
function H = histo2D(D,Xrange,Xn,Yrange,Yn,Xlab,Ylab,Title)
Xlo = Xrange(1) ; Xhi = Xrange(2) ;
Ylo = Yrange(1) ; Yhi = Yrange(2) ;
X = linspace(Xlo,Xhi,Xn)' ;
Y = linspace(Ylo,Yhi,Yn)' ;
Dx = D(:,1) ; Dy = D(:,2) ;
n = length(D) ;
H = zeros(Yn,Xn) ;
for i = 1:n
x = dsearchn(X,Dx(i)) ;
y = dsearchn(Y,Dy(i)) ;
H(y,x) = H(y,x) + 1 ;
end ;
figure , pcolor(X,Y,H) ;
% Xmid = 0.5*(X(1:end-1)+X(2:end)) ;
% Ymid = 0.5*(Y(1:end-1)+Y(2:end)) ;
% figure , pcolor(Xmid,Ymid,H) ;
colorbar ; shading flat ; axis square tight ; grid on ;
xlabel(Xlab) ; xlabel(Ylab) ; title(Title) ;
% function H = histo2D(D,[Xlo Xhi],Xn,[Ylo Yhi],Yn,Xlab,Ylab,Title)
%
% 2 Dimensional Histogram (size(H) == [Yn Xn])
% Counts number of points in the bins defined by
% X = linspace(Xlo,Xhi,Xn) and
% Y = linspace(Ylo,Yhi,Yn)
function H = histo2D(D,Xrange,Xn,Yrange,Yn,Xlab,Ylab,Title)
Xlo = Xrange(1) ; Xhi = Xrange(2) ;
Ylo = Yrange(1) ; Yhi = Yrange(2) ;
X = linspace(Xlo,Xhi,Xn)' ;
Y = linspace(Ylo,Yhi,Yn)' ;
Dx = D(:,1) ; Dy = D(:,2) ;
n = length(D) ;
H = zeros(Yn,Xn) ;
for i = 1:n
x = dsearchn(X,Dx(i)) ;
y = dsearchn(Y,Dy(i)) ;
H(y,x) = H(y,x) + 1 ;
end ;
figure , pcolor(X,Y,H) ;
% Xmid = 0.5*(X(1:end-1)+X(2:end)) ;
% Ymid = 0.5*(Y(1:end-1)+Y(2:end)) ;
% figure , pcolor(Xmid,Ymid,H) ;
colorbar ; shading flat ; axis square tight ; grid on ;
xlabel(Xlab) ; xlabel(Ylab) ; title(Title) ;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x=1:10;
y=rand(1,10);
bar(x,y);
figure
barh(x,y)
y=rand(1,10);
bar(x,y);
figure
barh(x,y)
追问
如果我想做一个这样的效果怎么做呀。我的数据为图像的灰度值(二维矩阵)和图像的4邻域灰度值(二维),怎样用这些数据作出这样的效果图呀?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询