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)-机器视觉-图像增强(直方图均衡化)
我们来看一个灰度图像,让表示灰度出现的次数,这样图像中灰度为 的像素的出现概率是 是图像中全部的灰度数, 是图像中全部的像素数, 实际上是图像的直方图,归一化到 . 把 作为相应于 的累计概率 ...
随机推荐
- Web移动端商城 移动端商城手机网站html整套模板,web移动商城仿app手机模板下载
--Web移动端商城移动端商城手机网站html整套模板,web移动商城仿app手机模板下载.原生的js和jquery-1.6.2.min.js,页面才有html5自适应.包括首页(轮播,导航).兼职( ...
- QQ空间认证之数据篇
最近,我们发现可以利用开通企鹅媒体平台的方式开通QQ公众号从而绑定我们的QQ号,这样我们所绑定的QQ号就成了认证空间了. 虽说这样很快捷的就认证了我们的QQ空间,但是,起有利也有弊.任何事情都不是十全 ...
- python3 练习题100例 (九)
题目九:题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?程序分析:兔子的规律为数列1,1,2,3,5 ...
- hadoop 1.x 集群环境的搭建
本文主要以个人工作学习总结为主,同时也为了方便更多的兴趣爱好者参与学习交流,现将具体的搭建步骤分享如下: 一.基础环境 1.1 jdk的安装与配置 Hadoop是用Java开发的,Hadoop的编译及 ...
- 通过burpsuite替换cookie登录后台
通过burpsuite可以比较方便的替换http头部的cookie.useragent等字段,在获取到用户的cookie后实现登录.具体使用方法如下: 如替换cookie,可以写正则表达式^Cooki ...
- avast:中兴手机预装恶意软件 嵌入固件底层
著名安全机构 avast 发布报告称,旗下安全威胁实验室发现,中兴.爱可视.MyPhone 等厂商的多款安卓手机居然预装了恶意广告软件.该恶意软件被命名为“ Cosiloon ”,它会在用户使用浏览器 ...
- Tomcat7 调优及 JVM 参数优化
Tomcat 的缺省配置是不能稳定长期运行的,也就是不适合生产环境,它会死机,让你不断重新启动,甚至在午夜时分唤醒你.对于操作系统优化来说,是尽可能的增大可使用的内存容量.提高CPU 的频率,保证 ...
- git忽略项gitegnore配置
在git中如果想忽略掉某个文件, 不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法.这个文件每一行保存了一个匹配的规则 例如 # 此为注释 – 将被 Git 忽略 *.a # ...
- 【BZOJ1176】[BOI2007]Mokia 摩基亚
[BZOJ1176][BOI2007]Mokia 摩基亚 题面 bzoj 洛谷 题解 显然的\(CDQ\)\(/\)树套树题 然而根本不想写树套树,那就用\(CDQ\)吧... 考虑到点\((x1,y ...
- Python:TypeError: 'range' object doesn't support item deletion
报错代码: dataIndex = range(m) del (dataIndex[randIndex]) 报错信息: 错误原因: python3 range返回的是range对象,不是数组对象 解决 ...