当前位置: 首页 > news >正文

直方图均衡化及Matlab实现

文章目录

      • 直方图均衡化
        • 关键点及思路
        • Matlab实现

直方图均衡化

直方图均衡化是一种图像增强技术,主要用于增强图像的对比度,特别是当图像的有用数据的对比度接近时效果显著。通过改变图像的直方图分布,直方图均衡化能够使图像的灰度值更加接近均匀分布,从而增加图像的整体对比度。‌

关键点及思路

直方图均衡化有两个关键点:

  • 像素的强度顺序不变,也就是说经过一个灰度映射函数后,原本低强度值的像素依然比原本高强度值的像素强度低,即单调递增
  • 变换后像素的直方图是接近均匀的,即每个等间隔灰度范围的像素个数基本相等。

这里不列举公式了(看也看不懂…),基于这两个关键点,直方图均衡化的思路其实很简单,就是基于原图像素灰度的累计概率分布(CDF)与变换后图像的累计概率分布((CDF))保持一致,只是变换后的图像灰度范围是0-255,一般要比原图的灰度范围广。这样就达到了把原图的一小部分的灰度范围以一种近似均匀的方式扩散到整个0-255灰度范围。

Matlab实现
clc;clear;close all;%%调用自定义函数进行直方图均衡化
imageName = 'lena.png';
img = imread(imageName);
histeq_img = hisuni(img);
subplot(1,2,1);
imshow(img);
title('原图');
subplot(1,2,2);
imshow(histeq_img);
title('直方图均衡化图像');%%绘制直方图
subplot(1,2,1);
imhist(img);
title('原图直方图');
subplot(1,2,2);
imhist(histeq_img);
title('均衡化直方图');function new_image = hisuni(image)% 直方图均衡化函数% 输入: image - 输入的灰度图像% 输出: new_image - 均衡化后的图像[m, n] = size(image);% 计算直方图[Counts, ~] = histcounts(image(:), 0:256)% 计算概率密度函数 (PDF)pdf = Counts/(m*n)% 计算累积分布函数 (CDF)cdf = cumsum(pdf)% 生成映射表mapping = uint8(cdf * 255)% 初始化新图像new_image = zeros(size(image), 'uint8');% 对每个像素值进行映射for idx = 1:255new_image(image == idx - 1) = mapping(idx);end
end

当然matlab中也有内置函数histeq函数,直接对原图矩阵调用即可进行均衡化增强。

image-20241111214106986

image-20241111214600605

http://www.lryc.cn/news/483166.html

相关文章:

  • 设备接入到NVR管理平台EasyNVR多品牌NVR管理工具/设备的音视频配置参考
  • 后端:Aop 面向切面编程
  • 大数据机器学习算法与计算机视觉应用02:线性规划
  • godot——主题、Theme、StyleBox
  • 深入理解接口测试:实用指南与最佳实践5.0(一)
  • SQL面试题——飞猪SQL面试 重点用户
  • Angular 和 Vue2.0 对比
  • websocket服务器(协程风格)--swoole进阶篇
  • Windows C/C++ Socket 编程
  • 计算两个结构的乘法
  • 学校服务器连接pycharm配置2
  • AI赋能电商:创新应用提升销售与用户体验
  • 详解kafka消息发送重试机制的案例
  • linux文本管理!!!
  • 软件设计师-计算机体系结构分类
  • 《基于深度学习的车辆行驶三维环境双目感知方法研究》
  • jwt用户登录,网关给微服务传递用户信息,以及微服务间feign调用传递用户信息
  • ubontu安装anaconda
  • 【Docker容器化技术】docker安装与配置、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
  • Python模拟A卷实操题
  • Leetcode 检测相邻递增子数组
  • rockylinux 8安装 gcc11.2
  • 【蓝桥等考C++真题】蓝桥杯等级考试C++组第13级L13真题原题(含答案)-奇数序列排序
  • 【AI】好用的AI记录
  • linux安装boost.python
  • AI 扩展开发者思维方式:以 SQL 查询优化为例
  • 自定义面板,高效的游戏性能分析利器
  • 【Linux进程特别篇】深度理解辨识僵尸进程和孤儿进程
  • 喜报|超维机器人荣获昇腾AI创新大赛铜奖
  • 从五种架构风格推导出HTTP的REST架构