matlab对图像进行膨胀_使用MATLAB进行图像的直方图分析

ffa0fca7bbad71fdd97f0a94af7e47fc.png

在进行图像灰度处理时,直方图有助于在处理时进行更好的判断。下面对直方图可能用途进行总结如下:

%展示图像的直方图
%image_in为输入图像;b为用于形成直方图的统计堆栈的数目,默认为256
h=imhist(image_in,b);

%归一化直方图
p=imhist(image_in,b)/numel(image_in);

%直方图条状化
h=imhist(image_in,b);
horz=linspace(0,255,25);
bar(horz,h);

%直方图杆状化,fill为可选颜色
h=imhist(image_in,b);
horz=linspace(0,255,25);
stem(horz,h,'fill');

%将直方图顶点连起来
h=imhist(image_in,b);
horz=linspace(0,255,25);
plot(h);

%累积分布函数(cdf)绘制
p=imhist(image_in,b)/numel(image_in);%归一化直方图
cdf=cunsum(p);
x=linspace(0,1,256);
plot(x,cdf);

g=histeq(image_in,256);%直方图均衡化:能够有效增加图像灰度级动态范围的特性

g=adapthisteq(image_in);%对比度受限的自适应直方图均衡,可选参数

g=histeq(image_in,p);%直方图匹配法,p为某个函数图形,下面附带一个p函数作为参考

function p=twomodegauss(m1,sig1,m2,sig2,A1,A2,k)
%%计算一个归一化到单位区域的双模态高斯函数;
%模态均值:m1,m2;
%模态标准方差:sig1,sig2;
%模态的振幅:A1,A2;
%K为偏差值
c1=A1*(1/((2*pi)^0.5)*sig1);
k1=2*(sig1^2);
c2=A2*(1/((2*pi)^0.5)*sig2);
k2=2*(sig2^2);
z=linspace(0,1,256);
p=k+c1*exp(-((z-m1).^2)./k1)+...
    c2*exp(-((z-m2).^2)./k2);
p=p./sum(p(:));

9c6f96f77a83b00b0330168db42cd198.png

欢迎关注灵隐杂谈,来这里交流思想!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值