回 帖 发 新 帖 刷新版面

主题:作业题求解

图像的直方图均衡,,谁能给个源代码

回复列表 (共2个回复)

沙发


参考imhist();histeq()函数吧

板凳

function hist=Process(in)%图像in的直方图计算
%in(x,y,k)表示第x行第y列的三基色元素的灰度值(1-256),k=1,2,3,对应红绿蓝
[sizeY,sizeX,sizeZ]=size(in);his(1:257)=0;
for i=1:sizeY,for j=1:sizeX,
if in(i,j,1)==0,k=257;else k=in(i,j,1);end ,his(k)=his(k)+1;end,end,
his( : ,257)=[];hist=his/(sizeX*sizeY);
% figure;plot(hist,'r'),hold on;

function fun=Process1(hist)%图像直方图的均衡化函数计算
len=length(hist);f(1)=hist(1);for k=2:len,f(k)=f(k-1)+hist(k);end,fun=256*f;
% figure;plot(fun,'b'),hold on;

function B=Process2(A,fun)%图像A的点运算
[sizeY,sizeX,sizeZ]=size(A);
for i=1:sizeY,for j=1:sizeX,
f1=A(i,j,1);if    f1<1,f1=1;end,f2=round(fun(f1));if f2<1,f2=1;end,B(i,j,1)=f2;B(i,j,2)=f2;B(i,j,3)=f2;end,end,
% figure;imshow(B/256);%显示图形

function Display(A,histA,funA,B,histB)
subplot(2,2,1),subimage(A);title('原始图像');
subplot(2,2,2),subimage(B/256);title('均衡化图像');
subplot(2,2,3),plot(histA*1,'r.');title('原始图像直方图');
subplot(2,2,4),plot(histB*1,'b.');title('均衡化图像直方图');

我来回复

您尚未登录,请登录后再回复。点此登录或注册