Boosting

直方图均衡化是图像增强的一种基本方法,可提高图像的对比度,即:将较窄的图像灰度范围以一定规则拉伸至较大(整个灰度级范围内)的范围。

目的是在得到在整个灰度级范围内具有均匀分布的图像。图像的像素灰度变化是随机的,直方图的图形高低不齐,直方图均衡化就是用一定的算法使直方图大致平和。

灰度直方图均衡化的算法,简单地说,就是把直方图的每个灰度级进行归一化处理,求每种灰度的累积分布,得到一个映射的灰度映射表,然后根据相应的灰度值来修正原图中的每个像素。

直方图均衡化MATLAB实现

[filename,pathname]=uigetfile(‘*.*‘,‘select an image‘);
input_I=imread([pathname filename]);%读入图像

subplot(3,3,1);imshow(input_I);
title(‘原始图像‘);%显示原始图像

I_gray = rgb2gray(input_I);
subplot(3,3,4);imshow(I_gray);
title(‘灰度图像‘);
subplot(3,3,5);imhist(I_gray);
title(‘灰度图像直方图‘);%显示灰度图像及直方图

[height,width]=size(I_gray);

r=zeros(1,256);
for i=1:height
for j=1:width
r(I_gray(i,j)+1)= r(I_gray(i,j)+1)+1;
end
end %计算灰度直方图中的数值:每个灰度级对应的像素数目。
subplot(3,3,6);stem(r);
title(‘计算所得灰度图像直方图‘);

s=zeros(1,256);
s(1)=r(1);
for i=2:256
s(i)=s(i-1)+r(i);
end %累积分布函数:对应的也是像素的数目。
subplot(3,3,9);stem(s);

for i=1:256
s(i)=floor(255*s(i)/(height*width));
end % s(i)/(height*width) 为频率,*256 为归一到0—255之间,floor为取整(整数部分)函数。【round为四舍五入函数,ceil为取整数部分加1】

I_HE=I_gray;
for i=1:height
for j=1:width
I_HE(i,j)= s(I_gray(i,j)+1);
end
end%得到均衡化后的图像。s(1)~s(256)里的数值即为灰度值,1~256标号对应的是原始灰度图像的0~255的灰度值。

m=zeros(1,256);
for i=1:height
for j=1:width
m(I_HE(i,j)+1)= m(I_HE(i,j)+1)+1;
end
end %计算直方图中的数值:每个灰度级对应的像素数目。
subplot(3,3,9);stem(m);
title(‘计算所得均衡化后图像直方图‘);

imwrite(I_gray,‘1gray.png‘);
imwrite(I_HE,‘1he.png‘);
subplot(3,3,7);imshow(I_HE);
title(‘均衡化后的图像‘);
subplot(3,3,8);imhist(I_HE);
title(‘均衡化后图像直方图‘);

结果图明天附

时间: 2024-08-03 08:37:07

Boosting的相关文章

机器学习系列(11)_Python中Gradient Boosting Machine(GBM)调参方法详解

原文地址:Complete Guide to Parameter Tuning in Gradient Boosting (GBM) in Python by Aarshay Jain 原文翻译与校对:@酒酒Angie && 寒小阳([email protected]) 时间:2016年9月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/52663170 声明:版权所有,转载请联系作者并注明出 1.前言 如果一直以来你只把GBM

Boosting理解

俗话说的好,三个臭皮匠顶个诸葛亮.Boosting大概就是做这种事情,也可以理解是一个很牛的企业管理者,充分的利用底下员工的各种优点,合理发挥每个人的能量. 简单的理解boosting就是把很多个不同的classifiers使用不同的权重组合起来成一个新的strong classifier进行分类工作. 把我的学习笔记记录一下吧,以供以后使用这个算法的时候参考. How to obtain the rough rule of thumb? How to combine this rule of

机器学习中的数学(3)-模型组合(Model Combining)之Boosting与Gradient Boosting

版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系[email protected] 前言: 本来上一章的结尾提到,准备写写线性分类的问题,文章都已经写得差不多了,但是突然听说最近Team准备做一套分布式的分类器,可能会使用Random Forest来做,下了几篇论文看了看,简单的random forest还比较容易弄懂,复杂一点的还会与boosting等算法结合(参见i

GBDT(Gradient Boosting Decision Tree)算法&协同过滤算法

GBDT(Gradient Boosting Decision Tree)算法参考:http://blog.csdn.net/dark_scope/article/details/24863289 理解机器学习算法:http://blog.csdn.net/dark_scope/article/details/25485893 协同过滤算法:http://blog.csdn.net/dark_scope/article/details/17228643

bootstrap, boosting, bagging 几种方法的联系

http://blog.csdn.net/jlei_apple/article/details/8168856 这两天在看关于boosting算法时,看到一篇不错的文章讲bootstrap, jackknife, bagging, boosting, random forest 都有介绍,以下是搜索得到的原文,没找到博客作者的地址, 在这里致谢作者的研究. 一并列出一些找到的介绍boosting算法的资源: (1)视频讲义,介绍boosting算法,主要介绍AdaBoosing    http:

[11-3] Gradient Boosting regression

main idea:用adaboost类似的方法,选出g,然后选出步长 Gredient Boosting for regression: h控制方向,eta控制步长,需要对h的大小进行限制 对(x,残差)解regression,得到h 对(g(x),残差)解regression,得到eta

boosting和bagging

首先来说明一下bootstraps:可以把它认为是一种有放回的抽样方法. bagging:boostraps aggregating(汇总) boosting:Adaboot (Adaptive Boosting)提示方法 提升(boosting):在分类问题中,通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能. 思想:提示方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(基分类器),然后组合这些弱分类器,构成一个强分类器 1)改变训练数据的概率分布 2)

[笔记]Boosting和Bagging

集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务.集成学习通过将多个学习器进行结合,常可以获得比单一学习器显著优越的泛化性能.这对"弱学习器"尤为明显,因此集成学习的很多理论研究都是针对弱学习器进行的. 要获得好的集成,个体学习器应该"好而不同",即个体学习器要有一定的"准确性",即学习器不能太坏,并且要有"多样性",即学习器之间有差异. 根据个体学习器的生成方式,目前的集成学习方法大致可以

提升方法(boosting)详解

提升方法(boosting)是一种常用的统计学习方法,应用广泛且有效.在分类问题中,它通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能. 本章首先介绍提升方法的思路和代表性的提升算法AdaBoost,然后通过训练误差分析探讨AdaBoost为什么能够提高学习精度,并且从前向分布加法模型的角度解释AdaBoost,最后叙述提升方法更具体的事例--提升术(boosting tree).AdaBoost算法是1995年由Freund和Schapire提出的,提升树是2

转载:bootstrap, boosting, bagging 几种方法的联系

转:http://blog.csdn.net/jlei_apple/article/details/8168856 这两天在看关于boosting算法时,看到一篇不错的文章讲bootstrap, jackknife, bagging, boosting, random forest 都有介绍,以下是搜索得到的原文,没找到博客作者的地址, 在这里致谢作者的研究. 一并列出一些找到的介绍boosting算法的资源: (1)视频讲义,介绍boosting算法,主要介绍AdaBoosing    htt