联系QQ:

2181264433

新闻资讯
联系我们
联系:张女士
微信:扫一扫右侧二维码
QQ :2181264433
邮箱:2181264433@qq.com
地址:浙江省-嘉兴市-南湖区
网址:www.mhslogic.com
您当前位置:首页 > 国内资讯 > 正文国内资讯
MATLAB代做|FPGA代做|simulink代做——归定化直方图
添加时间:2020-8-12 来源:本站整理
%归定化直方图
clear all
clc
A=imread('gray_lena8.ras');%读入图像,需要改变的图像
figure,imshow(A);%显示出来
%绘制直方图
[m,n]=size(A);%测量图像尺寸
B=zeros(1,256);%预创建存放灰度出现概率的向量
for k=0:255
    B(k+1)=length(find(A==k));%计算每级灰度出现的概率,将其存入B中相应位置
end
figure,bar(0:255,B,'g');%绘制直方图


S1=zeros(1,256);
for i=1:256
    for j=1:i
        S1(i)=B(j)+S1(i);%计算灰度图累计直方图
    end
end

figure,bar(0:255,S1,'g');%绘制均衡后的直方图


E=imread('gray_lena.ras');%读入图像
figure,imshow(E);%显示出来
%绘制直方图
[p,q]=size(E);%测量图像尺寸
t=zeros(1,256);%预创建存放灰度出现概率的向量
for i=0:255
    t(i+1)=length(find(E==i));%计算每级灰度出现的概率,将其存入B中相应位置
end
figure,bar(0:255,t,'g');%绘制直方图
%titile('原图直方图')
%xlabel('灰度值')
%ylabel('出现概率')
%anis([0,260,0,0.026]);

S2=zeros(1,256);
for i=1:256
    for j=1:i
        S2(i)=t(j)+S2(i);%计算灰度图累计直方图
    end
end
figure,bar(0:255,S2,'g');%绘制均衡后的直方图



%对比直方图,找到相差最小的灰度级
S=zeros(256,256);
for i=1:256
    for j=1:256
        S(j,i)=abs(S2(j)-S1(i));
    end
end
[Y,T]=min(S);

%确定变换关系,重组直方图
for j=1:256
    H(j)=sum(B(find(T==j)));
end
figure,bar(0:255,H,'g')%显示归定化后的直方图
title('归定化后的直方图')
xlabel('灰度值')
ylabel('出现概率')
axis([0,260,0,0.03])
%显示规定图
PA=A;
for i=0:255
    PA(find(A==i))=T(i+1);%将各个像素归一化后的灰度值赋给这个像素
end
figure,imshow(PA)%显示均衡化后的图像
title('归定化后的图像')
 
    

扫一扫,关注我们