matlab直方图均衡化实现

  • 直方图均衡化原理
  • malab实现
  • 与matlab函数对比

直方图均衡化原理

    以下是个人对直方图均衡化的理解,只做参考。如有问题请前辈们指正:直方图均衡化的目的是为了提升图像对比度,采用的方式是将一幅图像的直方图分布尽可能地变成近似分布。
参考公式资源比较多,个人推荐参考一下文章(https://zhuanlan.zhihu.com/p/44918476)

malab实现

  以下是个人代码。
clc;
clear all;%从文件夹中读取两幅图片,并进行RGB到灰度的变换
pic_moon = imread('pic\moon.jpg');
pic_city = imread('pic\city.jpg');
pic_moon = rgb2gray(pic_moon);
pic_city = rgb2gray(pic_city);%显示一张图片
figure(1);
imshow(pic_city);%获取pic_moon的图片信息,主要是宽与高的像素数
[size_x,size_y] = size(pic_moon);%创建两个全零数组,第一个用来存放变换后的映射表,第二个用来存放0-255每个像素的数量和
hist_map = zeros(1,256);
num_map = zeros(1,256);%个人测试信号,可忽略
test = 0;
%计算值为0-255的像素个数(非0-255总数,是0的总数、1的总数、2的总数。。。。。)
for X = 1:size_xfor Y = 1:size_ynum_y = pic_city(X,Y)+1;num_map(1,num_y) = num_map(1,num_y) + 1;end
end%获取新的映射表
new_num = 0;
for Z = 1:256new_num = num_map(1,Z) + new_num;hist_map(1,Z) = 256*new_num/(size_x*size_y);
end
hist_map = uint8(hist_map);%像素值重新映射
hist_pic = uint8(zeros(size_x,size_y));
for X1 = 1:size_xfor Y1 = 1:size_ydeel_val = pic_city(X1,Y1)+1;hist_pic(X1,Y1) = hist_map(1,deel_val);end
endfigure(2);
imshow(hist_pic);
figure(3);
imshow(histeq(hist_pic));figure(4);
imhist(pic_city);
figure(5);
imhist(hist_pic);
figure(6);
imhist(histeq(hist_pic));

与matlab函数对比

原图:1
matlab histeq 函数效果
我的算法效果

原图2

处理后的效果

   可以看出对于对比度的提升是有一定的作用的,我的测试中对第一幅的处理效果较差,第二幅图效果较好,感兴趣的同学可以试试别的图片。接下来我会对该算法进行优化修改,并将原理、代码、效果写在往后的文章中

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 增加图像对比度_计算机视觉学习笔记6 图像直方图与直方图均衡化

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

  4. 【数字图像处理】图像直方图均衡化、空域滤波(均值滤波、中值滤波)、图像锐化(Laplace算子)、图像傅里叶变换实验

    图像直方图均衡化.空域滤波.图像锐化.图像傅里叶变换 一.图像直方图均衡化 二.图像空域滤波 1.均值滤波(滤波次数n→3) 2.中值滤波(滤波次数n→3) 3.图像锐化(Laplace算子) 三.图 ...

  5. Matlab实现直方图均衡化(基于自定义函数)

    Matlalb实现直方图均衡化 直方图均衡化 Matlab代码实现 直方图均衡化 直方图均衡化是一种使输出图像直方图近似服从均匀分布的变换算法,其计算步骤如下: 列出原始图像的灰度级fjf_jfj​, ...

  6. 基于直方图均衡化的水下激光图像处理(MATLAB仿真)

    原文:http://blog.csdn.net/sunlinyi66/article/details/39215447 基于直方图均衡化的水下图像增强(MATLAB仿真) 可以对RGB三个通道进行直方 ...

  7. 详解图像直方图均衡化原理,附MATLAB、C、C++源码

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 提问:图像直方图均衡化有啥效果? 答:看了下面的 ...

  8. python直方图均衡化代码_基于matlab的直方图均衡化代码

    基于matlab的直方图均衡化代码 2007-04-15 20:15 clear all %一,图像的预处理,读入彩***像将其灰度化 PS=imread('1.jpg');             ...

  9. 【图像处理】直方图均衡化(附带Matlab及OpenCV3自编程实现代码)

    [fishing-pan:https://blog.csdn.net/u013921430转载请注明出处] 前言 直方图均衡化是最基础的图像处理方法之一,也是本人接触图像处理时最先接触到的算法.算法很 ...

  10. MATLAB:虹膜识别的图像灰度化处理,直方图均衡化

    (1)图像灰度化处理: 读取一张图片之后,进行灰度化处理,然后对其进行直方图均值化. clear;close all %读取原图地址 RGB= imread('D:\img\1.jpg'); %图像灰 ...

最新文章

  1. 绝对经典的滑轮新闻显示(javascript+css)实现
  2. Python的零基础超详细讲解(第十二天)-Python函数及使用
  3. 为什么很多人说 Java 不适合编写桌面应用?
  4. php查询字段的总和,ThinkPHP 多表查询-如其字段A相同,则把字段B相加
  5. 45行代码AC_2017年第八届蓝桥杯C/C++ A组第二题(广搜模板+解题报告)
  6. [iOS] 建立与使用Framework
  7. 论文浅尝 | AMUSE: 基于 RDF 数据的多语言问答语义解析方法
  8. Android开发:setAlpha()方法
  9. 在阿里云上安装MongoDB,并且远程连接
  10. html日期默认,html日期控件默认设置为当天日期
  11. 初中计算机学业水平考试时间安排,2019年起全面实施初中信息技术学业水平考试(和毕业证书有关)...
  12. 精读《useEffect 完全指南》
  13. Common Digester学习
  14. php 导出图片到excel,从PHP导出图片excel的方法
  15. 使用Android studio开发Android App
  16. PWN之堆利用-unlink攻击
  17. 软件测试流程规范简介(不同公司流程规范不一样,仅供参考)
  18. 音视频篇 - 音视频基础概念
  19. Java(老白再次入门) - IO流
  20. java数组包含某个元素_java中判断数组是否包含某元素的方法

热门文章

  1. OpenCV-Python教程:阈值化(threshold,adaptiveThreshold)
  2. IDEA中,更换背景颜色
  3. 两百行代码实现王校长大战鸡你太美
  4. 谷歌SRE运维模式解读
  5. Excel如何按照颜色排序
  6. 皇冠与锚-JS实现(拒绝赌博)
  7. DAU是啥,数据指标是啥?必知必会的数据分析常识
  8. android表情动画制作,GIF动态表情制作app
  9. 苹果描述文件服务器证书无效,22.iOS企业版证书、描述文件过期问题解决
  10. Vue脚手架H5公众号微信登陆问题及解决方式