matlab 直方图均衡化(含rgb)
步骤:
统计原图像素每个像素的个数
统计原图像<每个灰度级的像素的累积个数
家里灰度级得映射规则
将原图每个像素点的灰度映射到新图
代码:
- clear all
 - I=imread('1.jpg'); %读入JPG彩色图像文件
 - imshow(I) %显示出来
 - title('输入的彩色JPG图像')
 - I_gray = rgb2gray(I); %灰度化后的数据存入数组
 - imwrite(I_gray,'1_gray.bmp'); %保存灰度图像
 - figure,imshow(I_gray);
 - title('灰度图')
 - [height,width]=size(I_gray); %测量图像尺寸参数
 - p=zeros(1,256); %预创建存放灰度出现概率的向量
 - for i=1:height
 - for j=1:width
 - p(I_gray(i,j) + 1) = p(I_gray(i,j) + 1) + 1;
 - end
 - end
 - s=zeros(1,256);
 - s(1)=p(1);
 - for i=2:256
 - s(i)=p(i) + s(i-1); %统计图像中<每个灰度级像素的累积个数,s(i):0,1,```,i-1
 - end
 - for i=1:256
 - s(i) = s(i)*256/(width*height); %求灰度映射函数
 - if s(i) > 256
 - s(i) = 256;
 - end
 - end
 - %图像均衡化
 - I_equal = I;
 - for i=1:height
 - for j=1:width
 - I_equal(i,j) = s( I(i,j) + 1);
 - end
 - end
 - figure,imshow(I_equal) %显示均衡化后的图像
 - title('均衡化后图像')
 - imwrite(I_equal,'1_equal.bmp');
 
实现结果如下:
原图                                                                    
   灰度图                                                                   
 均衡化后



亲们,是这样么?!是这样么?!!肿么会是这样的呢~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~是不是错了?彩色图像的均值化到底肿么弄涅~~
对于灰度图的均衡化,
参考:http://blog.csdn.net/xiajun07061225/article/details/6910129
- %直方图均衡化
 - clear;
 - I = imread('mm_gaussian_gray.bmp');
 - [height,width] = size(I);
 - figure
 - subplot(221)
 - imshow(I)%显示原始图像
 - subplot(222)
 - imhist(I)%显示原始图像直方图
 - %进行像素灰度统计;
 - s = zeros(1,256);%统计各灰度数目,共256个灰度级
 - for i = 1:height
 - for j = 1: width
 - s(I(i,j) + 1) = s(I(i,j) + 1) + 1;%对应灰度值像素点数量增加一
 - end
 - end
 - %计算灰度分布密度
 - p = zeros(1,256);
 - for i = 1:256
 - p(i) = s(i) / (height * width * 1.0);
 - end
 - %计算累计直方图分布
 - c = zeros(1,256);
 - c(1) = p(1);
 - for i = 2:256
 - c(i) = c(i - 1) + p(i);
 - end
 - %累计分布取整,将其数值归一化为1~256
 - c = uint8(255 .* c + 0.5);
 - %对图像进行均衡化
 - for i = 1:height
 - for j = 1: width
 - I(i,j) = c(I(i,j)+1);
 - end
 - end
 - subplot(223)
 - imshow(I)%显示均衡化后的图像
 - subplot(224)
 - imhist(I)%显显示均衡化后的图像的直方图
 

参考 http://blog.csdn.net/xiajun07061225/article/details/6910129
matlab 直方图均衡化(含rgb)的更多相关文章
- matlab 直方图均衡化
		
原理: 直方图均衡化首先是一种灰度级变换的方法: 原来的灰度范围[r0,rk]变换到[s0,sk]变换函数为:s=T(r); 为便于实现,可以用查找表(look-up table)的方式存储,即:原始 ...
 - 彩色图像的直方图均衡化matlab代码
		
彩色图像的直方图均衡化 - YangYudong2014的专栏 - CSDN博客 http://blog.csdn.net/yangyudong2014/article/details/4051503 ...
 - 直方图均衡化与Matlab代码实现
		
昨天说了,今天要好好的来解释说明一下直方图均衡化.并且通过不调用histeq函数来实现直方图的均衡化. 一.直方图均衡化概述 直方图均衡化(Histogram Equalization) 又称直方图平 ...
 - 图像处理 Matlab实现线性点运算、非线性点运算、点运算与直方图、直方图均衡化
		
今天,我们学习了直方图.于是乎,回来我就用matlab代码实现一下.昨天受到道路检测老师课上一个内容的影响(对于道路裂缝的检测,我突发奇想,如果对于道路图像进行操作,是否能够让裂缝与道路分离,使得图像 ...
 - Matlab实现直方图均衡化
		
G=imread('aini555.jpg'); I=rgb2gray(G); J=histeq(I); %直方图均衡化,这一个函数就可以做到均衡化的效果 figure, subplot(),imsh ...
 - 直方图均衡化与直方图规定化的MATLAB实现
		
目录 1.直方图均衡化 2.直方图规定化 @ 1.直方图均衡化 对图像进行非线性拉伸,重新分配图像像元值,使一定灰度范围内像元值的数量大致相等就是直方图的均衡化.原来直方图中间的峰顶部分对比度得到增强 ...
 - MATLAB - 练习程序,直方图均衡化
		
直方图均衡化的作用是图像增强. 有两个问题比较难懂,一是为什么要选用累积分布函数,二是为什么使用累积分布函数处理后像素值会均匀分布. 第一个问题.均衡化过程中,必须要保证两个条件:①像素无论怎么映射, ...
 - 对比度受限的自适应直方图均衡化(CLAHE)
		
直方图均衡化(HE)是一种很常用的直方图类方法,基本思想是通过图像的灰度分布直方图确定一条映射曲线,用来对图像进行灰度变换,以达到提高图像 对比度的目的.该映射曲线其实就是图像的累计分布直方图(CDF ...
 - 数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)
		
我们来看一个灰度图像,让表示灰度出现的次数,这样图像中灰度为 的像素的出现概率是 是图像中全部的灰度数, 是图像中全部的像素数, 实际上是图像的直方图,归一化到 . 把 作为相应于 的累计概率 ...
 
随机推荐
- npm install路径
			
我们在webpack项目中使用npm install命令安装很多模块 但是很多时候都不知道这些模块安装在哪里,想要删除的时候找不到,所有想要明确的知道npm的安装路径 首先,npm install 安 ...
 - hive 入门
			
hive-site.xml 配置 <configuration> <property> <name>javax.jdo.option.ConnectionURL&l ...
 - Python系列之入门篇——pytables及其客户端
			
pytables及其客户端查看 pytables # ubuntu sudo apt-get install python-tables pip install flask flask-httpaut ...
 - 基于Geomesa服务查询轨迹数据无法根据空间和时间范围进行结果查询
			
一.Geomesa - QuickStart(教程工程包) 百度网盘下载地址:geomesa-tutorials-master.7z 二.解压后,IDEA编译如下 百度网盘下载地址:IDEA201 ...
 - s3c2440系统时钟详解
			
一.S3C2440系统时钟体系 S3C2440的时钟控制逻辑可以外接晶振,然后通过内部电路产生时钟源:也可以直接使用内部提供的时钟源,他们通过引脚的设置来选择.时钟逻辑给整个芯片提供了3中时钟:FCL ...
 - 【C】数据类型和打印(print)
			
char -128 ~ 127 (1 Byte) unsigned char 0 ~ 255 (1 Byte) short -32768 ~ 32767 (2 Bytes) unsigned sho ...
 - QWT编译与配置-Windows/Linux环境
			
QWT编译与配置-Windows/Linux环境 QWT和FFTW两种开源组件是常用的工程软件支持组件,QWT可以提供丰富的绘图组件功能,FFTW是优秀数字波形分析软件.本文使用基于LGPL版权协议的 ...
 - vowels_双元音
			
vowels(美式): 双元音:前长后短.前强后弱,流畅滑动. [e]:两个字母“e”和“I”的结合,单词cake.rain.blame.lack.make.later. [aɪ]:两个字母“a”和“ ...
 - Hangfire初探
			
Hangfire 是什么? Hangfire 是一个定时任务的管理后台,它拥有定时任务功能和及其相关的管理后台界面.Hangfire 原生使用 .NET 开发的,同时支持 .NET 和 .NET Co ...
 - 成都Uber优步司机奖励政策(1月8日)
			
1月8日 奖励政策 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblog ...