热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

非线性动态范围调整matlab,基于MATLAB的几种图像增强算法_吴传富

第5期机电技术37基于MATLAB的几种图像增强算法吴传富朱同波(闽南理工学院,福建泉州362700)摘要:简要介绍图像增强的概念和一些图像增强的算法&

第5期机电技术37基于MATLAB的几种图像增强算法

吴传富朱同波

(闽南理工学院,福建泉州 362700)

摘要:简要介绍图像增强的概念和一些图像增强的算法,从图像的直方图均衡化、对比度线性展宽、动态范围非线性调整和伪彩色增强等几个方面对图像增强算法进行讨论和研究,并通过MATLAB软件平台,给出各种算法的处理效果。

关键词:图像增强算法;MATLAB;直方图均衡化;对比度线性展宽;动态范围非线性调整

中图分类号:TP391.41 文献标识码:A 文章编号:1672-4801(2012)05-037-03

图像增强是指按特定的需要突出一幅图像的某些信息,同时削弱或去除某些不需要的信息的处理方法。其目的是使处理后的图像对于某种特定的应用比原始图像更适用。图像增强不考虑图像质量下降的原因,只将图像中感兴趣的特征有选择的突出,而衰减不需要的特征,它的目的主要是提高图像的可读度。本文以MATLAB软件为平台,通过直方图均衡化、对比度线性展宽、动态范围非线性调整和伪彩色增强等算法增强数字图像的质量。

1 直方图均衡化

在对图像进行处理之前,了解图像整体或局部的灰度分布情况非常必要。对图像的灰度分布进行分析的重要手段就是建立图像的灰度直方图,利用图像灰度直方图,可以直观地看出图像中的像素亮度分布情况;通过直方图均衡化处理,可以对图像的质量进行调整。

直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值进行展宽,而对像素个数少的灰度值进行归并,从而达到清晰图像的目的。如果图像的灰度分别集中在较窄的区间,从而引起图像细节的模糊,为了增强图像,可通过改善各部分亮度的比例关系,即通过直方图均衡化的方法来实现。根据原图像的直方图统计值就可算出均衡化后各像元的灰度值。直方图上灰度分布较密的部分被拉伸;灰度分布较稀疏的部分被压缩,使图像对比度总体上得到增强。

在MATLAB中,histeq函数可以实现直方图均衡化。其调用格式为:

J = histeq(I,n);

该命令对灰度图像I进行变换,返回灰度图像J。其中,n是均衡化后的灰度级数目,是一个可选参数,缺省值是64。图1为图片经直方图均衡化处理后的结果。

原图 原图直方图

cd60d433c9c04bf4902c09114cffae2d.png

4912a1586dcc1e7eb5ad73b36aeda6f4.png

(a) 原图及直方图

均衡化后的图

754003f45e00b9c67135db0d2acf18df.png

bdf2740529190047b586f4197a33861a.png

(b) 均衡化后的图及直方图

图1 图片经直方图均衡化处理后的结果

从图1中可以看出,原始图的灰度范围大约是80~170之间,灰度分布的范围比较狭窄,所以整体上看对比度比较差,而直方图均衡化后,灰度几乎是均匀的分布在0~255的范围内,图像明暗分明,对比度很大,图像比较清晰明亮,很好的改善了原始图的视觉效果。

2 对比度线性展宽

为了突出感兴趣的目标或者灰度区间,相对抑制那些不感兴趣的灰度区域,可采用对比度线性展宽。

设原图像的灰度为(,)

f i j,处理后图像的灰度为(,)

g i j。对比度线性展宽的原理示意图如图2

所示。原图中重要景物的灰度分布在[,]

a b

f f的范

作者简介:吴传富(1987-),男,研究方向:电子信息。

朱同波(1986-),男,研究方向:机械设计制造。



推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 帝国CMS多图上传插件详解及使用指南
    本文介绍了一款用于帝国CMS的多图上传插件,该插件通过Flash技术实现批量图片上传功能,显著提升了多图上传效率。文章详细说明了插件的安装、配置和使用方法。 ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文探讨了卷积神经网络(CNN)中感受野的概念及其与锚框(anchor box)的关系。感受野定义了特征图上每个像素点对应的输入图像区域大小,而锚框则是在每个像素中心生成的多个不同尺寸和宽高比的边界框。两者在目标检测任务中起到关键作用。 ... [详细]
  • 本文介绍如何使用 Python 提取和替换 .docx 文件中的图片。.docx 文件本质上是压缩文件,通过解压可以访问其中的图片资源。此外,我们还将探讨使用第三方库 docx 的方法来简化这一过程。 ... [详细]
  • 深度学习理论解析与理解
    梯度方向指示函数值增加的方向,由各轴方向的偏导数综合而成,其模长表示函数值变化的速率。本文详细探讨了导数、偏导数、梯度等概念,并结合Softmax函数、卷积神经网络(CNN)中的卷积计算、权值共享及池化操作进行了深入分析。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • Win11扩展卷无法使用?解决扩展卷灰色问题的指南
    本文详细介绍了在Windows 11中遇到扩展卷灰色无法使用时的解决方案,帮助用户快速恢复磁盘扩展功能。 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
author-avatar
缺少小女人的温柔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有