文章目录

  • 直方图均衡化函数(彩色图)
  • 测试代码
  • 运行结果
  • 灰度图像的直方图+均衡化

直方图均衡化函数(彩色图)

% 直方图均衡化函数function [ RGB ] = histEquSelf(image)RGB = image;subplot(121);
imshow(RGB);
title('彩色图');[R, C, K] = size(RGB); % 新增的K表示颜色通道数% 统计每个像素值出现次数
cnt = zeros(K, 256);
for i = 1 : Rfor j = 1 : Cfor k = 1 : Kcnt(k, RGB(i, j, k) + 1) = cnt(k, RGB(i, j, k) + 1) + 1;endend
endf = zeros(3, 256);
f = double(f); cnt = double(cnt);% 统计每个像素值出现的概率, 得到概率直方图
for k = 1 : Kfor i = 1 : 256f(k, i) = cnt(k, i) / (R * C);end
end% 求累计概率,得到累计直方图
for k = 1 : Kfor i = 2 : 256f(k, i) = f(k, i - 1) + f(k, i);end
end% 用f数组实现像素值[0, 255]的映射。
for k = 1 : Kfor i = 1 : 256f(k, i) = f(k, i) * 255;end
end% 完成每个像素点的映射
RGB = double(RGB);
for i = 1 : Rfor j = 1 : Cfor k = 1 : KRGB(i, j, k) = f(k, RGB(i, j, k) + 1);endend
end% 输出
RGB = uint8(RGB);
subplot(122);
imshow(RGB);
title('彩色直方图均衡化');end

测试代码

A = imread('lena.jpg');
histEquSelf(a);

运行结果

**测试原图:**下载后将原图命名为lena.jpg,与函数和测试代码放在同一个文件夹,即可运行

灰度图像的直方图+均衡化

% 直方图自己绘制
a = imread('lena.jpg');
H=rgb2gray(a);
% H= imread('./image/6.jpg');
if length(size(H))>2H=rgb2gray(H);
end[m,n]=size(H);
p=zeros(1,256);
for i=0:255  p(i+1)=length(find(H==i))/(m*n);
end
subplot(2,2,1);
imshow(H);
title('原图');
subplot(2,2,2);
bar(0:255,p,'b');
title('原图直方图');  s=zeros(1,256);
for i=1:256  for j=1:i  s(i)=p(j)+s(i);                  end
end  a=round(s*255);
b=H;
for i=0:255  b(H==i)=a(i+1);
end
subplot(2,2,3);
imshow(b)
title('均衡化后图像');  for i=0:255  GPeq(i+1)=sum(p(a==i));
end
subplot(2,2,4);
bar(0:255,GPeq,'b'); title('均衡化后的直方图');

效果演示:

matlab直方图均衡化函数相关推荐

  1. histeq从用法到原理——Matlab直方图均衡化函数

    转载于http://blog.sina.com.cn/s/blog_14d1511ee0102wwyt.html (公式未正常显示,请看原文链接) 一.用法 histeq是Matlab中的一个工具箱函 ...

  2. matlab 直方图均衡化 histeq实现

    function img = histEq(img) % 输入图像灰度.rgb图像都可以 % 1 转灰度图像 2. 统计每一灰度级的数量 3. 累计灰度级 4. 归一化为累计概率 % 5. 当前灰度级 ...

  3. matlab实现彩色图像的直方图均衡化

    本篇用于记录用matlab实现彩色图像的直方图均衡化算法,并与matlab自带的直方图均衡化函数histeq做对比. 直方图原理可以参考下面的博客文章:直方图均衡化 原理.流程.公式推导及matlab ...

  4. matlab数字图像处理之局部直方图均衡化

    在对图像的直方图进行处理时,有时需要对图像小区域细节的局部增强,解决的办法就是在图像的每一个像素点的领域中,按照灰度级分布设置变换函数(可以是邻域直方图均衡化,也可以是邻域直方图匹配),来进行局部增强 ...

  5. Matlab数字图像处理 02 灰度变化(图像直方图、直方图均衡化、直方图匹配)

    第二章 灰度变化 2.1 图像的亮度.对比度和动态范围 2.1.1 亮度 2.1.2 对比度 2.1.3 动态范围 2.2 线性灰度变换 2.2.1 具有饱和处理的线性灰度变换 2.2.2 分段线性灰 ...

  6. matlab数字图像处理编码实现直方图均衡化

    matlab中直方图均衡化有对应的内置函数histeq函数,其具体形式为: g=histeq(f,nlev) 参数f为输入图像,nlev是为输出图像设置的灰度级(默认为64),g为直方图均衡化后的输出 ...

  7. matlab 增加图像对比度_计算机视觉学习笔记6 图像直方图与直方图均衡化

    图像的直方图 图像直方图表示图像中每一种像素的个数,反映了图像中每种像素值出现的频率,是图像的基本统计特征之一,具有平移,旋转,缩放不变性,广泛应用于图像处理的各个领域.比如灰度图像的阈值分割,基于颜 ...

  8. MATLAB图像处理-图像增强之彩色图像直方图均衡化(RGB通道和HSV通道两种)

    直方图均衡化这种方法通常用来增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候.通过这种方法,亮度可以更好地在直方图上分布.这样就可以用于增强局部的对比度而不影响整体的对比度,直方 ...

  9. 彩色图直方图均衡化matlab

    直方图均衡化 简介 直方图是图像中像素强度分布的图形表达方式.它统计了每一个强度值所具有的像素个数.直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法.是图像处理领域中利用图像直方图对对 ...

  10. 【图像处理】图像强度变换、直方图均衡化(Image Intensity Transformations and Histogram Equalization)

    实验要求   该实验使用强度变换方法对图像进行增强.实验图像为图3.8(a)   (1.a) 用公式(3.2-2)所示的对数变换方法进行图像增强.   (1.b) 用公式(3.2-3)形式的指数变换方 ...

最新文章

  1. php中template函数,thinkPHP模板中函数的使用方法
  2. Activemq-In-action(二)
  3. 中石油训练赛 - 腿部挂件(可持久化字典树)
  4. 科技人员在计算机前的肖像,首个全国科技工作者日来了 西南大学学子为科技工作者画像...
  5. shell命令之---sed
  6. 中科院回应木兰语言造假:当事人已停职;中国软件业务收入百强:华为蝉联十八冠;Ionic 5.0.0-beta.5 发布|极客头条...
  7. 2017网络安全方向学习总览(转载供本人查阅而已)
  8. 倾斜摄影静态单体化 BIM模型调用解决思路
  9. 如何通俗理解Word2Vec
  10. gitea/gogs忘记密码后重置密码
  11. C# 获取系统开机时间
  12. 同星T1014在线回放设置
  13. Event Driven Class OSAL 基于事件驱动的模拟操作系统
  14. 沈剑架构师之路的分享-总结
  15. mysql 免费么,mysql收费吗
  16. C语言%lld、%llu无法正常输出比long long长整数小的数
  17. 关注渐冻症|菌群助力探索其发病机理及相关干预措施
  18. 2022飞鱼科技--鱼苗夏令营实习--游戏客户端--一面(已挂)
  19. 【TA工具】快速结合/叠加多张法线贴图
  20. 雅思系列学习——词汇(持续更新)

热门文章

  1. 错误异常too many open files解决方法
  2. 【群晖秘籍】群晖添加第三方套件,让可用功能更多更好(任性拓展)
  3. 谈谈我对广告投放系统的一点认识
  4. python3d坐标系转换_世界坐标系,相机坐标系和图像坐标系的转换(Python)
  5. 使用excel2016 制作甘特图
  6. 读取图像教程,生成h5py文件的教程
  7. android TextView首行缩进两个字符
  8. CS5460基本读写程序(无bug版本)
  9. 续流二极管作用及工作原理
  10. 采用ATSC标准、欧洲DVB-T和日本ISDB-T标准的国家