CN111563863B - 一种直方图受限的图像增强方法及装置 - Google Patents

一种直方图受限的图像增强方法及装置 Download PDF

Info

Publication number
CN111563863B
CN111563863B CN202010322120.9A CN202010322120A CN111563863B CN 111563863 B CN111563863 B CN 111563863B CN 202010322120 A CN202010322120 A CN 202010322120A CN 111563863 B CN111563863 B CN 111563863B
Authority
CN
China
Prior art keywords
array
histogram
gray level
length
variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010322120.9A
Other languages
English (en)
Other versions
CN111563863A (zh
Inventor
王海峰
章怡
范鑫
陈海忠
吴卫华
薛勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu University of Technology
Original Assignee
Jiangsu University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangsu University of Technology filed Critical Jiangsu University of Technology
Priority to CN202010322120.9A priority Critical patent/CN111563863B/zh
Publication of CN111563863A publication Critical patent/CN111563863A/zh
Application granted granted Critical
Publication of CN111563863B publication Critical patent/CN111563863B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供了一种直方图受限的图像增强方法及装置,以图像直方图为基础,根据分割参数自动将输入图像的直方图分割为若干分块直方图,并在各分块内做直方图均衡计算,最后合并输出增强图像,可以在保持图像亮度基本不变的条件下,调节增强图像的对比度,消除了直方图均衡增强的过亮问题,解决传统直方图均衡化过增强问题。

Description

一种直方图受限的图像增强方法及装置
技术领域
本发明涉及图像对比度增强技术领域,尤其涉及一种直方图受限的图像增强方法及装置。
背景技术
图像增强的目的是为改善图像的视觉效果,提供直观、清晰、适合于分析的图像。在诸多图像增强算法中,直方图均衡化是一种经典、有效的图像增强方法之一。虽然直方图均衡化算法具有运算速度快、增强效果明显等诸多优点,但仍然存在一些过增强、细节信息丢失等缺陷。对于一幅在[0 255]灰度范围图像,在经过直方图均衡化算法增强后图像会出现过增强现象(即像素亮的变换后会更亮,像素暗的会更暗),图像的基本特征如平均亮度偏差过大影响了增强图像的视觉效果,从而使得直方图算法应用范围有限。
发明内容
本发明旨在提供一种克服上述问题之一或者至少部分地解决上述任一问题的直方图受限的图像增强方法及装置。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明一方面提供了一种直方图受限的图像增强方法,包括:计算灰度输入图像I的灰度级直方图h(i)、概率p(i),其中,i为灰度级;设置输出图像imageout与输入图像I的尺寸相同,数值设置为零矩阵,设置存放分割的直方图数组hx1和剩余直方图数组hx2,设置可变分割参数px,可变分割参数取值范围[0,0.1];设置循环变量初始值n0=1,设置循环计算符合
Figure BDA0002461822000000021
的n0,其中,sum()为求和函数,获取分割的直方图数组hx1,hx1=h(0<h≤n0),n0=n0+1;根据分割的直方图数组hx1计算剩余直方图数组hx2,其中,hx2=h-hx1;将分割的直方图数组hx1中的非0元素去除,通过第一数组h1记录统计数,通过第一灰度级数组id1记录对应灰度级;将剩余直方图数组hx2中的非0元素去除,通过第二数组h2记录统计数,通过第二灰度级数组id2记录对应灰度级;将第二数组h2再分割,利用公式jgh2(x)=id2(x+1)-id2(x)x=1...n2-1,记录第二灰度级数组id2相邻两数之差,差值放入jgh2数组中,将jgh2(x)>=预设值的数值放置数组jg2中,分割块数大小1+length(jg2)个;设置第一公共数组变量Hx用于存放获取的分块直方图,第二公共数组变量idx用于存放第一公共数组变量Hx的灰度级,获取第二数组h2中各分块直方图Hx,其中,第二数组h2中各分块直方图Hx的获取方式为:判断数组jg2是否为空,若为空,确定第二数组h2中的分块直方图Hx不能分割,则令第一公共数组变量Hx=h2,第二公共数组变量idx=id2,第二数组h2中各分块直方图Hx的长度为length(Hx),若不为空,确定第二数组h2中的分块直方图Hx可以再次分割,可以分割的块数为1+length(jg2)个;对1...(1+length(jg2))中任意分块直方图为Hx=h2(T2:jg2(i)),对应分块直方图的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,T2=1,在i=2...n2-1时,T2=1+jg2(i);计算各分块直方图Hx的概率
Figure BDA0002461822000000022
累积概率/>
Figure BDA0002461822000000023
其中i=1...length(Hx);对任意分块直方图Hx按如下公式计算,直至所有分块直方图计算完毕,得到输出图像imageout灰度值:
Figure BDA0002461822000000024
其中i=1...length(Hx),f(i)为输出图像imageout灰度值,P1为图像细节、亮度、对比度的调节参数;将第一灰度级数组id1灰度值映射至输出图像imageout中;输出输出图像imageout。
其中,方法还包括:设置与第二灰度级数组id2数组长度一致的数组idnew用于存放各分块直方图Hx灰度级;将第一灰度级数组id1灰度值映射至输出图像imageout中包括:设置循环变量i=1:length(id1),将第一灰度级数组id1中的灰度值id1(i)逐个与第二灰度级数组id2中的每个灰度值比较,确定与灰度值id1(i)最接近的灰度值位置idp,其中,[~,idp]=min(abs(id2(:)-id1(i)));确定位置idp后,在输出图像imageout中确定输入图像I中等于灰度值id1(i)的位置,并在输出图像imageout相同位置赋值数组idnew为idnew(idp),直至第一灰度级数组id1所有灰度值映射完毕。
本发明另一方面提供了一种直方图受限的图像增强方法,包括:计算灰度输入图像I的灰度级直方图h(i)和概率p(i),其中,i为灰度级;设置输出图像imageout与输入图像I的尺寸相同,数值设置为零矩阵,设置存放分割的直方图数组hx1和剩余直方图数组hx2,设置可变分割参数px,可变分割参数px取值范围[0,0.1];设置循环变量初始值n0=1,设置循环计算符合
Figure BDA0002461822000000031
的n0,其中,sum()为求和函数,获取直方图数组hx1=h(0<h≤n0),n0=n0+1;根据分割的直方图数组hx1计算剩余直方图数组hx2,其中,hx2=h-hx1;将分割的直方图数组hx1中的非0元素去除,通过第一数组h1记录统计数,通过第一灰度级数组id1记录对应灰度级;将剩余直方图数组hx2中的非0元素去除,通过第二数组h2记录统计数,通过第二灰度级数组id2数组记录对应灰度级;将第一数组h1和第二数组h2再分割,利用公式jgh1(x)=id1(x+1)-id1(x)x=1...n1-1,记录第一灰度级数组id1相邻两数之差,差值放入jgh1数组中,将jgh1(x)>=预设值的数值放置数组jg1中,分割块数大小1+length(jg1)个;利用公式jgh2(x)=id2(x+1)-id2(x)x=1...n2-1,记录第二灰度级数组id2相邻两数之差,差值放入jgh2数组中,将jgh2(x)>=预设值的数值放置数组jg2中,分割块数大小1+length(jg2)个;设置第一公共数组变量Hx用于存放获取的分块直方图,第二公共数组变量idx用于存放第一公共数组变量Hx的灰度级,其中,第一数组h1中各分块直方图Hx的获取方式为:判断数组jg1是否为空,若为空,确定第一数组h1中的分块直方图Hx不能分割,则令第一公共数组变量Hx=h1,第二公共数组变量idx=id1,第一数组h1中分块直方图Hx长度为length(Hx);若不为空,确定第一数组h1中的分块直方图Hx可以再次分割,分割的块数为1+length(jg1)个;对1...(1+length(jg1))中任意分块直方图Hx为Hx=h1(T1:jg1(i)),对应分块直方图Hx的灰度级为idx=id1(T1:jg1(i)),其中i=1...n1-1,T1变量在i=1时,T1=1,在i=2...n1-1时,T1=1+jg1(i);第二数组h2中各分块直方图Hx的获取方式为:判断数组jg2是否为空,若为空,确定第二数组h2中的分块直方图Hx不能分割,则令第一公共数组变量Hx=h2,第二公共数组变量idx=id2,第二数组h2中分块直方图Hx长度为length(Hx);若不为空,确定第二数组h2中的分块直方图Hx可以再次分割,分割的块数为1+length(jg2)个;对1...(1+length(jg2))中任意分块直方图Hx为Hx=h2(T2:jg2(i)),对应分块直方图Hx的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,T2=1,在i=2...n2-1时,T2=1+jg2(i);计算各分块直方图Hx的概率/>
Figure BDA0002461822000000041
累积概率
Figure BDA0002461822000000042
其中i=1...length(Hx);对任意分块直方图Hx按如下公式计算,直至所有分块直方图计算完毕:
Figure BDA0002461822000000043
其中i=1...length(Hx),f(i)为原图像的新灰度值,P1为图像细节、亮度、对比度的调节参数;输出输出图像imageout。
其中,P1取值范围[0,1]。
其中,P1=0.1。
其中,预设值为20。
本发明又一方面提供了一种直方图受限的图像增强装置,包括:第一计算模块,用于计算灰度输入图像I的灰度级直方图h(i)、概率p(i),其中,i为灰度级;设置模块,用于设置输出图像imageout与输入图像I的尺寸相同,数值设置为零矩阵,设置存放分割的直方图数组hx1和剩余直方图数组hx2,设置可变分割参数px,可变分割参数取值范围[0,0.1];获取模块,用于设置循环变量初始值n0=1,设置循环计算符合
Figure BDA0002461822000000051
的n0,其中,sum()为求和函数,获取分割的直方图数组hx1=h(0<h≤n0),n0=n0+1;第二计算模块,用于根据分割的直方图数组hx1计算剩余直方图数组hx2,其中,hx2=h-hx1;记录模块,用于将分割的直方图数组hx1中的非0元素去除,通过第一数组h1记录统计数,通过第一灰度级数组id1记录对应灰度级;将剩余直方图数组hx2中的非0元素去除,通过第二数组h2记录统计数,通过第二灰度级数组id2记录对应灰度级;分割模块,用于将第二数组h2再分割,利用公式jgh2(x)=id2(x+1)-id2(x) x=1...n2-1,记录第二灰度级数组id2相邻两数之差,差值放入jgh2数组中,将jgh2(x)>=预设值的数值放置数组jg2中,分割块数大小1+length(jg2)个;确定模块,用于设置第一公共数组变量Hx用于存放获取的分块直方图,第二公共数组变量idx用于存放第一公共数组变量Hx的灰度级,获取第二数组h2中各分块直方图Hx,其中,第二数组h2中各分块直方图Hx的获取方式为:判断数组jg2是否为空,若为空,确定第二数组h2中的分块直方图Hx不能分割,则令第一公共数组变量Hx=h2,第二公共数组变量idx=id2,第二数组h2中各分块直方图Hx的长度为length(Hx),若不为空,确定第二数组h2中的分块直方图Hx可以再次分割,可以分割的块数为1+length(jg2)个;对1...(1+length(jg2))中任意分块直方图为Hx=h2(T2:jg2(i)),对应分块直方图的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,T2=1,在i=2...n2-1时,T2=1+jg2(i);第三计算模块,用于计算各分块直方图Hx的概率/>
Figure BDA0002461822000000061
累积概率/>
Figure BDA0002461822000000062
其中i=1...length(Hx);第四计算模块,用于对任意分块直方图Hx按如下公式计算,直至所有分块直方图计算完毕,得到输出图像imageout灰度值:
Figure BDA0002461822000000063
其中i=1...length(Hx),f(i)为输出图像imageout灰度值,P1为图像细节、亮度、对比度的调节参数;映射模块,用于将第一灰度级数组id1灰度值映射至输出图像imageout中;输出模块,用于输出输出图像imageout。
其中,设置模块,还用于设置与第二灰度级数组id2数组长度一致的数组idnew用于存放各分块直方图Hx灰度级;映射模块通过如下方式将第一灰度级数组id1灰度值映射至输出图像imageout中:映射模块,具体用于设置循环变量i=1:length(id1),将第一灰度级数组id1中的灰度值id1(i)逐个与第二灰度级数组id2中的每个灰度值比较,确定与灰度值id1(i)最接近的灰度值位置idp,其中,[~,idp]=min(abs(id2(:)-id1(i)));确定位置idp后,在输出图像imageout中确定输入图像I中等于灰度值id1(i)的位置,并在输出图像imageout相同位置赋值idnew为idnew(idp),直至第一灰度级数组id1所有灰度值映射完毕。
本发明还一方面提供了一种直方图受限的图像增强装置,包括:第一计算模块,用于计算灰度输入图像I的灰度级直方图h(i)和概率p(i),其中,i为灰度级;设置模块,用于设置输出图像imageout与输入图像I的尺寸相同,数值设置为零矩阵,设置存放分割的直方图数组hx1和剩余直方图数组hx2,设置可变分割参数px,可变分割参数px取值范围[0,0.1];获取模块,用于设置循环变量初始值n0=1,设置循环计算符合
Figure BDA0002461822000000071
的n0,其中,sum()为求和函数,获取直方图数组hx1=h(0<h≤n0),n0=n0+1;第二计算模块,用于根据分割的直方图数组hx1计算剩余直方图数组hx2,其中,hx2=h-hx1;记录模块,用于将分割的直方图数组hx1中的非0元素去除,通过第一数组h1记录统计数,通过第一灰度级数组id1记录对应灰度级;将剩余直方图数组hx2中的非0元素去除,通过第二数组h2记录统计数,通过第二灰度级数组id2记录对应灰度级;分割模块,用于将第一数组h1和第二数组h2再分割,利用公式jgh1(x)=id1(x+1)-id1(x)x=1...n1-1,记录第一灰度级数组id1相邻两数之差,差值放入jgh1数组中,将jgh1(x)>=预设值的数值放置数组jg1中,分割块数大小1+length(jg1)个;利用公式jgh2(x)=id2(x+1)-id2(x)x=1...n2-1,记录第二灰度级数组id2相邻两数之差,差值放入jgh2数组中,将jgh2(x)>=预设值的数值放置数组jg2中,分割块数大小1+length(jg2)个;确定模块,用于设置第一公共数组变量Hx用于存放获取的分块直方图,第二公共数组变量idx用于存放第一公共数组变量Hx的灰度级,其中,第一数组h1中各分块直方图Hx的获取方式为:判断数组jg1是否为空,若为空,确定第一数组h1中的分块直方图Hx不能分割,则令第一公共数组变量Hx=h1,第二公共数组变量idx=id1,第一数组h1中分块直方图Hx长度为length(Hx);若不为空,确定第一数组h1中的分块直方图Hx可以再次分割,分割的块数为1+length(jg1)个;对1...(1+length(jg1))中任意分块直方图Hx为Hx=h1(T1:jg1(i)),对应分块直方图Hx的灰度级为idx=id1(T1:jg1(i)),其中i=1...n1-1,T1变量在i=1时,T1=1,在i=2...n1-1时,T1=1+jg1(i);第二数组h2中各分块直方图Hx的获取方式为:判断数组jg2是否为空,若为空,确定第二数组h2中的分块直方图Hx不能分割,则令第一公共数组变量Hx=h2,第二公共数组变量idx=id2,第二数组h2中分块直方图Hx长度为length(Hx);若不为空,确定第二数组h2中的分块直方图Hx可以再次分割,分割的块数为1+length(jg2)个;对1...(1+length(jg2))中任意分块直方图Hx为Hx=h2(T2:jg2(i)),对应分块直方图Hx的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,T2=1,在i=2...n2-1时,T2=1+jg2(i);第三计算模块,用于计算各分块直方图Hx的概率
Figure BDA0002461822000000081
累积概率/>
Figure BDA0002461822000000082
其中i=1...length(Hx);第四计算模块,用于对任意分块直方图Hx按如下公式计算,直至所有分块直方图计算完毕:
Figure BDA0002461822000000083
其中i=1...length(Hx),f(i)为原图像的新灰度值,P1为图像细节、亮度、对比度的调节参数;
输出模块,用于输出输出图像imageout。
其中,P1取值范围[0,1]。
其中,P1=0.1。
其中,预设值为20。
由此可见,本发明实施例提供的直方图受限的图像增强方法及装置,以图像直方图为基础,根据分割参数自动将输入图像的直方图分割为若干分块直方图,并在各分块内做直方图均衡计算,最后合并输出增强图像,可以在保持图像亮度基本不变的条件下,调节增强图像的对比度,消除了直方图均衡增强的过亮问题,解决传统直方图均衡化过增强问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,下面描述中的附图仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他附图。
图1为本发明实施例1提供的直方图受限的图像增强方法的流程图;
图2为本发明实施例1提供的直方图受限的图像增强装置的结构示意图;
图3为本发明实施例1提供的在p1=0.1时,指标随px在[0,0.1]之间的变化曲线图;
图4为本发明实施例1提供的一般亮度图像—花盆示意图;
图5为本发明实施例1提供的低亮度图像—风景示意图;
图6为本发明实施例1提供的红外图像示意图;
图7为本发明实施例1提供的高亮度图像—梅花示意图;
图8为本发明实施例2提供的直方图受限的图像增强方法的流程图;
图9为本发明实施例2提供的直方图受限的图像增强装置的结构示意图;
图10为本发明实施例2提供的在p1=0.1时,指标随px在[0,0.1]之间的变化曲线图;
图11为本发明实施例2提供的一般亮度图像—花盆示意图;
图12为本发明实施例2提供的低亮度图像—风景示意图;
图13为本发明实施例2提供的红外图像示意图;
图14为本发明实施例2提供的高亮度图像—梅花示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例1
图1示出了本发明实施例1提供的直方图受限的图像增强方法的流程图,参见图1,本发明实施例1提供的直方图受限的图像增强方法,包括:
S1,计算灰度输入图像I的灰度级直方图h(i)、概率p(i),其中,i为灰度级。
具体地,可以利用现有的公式计算输入图像I的灰度级直方图h(i)和概率p(i)。其中:
概率
Figure BDA0002461822000000101
S2,设置输出图像imageout与输入图像I的尺寸相同,数值设置为零矩阵,设置存放分割的直方图数组hx1和剩余直方图数组hx2,设置可变分割参数px,可变分割参数取值范围[0,0.1]。
具体地,输出图像imageout的图像大小可以与输入图像I的矩阵相同,例如输入图像I的矩阵是20×11,输出图像imageout也是20×11,输出图像imageout的数据表中的数据为0。另外,可以设置存放分割的直方图数组hx1=zeros(256,1),剩余数组hx2=zeros(256,1),可变分割参数px的取值范围[0,0.1],可变分割参数px主要用于首次分割直方图。
S3,设置循环变量初始值n0=1,设置循环计算符合
Figure BDA0002461822000000102
的n0,其中,sum()为求和函数,获取分割的直方图数组hx1,hx1=h(0<h≤n0),n0=n0+1。
具体地,本步骤中进行首次分割直方图,用直方图数组hx1来记录,之后可以根据首次分割的直方图数组hx1来计算剩余直方图数组hx2。
S4,根据分割的直方图数组hx1计算剩余直方图数组hx2,其中,hx2=h-hx1。
S5,将分割的直方图数组hx1中的非0元素去除,通过第一数组h1记录统计数,通过第一灰度级数组id1记录对应灰度级;将剩余直方图数组hx2中的非0元素去除,通过第二数组h2记录统计数,通过第二灰度级数组id2记录对应灰度级。
具体地,将hx1非0元素去除,并用h1数组记录,即h1(1)...h1(n1)记录统计数,id1(1)...id1(n1)即id1数组记录对应灰度级;同理将hx2非0元素去除,用h2数组记录,即h2(1)...h2(n2)记录统计数,id2(1)...id2(n2)即id2数组记录对应灰度级。
S6,将第二数组h2再分割,利用公式jgh2(x)=id2(x+1)-id2(x)x=1...n2-1,记录第二灰度级数组id2相邻两数之差,差值放入jgh2数组中,将jgh2(x)>=预设值的数值放置数组jg2中,分割块数大小1+length(jg2)个。
作为本发明实施例的一个可选实施方式,预设值为20。即本步骤中,对直方图h2再分割。利用公式jgh2(x)=id2(x+1)-id2(x)x=1...n2-1,记录id2数组相邻两数之差,差值放jgh2数组中,同时将jgh2(x)>=20的数值放置数组jg2中,分割块数大小1+length(jg2)个。
S7,设置第一公共数组变量Hx用于存放获取的分块直方图,第二公共数组变量idx用于存放第一公共数组变量Hx的灰度级,获取第二数组h2中各分块直方图Hx,其中,第二数组h2中各分块直方图Hx的获取方式为:判断数组jg2是否为空,若为空,确定第二数组h2中的分块直方图Hx不能分割,则令第一公共数组变量Hx=h2,第二公共数组变量idx=id2,第二数组h2中各分块直方图Hx的长度为length(Hx),若不为空,确定第二数组h2中的分块直方图Hx可以再次分割,可以分割的块数为1+length(jg2)个;对1...(1+length(jg2))中任意分块直方图为Hx=h2(T2:jg2(i)),对应分块直方图的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,T2=1,在i=2...n2-1时,T2=1+jg2(i)。
具体地,设置公共数组变量Hx用于存放获取的分块直方图,公共数组变量idx用于存放Hx的灰度级,获取直方图h2中各分块直方图Hx。首先,判断数组jg2是否为空(isempty(jg2)==1),若为空,表明直方图h2不能分割,则Hx=h2,idx=id2,分块Hx长度为length(Hx);其次,若不为空,表明直方图h2可以再次分割,可以分割的块数为1+length(jg2)个。对1...(1+length(jg2))中任意分块直方图为Hx=h2(T2:jg2(i)),对应分块直方图的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,取T2=1,而在i=2...n2-1时,T2变量为上一块的处理完的jg2(i)+1,即T2=1+jg2(i)。
S8,计算各分块直方图Hx的概率
Figure BDA0002461822000000121
累积概率/>
Figure BDA0002461822000000122
其中i=1...length(Hx);
S9,对任意分块直方图Hx按如下公式计算,直至所有分块直方图计算完毕,得到输出图像imageout灰度值:
Figure BDA0002461822000000123
其中i=1...length(Hx),f(i)为输出图像imageout灰度值,P1为图像细节、亮度、对比度的调节参数。
作为本发明实施例的一个可选实施方式,P1取值范围[0,1]。优选的P1=0.1。具体地,P1是可以根据需要变化的,P1可以细微调节图像的对比度与信息熵,在实际计算的过程中选取0.1可以简化计算、用于提高计算速度。
S10,将第一灰度级数组id1灰度值映射至输出图像imageout中;
作为本发明实施例的一个可选实施方式,本发明实施例提供的直方图受限的图像增强方法还包括:设置与第二灰度级数组id2数组长度一致的数组idnew用于存放各分块直方图Hx灰度级;将第一灰度级数组id1灰度值映射至输出图像imageout中包括:设置循环变量i=1:length(id1),将第一灰度级数组id1中的灰度值id1(i)逐个与第二灰度级数组id2中的每个灰度值比较,确定与灰度值id1(i)最接近的灰度值位置idp,其中,[~,idp]=min(abs(id2(:)-id1(i)));确定位置idp后,在输出图像imageout中确定输入图像I中等于灰度值id1(i)的位置,并在输出图像imageout相同位置赋值数组idnew为idnew(idp),直至第一灰度级数组id1所有灰度值映射完毕。具体地,将id1灰度值映射至输出图像imageout中,具体为:设置循环变量i=1:length(id1),将数组id1中的灰度值id1(i)逐个与数组id2中的每个灰度值比较,找出与id1(i)最接近的灰度值位置idp,寻找公式为:[~,idp]=min(abs(id2(:)-id1(i)));找到位置idp后,在输出图像imageout,再寻找输入图像I中等于id1(i)灰度值的位置,并在输出图像imageout相同位置赋值idnew(idp),直至数组id1所有灰度值映射完毕。
S11,输出输出图像imageout。
由此可见,通过本发明实施例提供的直方图受限的图像增强方法,以图像直方图为基础,根据分割参数自动将输入图像的直方图分割为若干分块直方图,并在各分块内做直方图均衡计算,最后合并输出增强图像,可以在保持图像亮度基本不变的条件下,调节增强图像的对比度,消除了直方图均衡增强的过亮问题,解决传统直方图均衡化过增强问题。
图2示出了本发明实施例1提供的直方图受限的图像增强装置的结构示意图,本发明实施例提供的直方图受限的图像增强装置应用于上述方法,以下仅对直方图受限的图像增强装置的结构进行概括说明,其他未尽事宜,请参照上述直方图受限的图像增强方法中的相关说明,参见图2,本发明实施例1提供的直方图受限的图像增强装置,包括:
第一计算模块,用于计算灰度输入图像I的灰度级直方图h(i)、概率p(i),其中,i为灰度级;
设置模块,用于设置输出图像imageout与输入图像I的尺寸相同,数值设置为零矩阵,设置存放分割的直方图数组hx1和剩余直方图数组hx2,设置可变分割参数px,可变分割参数取值范围[0,0.1];
获取模块,用于设置循环变量初始值n0=1,设置循环计算符合
Figure BDA0002461822000000141
的n0,其中,sum()为求和函数,获取分割的直方图数组hx1=h(0<h≤n0),n0=n0+1;
第二计算模块,用于根据分割的直方图数组hx1计算剩余直方图数组hx2,其中,hx2=h-hx1;
记录模块,用于将分割的直方图数组hx1中的非0元素去除,通过第一数组h1记录统计数,通过第一灰度级数组id1记录对应灰度级;将剩余直方图数组hx2中的非0元素去除,通过第二数组h2记录统计数,通过第二灰度级数组id2记录对应灰度级;
分割模块,用于将第二数组h2再分割,利用公式jgh2(x)=id2(x+1)-id2(x)x=1...n2-1,记录第二灰度级数组id2相邻两数之差,差值放入jgh2数组中,将jgh2(x)>=预设值的数值放置数组jg2中,分割块数大小1+length(jg2)个;
确定模块,用于设置第一公共数组变量Hx用于存放获取的分块直方图,第二公共数组变量idx用于存放第一公共数组变量Hx的灰度级,获取第二数组h2中各分块直方图Hx,其中,第二数组h2中各分块直方图Hx的获取方式为:判断数组jg2是否为空,若为空,确定第二数组h2中的分块直方图Hx不能分割,则令第一公共数组变量Hx=h2,第二公共数组变量idx=id2,第二数组h2中各分块直方图Hx的长度为length(Hx),若不为空,确定第二数组h2中的分块直方图Hx可以再次分割,可以分割的块数为1+length(jg2)个;对1...(1+length(jg2))中任意分块直方图为Hx=h2(T2:jg2(i)),对应分块直方图的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,T2=1,在i=2...n2-1时,T2=1+jg2(i);
第三计算模块,用于计算各分块直方图Hx的概率
Figure BDA0002461822000000151
累积概率
Figure BDA0002461822000000152
其中i=1...length(Hx);
第四计算模块,用于对任意分块直方图Hx按如下公式计算,直至所有分块直方图计算完毕,得到输出图像imageout灰度值:
Figure BDA0002461822000000153
其中i=1...length(Hx),f(i)为输出图像imageout灰度值,P1为图像细节、亮度、对比度的调节参数;
映射模块,用于将第一灰度级数组id1灰度值映射至输出图像imageout中;
输出模块,用于输出输出图像imageout。
作为本发明实施例的一个可选实施方式,设置模块,还用于设置与第二灰度级数组id2数组长度一致的数组idnew用于存放各分块直方图Hx灰度级;映射模块通过如下方式将第一灰度级数组id1灰度值映射至输出图像imageout中:映射模块,具体用于设置循环变量i=1:length(id1),将第一灰度级数组id1中的灰度值id1(i)逐个与第二灰度级数组id2中的每个灰度值比较,确定与灰度值id1(i)最接近的灰度值位置idp,其中,[~,idp]=min(abs(id2(:)-id1(i)));确定位置idp后,在输出图像imageout中确定输入图像I中等于灰度值id1(i)的位置,并在输出图像imageout相同位置赋值idnew为idnew(idp),直至第一灰度级数组id1所有灰度值映射完毕。
作为本发明实施例的一个可选实施方式,P1取值范围[0,1]。
作为本发明实施例的一个可选实施方式,P1=0.1。
作为本发明实施例的一个可选实施方式,预设值为20。
由此可见,通过本发明实施例提供的直方图受限的图像增强装置,以图像直方图为基础,根据分割参数自动将输入图像的直方图分割为若干分块直方图,并在各分块内做直方图均衡计算,最后合并输出增强图像,可以在保持图像亮度基本不变的条件下,调节增强图像的对比度,消除了直方图均衡增强的过亮问题,解决传统直方图均衡化过增强问题。
以下,通过一个具体实例来对本发明实施例1提供的直方图受限的图像增强方法进行进一步说明:
在发明实施过程中,对比度与平均亮度变化曲线为20幅测试图像的平均数值,在P1=0.1时,指标随px在[0,0.1]之间的变化曲线图,如图3所示。其它效果图为取px=0.03的增强图像,如图4、5、6、7所示。
实施例2
图8示出了本发明实施例2提供的直方图受限的图像增强方法的流程图,参见图8,本发明实施例2提供的直方图受限的图像增强方法,包括:
S1,计算灰度输入图像I的灰度级直方图h(i)和概率p(i),其中,i为灰度级。
具体地,可以利用现有的公式计算输入图像I的灰度级直方图h(i)和概率p(i)。其中:概率
Figure BDA0002461822000000161
S2,设置输出图像imageout与输入图像I的尺寸相同,数值设置为零矩阵,设置存放分割的直方图数组hx1和剩余直方图数组hx2,设置可变分割参数px,可变分割参数px取值范围[0,0.1]。
具体地,输出图像imageout的图像大小可以与输入图像I的矩阵相同,例如输入图像I的矩阵是20×11,输出图像imageout也是20×11,输出图像imageout的数据表中的数据为0。另外,可以设置存放分割的直方图数组hx1=zeros(256,1),剩余数组hx2=zeros(256,1),可变分割参数px的取值范围[0,0.1],可变分割参数px主要用于首次分割直方图。
S3,设置循环变量初始值n0=1,设置循环计算符合
Figure BDA0002461822000000171
的n0,其中,sum()为求和函数,获取直方图数组hx1=h(0<h≤n0),n0=n0+1。
具体地,本步骤中进行首次分割直方图,用直方图数组hx1来记录,之后可以根据首次分割的直方图数组hx1来计算剩余直方图数组hx2。
S4,根据分割的直方图数组hx1计算剩余直方图数组hx2,其中,hx2=h-hx1;
S5,将分割的直方图数组hx1中的非0元素去除,通过第一数组h1记录统计数,通过第一灰度级数组id1记录对应灰度级;将剩余直方图数组hx2中的非0元素去除,通过第二数组h2记录统计数,通过第二灰度级数组id2记录对应灰度级。
具体地,将hx1非0元素去除,并用h1数组记录,即h1(1)...h1(n1)记录统计数,id1(1)...id1(n1)即id1数组记录对应灰度级;同理将hx2非0元素去除,用h2数组记录,即h2(1)...h2(n2)记录统计数,id2(1)...id2(n2)即id2数组记录对应灰度级。其中,n1为第一数组h1中的直方图个数,n2为第二数组h2中的直方图个数。
S6,将第一数组h1和第二数组h2再分割,利用公式jgh1(x)=id1(x+1)-id1(x)x=1...n1-1,记录第一灰度级数组id1相邻两数之差,差值放入jgh1数组中,将jgh1(x)>=预设值的数值放置数组jg1中,分割块数大小1+length(jg1)个;利用公式jgh2(x)=id2(x+1)-id2(x)x=1...n2-1,记录第二灰度级数组id2相邻两数之差,差值放入jgh2数组中,将jgh2(x)>=预设值的数值放置数组jg2中,分割块数大小1+length(jg2)个。
作为本发明实施例的一个可选实施方式,预设值为20。即,本步骤中,直方图h1、h2再分割。利用公式jgh1(x)=id1(x+1)-id1(x)x=1...n1-1,记录id1数组相邻两数之差,差值放jgh1数组中,同时将jgh1(x)>=20的数值放置数组jg1中,分割块数大小1+length(jg1)个;同理,利用公式jgh2(x)=id2(x+1)-id2(x)x=1...n2-1,记录id2数组相邻两数之差,差值放jgh2数组中,同时将jgh2(x)>=20的数值放置数组jg2中,分割块数大小1+length(jg2)个。
S7,设置第一公共数组变量Hx用于存放获取的分块直方图,第二公共数组变量idx用于存放第一公共数组变量Hx的灰度级,其中,第一数组h1中各分块直方图Hx的获取方式为:判断数组jg1是否为空,若为空,确定第一数组h1中的分块直方图Hx不能分割,则令第一公共数组变量Hx=h1,第二公共数组变量idx=id1,第一数组h1中分块直方图Hx长度为length(Hx);若不为空,确定第一数组h1中的分块直方图Hx可以再次分割,分割的块数为1+length(jg1)个;对1...(1+length(jg1))中任意分块直方图Hx为Hx=h1(T1:jg1(i)),对应分块直方图Hx的灰度级为idx=id1(T1:jg1(i)),其中i=1...n1-1,T1变量在i=1时,T1=1,在i=2...n1-1时,T1=1+jg1(i);第二数组h2中各分块直方图Hx的获取方式为:判断数组jg2是否为空,若为空,确定第二数组h2中的分块直方图Hx不能分割,则令第一公共数组变量Hx=h2,第二公共数组变量idx=id2,第二数组h2中分块直方图Hx长度为length(Hx);若不为空,确定第二数组h2中的分块直方图Hx可以再次分割,分割的块数为1+length(jg2)个;对1...(1+length(jg2))中任意分块直方图Hx为Hx=h2(T2:jg2(i)),对应分块直方图Hx的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,T2=1,在i=2...n2-1时,T2=1+jg2(i)。
具体地,设置公共数组变量Hx用于存放获取的分块直方图,公共数组变量idx用于存放Hx的灰度级,直方图h1中各分块直方图Hx的获取方式为:首先,判断数组jg1是否为空(isempty(jg1)==1),若为空,表明直方图h1不能分割,则Hx=h1,idx=id1,分块Hx长度为length(Hx);其次,若不为空,表明直方图h1可以再次分割,可以分割的块数为1+length(jg1)个。对1...(1+length(jg1))中任意分块直方图为Hx=h1(T1:jg1(i)),对应分块直方图的灰度级为idx=id1(T1:jg1(i)),其中i=1...n1-1,T1变量在i=1时,取T1=1,而在i=2...n1-1时,T1变量为上一块的处理完的jg1(i)+1,即T1=1+jg1(i)。
同理,获取直方图h2中各分块直方图Hx。首先,判断数组jg2是否为空(isempty(jg2)==1),若为空,表明直方图h2不能分割,则Hx=h2,idx=id2,分块Hx长度为length(Hx);其次,若不为空,表明直方图h2可以再次分割,可以分割的块数为1+length(jg2)个。对1...(1+length(jg2))中任意分块直方图为Hx=h2(T2:jg2(i)),对应分块直方图的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,取T2=1,而在i=2...n2-1时,T2变量为上一块的处理完的jg2(i)+1,即T2=1+jg2(i)。
S8,计算各分块直方图Hx的概率
Figure BDA0002461822000000191
累积概率/>
Figure BDA0002461822000000192
其中i=1...length(Hx);
S9,对任意分块直方图Hx按如下公式计算,直至所有分块直方图计算完毕:
Figure BDA0002461822000000193
其中i=1...length(Hx),f(i)为原图像的新灰度值,P1为图像细节、亮度、对比度的调节参数。
作为本发明实施例的一个可选实施方式,P1取值范围[0,1]。优选的P1=0.1。具体地,P1是可以根据需要变化的,P1可以细微调节图像的对比度与信息熵,在实际计算的过程中选取0.1可以简化计算、用于提高计算速度。
S10,输出输出图像imageout。
由此可见,利用本发明实施例提供的直方图受限的图像增强方法,以图像直方图为基础,根据分割参数自动将输入图像的直方图分割为若干分块直方图,并在各分块内做直方图均衡计算,最后合并输出增强图像,可以在保持图像亮度基本不变的条件下,自由地调整增强图像的对比度,可以适用于一些消费类电子产品图像处理系统中。
图9示出了本发明实施例2提供的直方图受限的图像增强装置的结构示意图,本发明实施例提供的直方图受限的图像增强装置应用于上述方法,以下仅对直方图受限的图像增强装置的结构进行概括说明,其他未尽事宜,请参照上述直方图受限的图像增强方法中的相关说明,参见图2,本发明实施例2提供的直方图受限的图像增强装置,
第一计算模块,用于计算灰度输入图像I的灰度级直方图h(i)和概率p(i),其中,i为灰度级;
设置模块,用于设置输出图像imageout与输入图像I的尺寸相同,数值设置为零矩阵,设置存放分割的直方图数组hx1和剩余直方图数组hx2,设置可变分割参数px,可变分割参数px取值范围[0,0.1];
获取模块,用于设置循环变量初始值n0=1,设置循环计算符合
Figure BDA0002461822000000201
的n0,其中,sum()为求和函数,获取直方图数组hx1=h(0<h≤n0),n0=n0+1;
第二计算模块,用于根据分割的直方图数组hx1计算剩余直方图数组hx2,其中,hx2=h-hx1;
记录模块,用于将分割的直方图数组hx1中的非0元素去除,通过h1数组记录统计数,通过id1数组记录对应灰度级;将剩余直方图数组hx2中的非0元素去除,通过h2数组记录统计数,通过id2数组记录对应灰度级;
分割模块,用于将数组h1和数组h2再分割,利用公式jgh1(x)=id1(x+1)-id1(x)x=1...n1-1,记录id1数组相邻两数之差,差值放入jgh1数组中,将jgh1(x)>=预设值的数值放置数组jg1中,分割块数大小1+length(jg1)个;利用公式jgh2(x)=id2(x+1)-id2(x)x=1...n2-1,记录id2数组相邻两数之差,差值放入jgh2数组中,将jgh2(x)>=预设值的数值放置数组jg2中,分割块数大小1+length(jg2)个;
确定模块,用于设置第一公共数组变量Hx用于存放获取的分块直方图,第二公共数组变量idx用于存放第一公共数组变量Hx的灰度级,其中,数组h1中各分块直方图Hx的获取方式为:判断数组jg1是否为空,若为空,确定数组h1中的分块直方图Hx不能分割,则令第一公共数组变量Hx=h1,第二公共数组变量idx=id1,数组h1中分块直方图Hx长度为length(Hx);若不为空,确定数组h1中的分块直方图Hx可以再次分割,分割的块数为1+length(jg1)个;对1...(1+length(jg1))中任意分块直方图Hx为Hx=h1(T1:jg1(i)),对应分块直方图Hx的灰度级为idx=id1(T1:jg1(i)),其中i=1...n1-1,T1变量在i=1时,T1=1,在i=2...n1-1时,T1=1+jg1(i);数组h2中各分块直方图Hx的获取方式为:判断数组jg2是否为空,若为空,确定直方图h2中的分块直方图Hx不能分割,则令第一公共数组变量Hx=h2,第二公共数组变量idx=id2,数组h2中分块直方图Hx长度为length(Hx);若不为空,确定数组h2中的分块直方图Hx可以再次分割,分割的块数为1+length(jg2)个;对1...(1+length(jg2))中任意分块直方图Hx为Hx=h2(T2:jg2(i)),对应分块直方图Hx的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,T2=1,在i=2...n2-1时,T2=1+jg2(i);
第三计算模块,用于计算各分块直方图Hx的概率
Figure BDA0002461822000000211
累积概率
Figure BDA0002461822000000212
其中i=1...length(Hx);
第四计算模块,用于对任意分块直方图Hx按如下公式计算,直至所有分块直方图计算完毕:
Figure BDA0002461822000000221
其中i=1...length(Hx),f(i)为原图像的新灰度值,P1为图像细节、亮度、对比度的调节参数;
输出模块,用于输出输出图像imageout。
作为本发明实施例的一个可选实施方式,P1取值范围[0,1]。
作为本发明实施例的一个可选实施方式,P1=0.1。
作为本发明实施例的一个可选实施方式,预设值为20。
由此可见,利用本发明实施例提供的直方图受限的图像增强装置,以图像直方图为基础,根据分割参数自动将输入图像的直方图分割为若干分块直方图,并在各分块内做直方图均衡计算,最后合并输出增强图像,可以在保持图像亮度基本不变的条件下,自由地调整增强图像的对比度,可以适用于一些消费类电子产品图像处理系统中。
以下,通过一个具体实例来对本发明实施例2提供的直方图受限的图像增强方法进行进一步说明:
在发明实施过程中,对比度与平均亮度变化曲线为20幅测试图像的平均数值,在P1=0.1时,指标随px在[0,0.1]之间的变化曲线图,如图10所示。其它效果图为取px=0.07的增强图像,如图11、12、13、14所示。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种直方图受限的图像增强方法,其特征在于,包括:
计算灰度输入图像I的灰度级直方图h(i)、概率p(i),其中,i为灰度级;
设置输出图像imageout与所述输入图像I的尺寸相同,数值设置为零矩阵,设置存放分割的直方图数组hx1和剩余直方图数组hx2,设置可变分割参数px,所述可变分割参数取值范围[0,0.1];
设置循环变量初始值n0=1,设置循环计算符合
Figure FDA0004150424350000011
的n0,其中,sum()为求和函数,获取所述分割的直方图数组hx1,所述hx1=h(0<h≤n0),
n0=n0+1;
根据所述分割的直方图数组hx1计算所述剩余直方图数组hx2,其中,所述hx2=h-hx1;
将所述分割的直方图数组hx1中的非0元素去除,通过第一数组h1记录统计数,通过第一灰度级数组id1记录对应灰度级;将所述剩余直方图数组hx2中的非0元素去除,通过第二数组h2记录统计数,通过第二灰度级数组id2记录对应灰度级;
将所述第二数组h2再分割,利用公式jgh2(x)=id2(x+1)-id2(x)x=1...n2-1,记录所述第二灰度级数组id2相邻两数之差,差值放入jgh2数组中,将jgh2(x)>=预设值的数值放置数组jg2中,分割块数大小1+length(jg2)个;
设置第一公共数组变量Hx用于存放获取的分块直方图,第二公共数组变量idx用于存放所述第一公共数组变量Hx的灰度级,获取所述第二数组h2中各分块直方图Hx,其中,所述第二数组h2中各分块直方图Hx的获取方式为:判断数组jg2是否为空,若为空,确定所述第二数组h2中的分块直方图Hx不能分割,则令所述第一公共数组变量Hx=h2,第二公共数组变量idx=id2,所述第二数组h2中各分块直方图Hx的长度为length(Hx),若不为空,确定所述第二数组h2中的分块直方图Hx可以再次分割,可以分割的块数为1+length(jg2)个;对1...(1+length(jg2))中任意分块直方图为Hx=h2(T2:jg2(i)),对应分块直方图的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,T2=1,在i=2...n2-1时,T2=1+jg2(i);
计算各分块直方图Hx的概率
Figure FDA0004150424350000021
累积概率/>
Figure FDA0004150424350000022
其中i=1...length(Hx);
对任意分块直方图Hx按如下公式计算,直至所有分块直方图计算完毕,得到输出图像imageout灰度值:
Figure FDA0004150424350000023
其中i=1...length(Hx),f(i)为输出图像imageout灰度值,P1为图像细节、亮度、对比度的调节参数,idx(1)是分块直方图Hx的第一个灰度值,idx(end)是分块直方图Hx的最后一个灰度值;
将所述第一灰度级数组id1灰度值映射至所述输出图像imageout中;
输出所述输出图像imageout。
2.根据权利要求1所述的方法,其特征在于,还包括:
设置与所述第二灰度级数组id2数组长度一致的数组idnew用于存放各分块直方图Hx灰度级;
所述将所述第一灰度级数组id1灰度值映射至输出图像imageout中包括:
设置循环变量i=1:length(id1),将所述第一灰度级数组id1中的灰度值id1(i)逐个与所述第二灰度级数组id2中的每个灰度值比较,确定与灰度值id1(i)最接近的灰度值位置idp,其中,[~,idp]=min(abs(id2(:)-id1(i)));
确定所述位置idp后,在输出图像imageout中确定输入图像I中等于灰度值id1(i)的位置,并在输出图像imageout相同位置赋值所述数组idnew为idnew(idp),直至所述第一灰度级数组id1所有灰度值映射完毕。
3.一种直方图受限的图像增强方法,其特征在于,包括:
计算灰度输入图像I的灰度级直方图h(i)和概率p(i),其中,i为灰度级;
设置输出图像imageout与所述输入图像I的尺寸相同,数值设置为零矩阵,设置存放分割的直方图数组hx1和剩余直方图数组hx2,设置可变分割参数px,所述可变分割参数px取值范围[0,0.1];
设置循环变量初始值n0=1,设置循环计算符合
Figure FDA0004150424350000031
的n0,其中,sum()为求和函数,获取直方图数组hx1=h(0<h≤n0),n0=n0+1;
根据所述分割的直方图数组hx1计算所述剩余直方图数组hx2,其中,所述hx2=h-hx1;
将所述分割的直方图数组hx1中的非0元素去除,通过第一数组h1记录统计数,通过第一灰度级数组id1记录对应灰度级;将所述剩余直方图数组hx2中的非0元素去除,通过第二数组h2记录统计数,通过第二灰度级数组id2数组记录对应灰度级;
将所述第一数组h1和所述第二数组h2再分割,利用公式jgh1(x)=id1(x+1)-id1(x)x=1...n1-1,记录所述第一灰度级数组id1相邻两数之差,差值放入jgh1数组中,将jgh1(x)>=预设值的数值放置数组jg1中,分割块数大小
1+length(jg1)个;利用公式jgh2(x)=id2(x+1)-id2(x)x=1...n2-1,记录所述第二灰度级数组id2相邻两数之差,差值放入jgh2数组中,将jgh2(x)>=预设值的数值放置数组jg2中,分割块数大小1+length(jg2)个;
设置第一公共数组变量Hx用于存放获取的分块直方图,第二公共数组变量idx用于存放所述第一公共数组变量Hx的灰度级,其中,所述第一数组h1中各分块直方图Hx的获取方式为:判断所述数组jg1是否为空,若为空,确定所述第一数组h1中的分块直方图Hx不能分割,则令所述第一公共数组变量Hx=h1,所述第二公共数组变量idx=id1,所述第一数组h1中分块直方图Hx长度为length(Hx);若不为空,确定所述第一数组h1中的分块直方图Hx可以再次分割,分割的块数为1+length(jg1)个;对1...(1+length(jg1))中任意分块直方图Hx为Hx=h1(T1:jg1(i)),对应分块直方图Hx的灰度级为idx=id1(T1:jg1(i)),其中i=1...n1-1,T1变量在i=1时,T1=1,在i=2...n1-1时,T1=1+jg1(i);所述第二数组h2中各分块直方图Hx的获取方式为:判断所述数组jg2是否为空,若为空,确定第二数组h2中的分块直方图Hx不能分割,则令所述第一公共数组变量Hx=h2,所述第二公共数组变量idx=id2,所述第二数组h2中分块直方图Hx长度为length(Hx);若不为空,确定所述第二数组h2中的分块直方图Hx可以再次分割,分割的块数为1+length(jg2)个;对1...(1+length(jg2))中任意分块直方图Hx为Hx=h2(T2:jg2(i)),对应分块直方图Hx的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,T2=1,在i=2...n2-1时,
T2=1+jg2(i);
计算各分块直方图Hx的概率
Figure FDA0004150424350000041
累积概率/>
Figure FDA0004150424350000042
其中i=1...length(Hx);
对任意分块直方图Hx按如下公式计算,直至所有分块直方图计算完毕:
Figure FDA0004150424350000043
其中i=1...length(Hx),f(i)为原图像的新灰度值,P1为图像细节、亮度、对比度的调节参数,idx(1)是分块直方图Hx的第一个灰度值,idx(end)是分块直方图Hx的最后一个灰度值;
输出所述输出图像imageout。
4.根据权利要求1或3所述的方法,其特征在于,所述P1取值范围
[0,1]。
5.根据权利要求4所述的方法,其特征在于,所述P1=0.1。
6.根据权利要求1或3所述的方法,其特征在于,所述预设值为20。
7.一种直方图受限的图像增强装置,其特征在于,包括:
第一计算模块,用于计算灰度输入图像I的灰度级直方图h(i)、概率p(i),其中,i为灰度级;
设置模块,用于设置输出图像imageout与所述输入图像I的尺寸相同,数值设置为零矩阵,设置存放分割的直方图数组hx1和剩余直方图数组hx2,设置可变分割参数px,所述可变分割参数取值范围[0,0.1];
获取模块,用于设置循环变量初始值n0=1,设置循环计算符合
Figure FDA0004150424350000051
的n0,其中,sum()为求和函数,获取所述分割的直方图数组hx1=h(0<h≤n0),n0=n0+1;
第二计算模块,用于根据所述分割的直方图数组hx1计算所述剩余直方图数组hx2,其中,所述hx2=h-hx1;
记录模块,用于将所述分割的直方图数组hx1中的非0元素去除,通过第一数组h1记录统计数,通过第一灰度级数组id1记录对应灰度级;将所述剩余直方图数组hx2中的非0元素去除,通过第二数组h2记录统计数,通过第二灰度级数组id2记录对应灰度级;
分割模块,用于将所述第二数组h2再分割,利用公式jgh2(x)=id2(x+1)-id2(x)x=1...n2-1,记录所述第二灰度级数组id2相邻两数之差,差值放入jgh2数组中,将jgh2(x)>=预设值的数值放置数组jg2中,分割块数大小1+length(jg2)个;
确定模块,用于设置第一公共数组变量Hx用于存放获取的分块直方图,第二公共数组变量idx用于存放所述第一公共数组变量Hx的灰度级,获取所述第二数组h2中各分块直方图Hx,其中,所述第二数组h2中各分块直方图Hx的获取方式为:判断数组jg2是否为空,若为空,确定所述第二数组h2中的分块直方图Hx不能分割,则令所述第一公共数组变量Hx=h2,第二公共数组变量idx=id2,所述第二数组h2中各分块直方图Hx的长度为length(Hx),若不为空,确定所述第二数组h2中的分块直方图Hx可以再次分割,可以分割的块数为1+length(jg2)个;对1...(1+length(jg2))中任意分块直方图为Hx=h2(T2:jg2(i)),对应分块直方图的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,T2=1,在i=2...n2-1时,T2=1+jg2(i);
第三计算模块,用于计算各分块直方图Hx的概率
Figure FDA0004150424350000061
累积概率
Figure FDA0004150424350000062
其中i=1...length(Hx);
第四计算模块,用于对任意分块直方图Hx按如下公式计算,直至所有分块直方图计算完毕,得到输出图像imageout灰度值:
Figure FDA0004150424350000063
其中i=1...length(Hx),f(i)为输出图像imageout灰度值,P1为图像细节、亮度、对比度的调节参数,idx(1)是分块直方图Hx的第一个灰度值,idx(end)是分块直方图Hx的最后一个灰度值;
映射模块,用于将所述第一灰度级数组id1灰度值映射至所述输出图像imageout中;
输出模块,用于输出所述输出图像imageout。
8.根据权利要求7所述的装置,其特征在于,所述设置模块,还用于设置与所述第二灰度级数组id2数组长度一致的数组idnew用于存放各分块直方图Hx灰度级;
所述映射模块通过如下方式将所述第一灰度级数组id1灰度值映射至输出图像imageout中:
所述映射模块,具体用于设置循环变量i=1:length(id1),将所述第一灰度级数组id1中的灰度值id1(i)逐个与所述第二灰度级数组id2中的每个灰度值比较,确定与灰度值id1(i)最接近的灰度值位置idp,其中,[~,idp]=min(abs(id2(:)-id1(i)));
确定所述位置idp后,在输出图像imageout中确定输入图像I中等于灰度值id1(i)的位置,并在输出图像imageout相同位置赋值idnew为idnew(idp),直至所述第一灰度级数组id1所有灰度值映射完毕。
9.一种直方图受限的图像增强装置,其特征在于,包括:
第一计算模块,用于计算灰度输入图像I的灰度级直方图h(i)和概率p(i),其中,i为灰度级;
设置模块,用于设置输出图像imageout与所述输入图像I的尺寸相同,数值设置为零矩阵,设置存放分割的直方图数组hx1和剩余直方图数组hx2,设置可变分割参数px,所述可变分割参数px取值范围[0,0.1];
获取模块,用于设置循环变量初始值n0=1,设置循环计算符合
Figure FDA0004150424350000071
的n0,其中,sum()为求和函数,获取直方图数组hx1=h(0<h≤n0),n0=n0+1;
第二计算模块,用于根据所述分割的直方图数组hx1计算所述剩余直方图数组hx2,其中,所述hx2=h-hx1;
记录模块,用于将所述分割的直方图数组hx1中的非0元素去除,通过第一数组h1记录统计数,通过第一灰度级数组id1记录对应灰度级;将所述剩余直方图数组hx2中的非0元素去除,通过第二数组h2记录统计数,通过第二灰度级数组id2记录对应灰度级;
分割模块,用于将所述第一数组h1和所述第二数组h2再分割,利用公式jgh1(x)=id1(x+1)-id1(x)x=1...n1-1,记录所述第一灰度级数组id1相邻两数之差,差值放入jgh1数组中,将jgh1(x)>=预设值的数值放置数组jg1中,分割块数大小1+length(jg1)个;利用公式jgh2(x)=id2(x+1)-id2(x)x=1...n2-1,记录所述第二灰度级数组id2相邻两数之差,差值放入jgh2数组中,将jgh2(x)>=预设值的数值放置数组jg2中,分割块数大小1+length(jg2)个;
确定模块,用于设置第一公共数组变量Hx用于存放获取的分块直方图,第二公共数组变量idx用于存放所述第一公共数组变量Hx的灰度级,其中,所述第一数组h1中各分块直方图Hx的获取方式为:判断所述数组jg1是否为空,若为空,确定所述第一数组h1中的分块直方图Hx不能分割,则令所述第一公共数组变量Hx=h1,所述第二公共数组变量idx=id1,所述第一数组h1中分块直方图Hx长度为length(Hx);若不为空,确定所述第一数组h1中的分块直方图Hx可以再次分割,分割的块数为1+length(jg1)个;对1...(1+length(jg1))中任意分块直方图Hx为Hx=h1(T1:jg1(i)),对应分块直方图Hx的灰度级为idx=id1(T1:jg1(i)),其中i=1...n1-1,T1变量在i=1时,T1=1,在i=2...n1-1时,T1=1+jg1(i);所述第二数组h2中各分块直方图Hx的获取方式为:判断所述数组jg2是否为空,若为空,确定第二数组h2中的分块直方图Hx不能分割,则令所述第一公共数组变量Hx=h2,所述第二公共数组变量idx=id2,所述第二数组h2中分块直方图Hx长度为length(Hx);若不为空,确定所述第二数组h2中的分块直方图Hx可以再次分割,分割的块数为1+length(jg2)个;对1...
(1+length(jg2))中任意分块直方图Hx为Hx=h2(T2:jg2(i)),对应分块直方图Hx的灰度级为idx=id2(T2:jg2(i)),其中i=1...n2-1,T2变量在i=1时,T2=1,在i=2...n2-1时,T2=1+jg2(i);
第三计算模块,用于计算各分块直方图Hx的概率
Figure FDA0004150424350000081
累积概率
Figure FDA0004150424350000082
其中i=1...length(Hx);
第四计算模块,用于对任意分块直方图Hx按如下公式计算,直至所有分块直方图计算完毕:
Figure FDA0004150424350000083
其中i=1...length(Hx),f(i)为原图像的新灰度值,P1为图像细节、亮度、对比度的调节参数,idx(1)是分块直方图Hx的第一个灰度值,idx(end)是分块直方图Hx的最后一个灰度值;
输出模块,用于输出所述输出图像imageout。
10.根据权利要求7或9所述的装置,其特征在于,所述P1取值范围[0,1]。
11.根据权利要求10所述的装置,其特征在于,所述P1=0.1。
12.根据权利要求7或9所述的装置,其特征在于,所述预设值为20。
CN202010322120.9A 2020-04-22 2020-04-22 一种直方图受限的图像增强方法及装置 Active CN111563863B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010322120.9A CN111563863B (zh) 2020-04-22 2020-04-22 一种直方图受限的图像增强方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010322120.9A CN111563863B (zh) 2020-04-22 2020-04-22 一种直方图受限的图像增强方法及装置

Publications (2)

Publication Number Publication Date
CN111563863A CN111563863A (zh) 2020-08-21
CN111563863B true CN111563863B (zh) 2023-06-23

Family

ID=72073168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010322120.9A Active CN111563863B (zh) 2020-04-22 2020-04-22 一种直方图受限的图像增强方法及装置

Country Status (1)

Country Link
CN (1) CN111563863B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115908428B (zh) * 2023-03-03 2023-05-12 山东大学齐鲁医院 一种用于调节并指牵开器的图像处理方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102436647A (zh) * 2011-11-14 2012-05-02 江苏技术师范学院 一种自适应灰度映射的图像增强方法
CN104680500A (zh) * 2015-02-07 2015-06-03 江西科技学院 一种基于直方图均衡化的图像增强算法
CN105608676B (zh) * 2015-12-23 2018-06-05 浙江宇视科技有限公司 一种视频图像的增强方法及装置
JP2018114031A (ja) * 2017-01-16 2018-07-26 大日本印刷株式会社 眼底画像処理装置
CN109544467B (zh) * 2018-10-23 2023-09-22 江苏理工学院 一种基于lab模型下增强彩色图像对比度的方法

Also Published As

Publication number Publication date
CN111563863A (zh) 2020-08-21

Similar Documents

Publication Publication Date Title
CN109147005B (zh) 一种用于红外图像的自适应染色方法、系统、存储介质、终端
WO2018040463A1 (zh) DeMura表的数据压缩、解压缩方法及Mura补偿方法
CN108090886B (zh) 一种高动态范围红外图像的显示与细节增强方法
CN109686342B (zh) 一种图像处理方法及装置
CN113971670B (zh) 基于计算机视觉的螺纹缺陷分析方法及系统
CN104252700A (zh) 一种红外图像的直方图均衡化方法
CN108734677B (zh) 一种基于深度学习的盲去模糊方法及系统
CN112991197B (zh) 一种基于暗通道的细节保留的低照度视频增强方法及装置
CN111563863B (zh) 一种直方图受限的图像增强方法及装置
CN115272303A (zh) 基于高斯模糊的纺织物缺陷程度评估方法、装置及系统
CN113392702B (zh) 一种基于自适应图像增强的弱光照环境下目标识别方法
CN111931698B (zh) 基于小型训练集的图像深度学习网络构建方法及装置
CN114219774B (zh) 图像质量评估方法、装置、终端及计算机可读存储介质
CN115880181A (zh) 一种增强图像对比度的方法、装置及终端
Lin et al. Tri-histogram equalization based on first order statistics
Mutaqin et al. Increase dehazing process using fast guided filter on the dark channel prior
CN111951254B (zh) 基于边缘引导加权平均的源相机识别方法及系统
CN113989137A (zh) 一种脸部肌肤图像色素沉着提取并形成棕区光谱的方法
CN114358131A (zh) 数码相框智能照片优化处理系统
CN111563865A (zh) 消费类电子产品的亮度保持的图像细节增强方法及装置
CN115039134A (zh) 基于参考图像将输入图像转换为输出图像的计算机实现方法
CN110647898B (zh) 图像处理方法、装置、电子设备及计算机存储介质
CN111738927A (zh) 基于直方图均衡化的人脸识别特征增强与去噪方法及系统
CN111861947A (zh) 提高直方图技术增强图像的信息熵的方法、装置
CN113112434A (zh) 一种小波域亮度保持的对比度可调的图像增强方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant