<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s111211447</article-id>
<article-id pub-id-type="publisher-id">sensors-11-11447</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>An Approach to Improve the Quality of Infrared Images of Vein-Patterns</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Lin</surname><given-names>Chih-Lung</given-names></name><xref ref-type="aff" rid="af1-sensors-11-11447"><sup>1</sup></xref><xref ref-type="aff" rid="af2-sensors-11-11447"><sup>2</sup></xref></contrib></contrib-group>
<aff id="af1-sensors-11-11447">
<label>1</label> Department of Electronic Engineering, Hwa Hsia Institute of Technology, 111 Gong Jhuan Rd., Chung Ho district, New Taipei City, 23568, Taiwan; E-Mail: <email>linclr@gmail.com</email></aff>
<aff id="af2-sensors-11-11447">
<label>2</label> Department of Information and Computer Engineering, Chung Yuan Christian University, 200 Chung Pei Rd., Chung Li City, 32023, Taiwan</aff>
<pub-date pub-type="collection">
<year>2011</year></pub-date>
<pub-date pub-type="epub">
<day>1</day>
<month>12</month>
<year>2011</year></pub-date>
<volume>11</volume>
<issue>12</issue>
<fpage>11447</fpage>
<lpage>11463</lpage>
<history>
<date date-type="received">
<day>30</day>
<month>9</month>
<year>2011</year></date>
<date date-type="rev-recd">
<day>23</day>
<month>11</month>
<year>2011</year></date>
<date date-type="accepted">
<day>29</day>
<month>11</month>
<year>2011</year></date></history>
<permissions>
<copyright-statement>© 2011 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2011</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>This study develops an approach to improve the quality of infrared (IR) images of vein-patterns, which usually have noise, low contrast, low brightness and small objects of interest, thus requiring preprocessing to improve their quality. The main characteristics of the proposed approach are that no prior knowledge about the IR image is necessary and no parameters must be preset. Two main goals are sought: impulse noise reduction and adaptive contrast enhancement technologies. In our study, a fast median-based filter (FMBF) is developed as a noise reduction method. It is based on an IR imaging mechanism to detect the noisy pixels and on a modified median-based filter to remove the noisy pixels in IR images. FMBF has the advantage of a low computation load. In addition, FMBF can retain reasonably good edges and texture information when the size of the filter window increases. The most important advantage is that the peak signal-to-noise ratio (PSNR) caused by FMBF is higher than the PSNR caused by the median filter. A hybrid cumulative histogram equalization (HCHE) is proposed for adaptive contrast enhancement. HCHE can automatically generate a hybrid cumulative histogram (HCH) based on two different pieces of information about the image histogram. HCHE can improve the enhancement effect on hot objects rather than background. The experimental results are addressed and demonstrate that the proposed approach is feasible for use as an effective and adaptive process for enhancing the quality of IR vein-pattern images.</p></abstract>
<kwd-group>
<kwd>noise removal</kwd>
<kwd>noise detection</kwd>
<kwd>adaptive contrast enhancement</kwd>
<kwd>hybrid cumulative histogram equalization</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Because the cost of IR cameras has declined in recent years, especially those that are not cooled, the number of applications based on IR images captured by un-cooled IR cameras has increased substantially. Many new applications of IR imaging have been developed and deployed in fields that include the military, medicine, industry, and biometric verification. Among the most important biometric verification applications is the capture of IR images of palm-veins [<xref ref-type="bibr" rid="b1-sensors-11-11447">1</xref>–<xref ref-type="bibr" rid="b3-sensors-11-11447">3</xref>] and faces [<xref ref-type="bibr" rid="b4-sensors-11-11447">4</xref>,<xref ref-type="bibr" rid="b5-sensors-11-11447">5</xref>]. However, IR images frequently have noise, low contrast, low brightness and small magnification of objects of interest, so that the images must be preprocessed to improve their quality for biometric verification.</p>
<p>However, the low signal-to-noise (S/N) ratio [<xref ref-type="bibr" rid="b6-sensors-11-11447">6</xref>,<xref ref-type="bibr" rid="b7-sensors-11-11447">7</xref>] is the inherent limitation of IR images that affects their quality and hinders their deployment. The low S/N ratio results in low signal and high noise that degrades the quality of IR images. This is significant for an un-cooled IR camera, which is much less expensive than a cooled camera and has been used more prevalently to capture IR images in recent years. The high noise is caused by the sensors and read-out circuits of IR cameras, and the low IR signal detected by IR sensors is caused by the degradation of the IR signal radiating from objects in bad atmospheric weather. To enhance image quality and improve the adoption of IR-based applications, some form of image preprocessing is necessary. Improvements in impulse noise removal and contrast enhancement are the crucial tasks of IR image preprocessing.</p>
<p>The standard median filter (MF) [<xref ref-type="bibr" rid="b8-sensors-11-11447">8</xref>] has been prevalently used for noise removal in image preprocessing. However, the MF has an inherent limitation, which is its high computation load. The weighted median filter and the center-weight median filter (CWMF) [<xref ref-type="bibr" rid="b8-sensors-11-11447">8</xref>,<xref ref-type="bibr" rid="b9-sensors-11-11447">9</xref>] are modified to alleviate the inherent limitations of the MF at the expense of reduced noise removal performance. In addition, many methods [<xref ref-type="bibr" rid="b10-sensors-11-11447">10</xref>–<xref ref-type="bibr" rid="b17-sensors-11-11447">17</xref>] that combine the MF with impulse detection have been proposed to remedy the limitations of MFs. Their performance inherently relies on the performance of the impulse detector. Mean-based filters [<xref ref-type="bibr" rid="b18-sensors-11-11447">18</xref>–<xref ref-type="bibr" rid="b20-sensors-11-11447">20</xref>] are an alternative approach to remedy the limitations of the MF. These filters usually perform well at the cost of increased computational complexity. In recent years, some literature [<xref ref-type="bibr" rid="b21-sensors-11-11447">21</xref>–<xref ref-type="bibr" rid="b24-sensors-11-11447">24</xref>] has proposed impulse noise removal based on fuzzy technologies. However, all the previously mentioned literature considered visual images.</p>
<p>In this study, a FMBF to IR images based on an IR imaging mechanism to detect impulse noise and that is median-based to remove impulse noise with low computational load is developed. It can be performed without any prior knowledge about the IR image impulse noise, and no parameters must be preset.</p>
<p>In general, IR images consist of some objects of interest and many background areas. Not only is there a lack of prior information and much annoying noise, clutter, and stationary non-target objects [<xref ref-type="bibr" rid="b6-sensors-11-11447">6</xref>,<xref ref-type="bibr" rid="b7-sensors-11-11447">7</xref>], but it is also difficult to enhance the objects of interest without also enhancing the background or the noise. Using manual manipulation to enhance the gray value of objects of interest may be one way to remedy this problem, but it is not practical, because it is time-consuming and labor-intensive.</p>
<p>Many contrast enhancement technologies for IR images have been developed in the literature [<xref ref-type="bibr" rid="b25-sensors-11-11447">25</xref>–<xref ref-type="bibr" rid="b29-sensors-11-11447">29</xref>]. In [<xref ref-type="bibr" rid="b25-sensors-11-11447">25</xref>], a self-adaptive contrast enhancement algorithm based on plateau histogram equalization was proposed, while [<xref ref-type="bibr" rid="b26-sensors-11-11447">26</xref>] revealed that modeled histogram enhancement can considerably improve the poor detection performance associated with natural images. In [<xref ref-type="bibr" rid="b27-sensors-11-11447">27</xref>] the authors used histogram equalization (HE) to develop plateau histogram equalization, and [<xref ref-type="bibr" rid="b28-sensors-11-11447">28</xref>,<xref ref-type="bibr" rid="b29-sensors-11-11447">29</xref>] used histogram projection. These technologies are all based on histogram information. In addition, some non-histogram-based enhancement techniques were developed in [<xref ref-type="bibr" rid="b30-sensors-11-11447">30</xref>–<xref ref-type="bibr" rid="b35-sensors-11-11447">35</xref>].</p>
<p>To enhance the IR images automatically, we have developed a novel adaptive contrast enhancement approach, which automatically generates a hybrid cumulative histogram (HCH) based on two different pieces of information about the image histogram. The proposed approach runs automatically, requiring no prior information about the IR images nor manually setting the parameters. This approach is called hybrid cumulative histogram equalization (HCHE). A reliable, robust and adaptive approach is based on FMBF, and HCHE is developed in this study.</p>
<p><xref ref-type="fig" rid="f1-sensors-11-11447">Figure 1</xref> shows a block diagram of the proposed approach. It consists of four main parts, which are noise detection, noise removal, selecting an adaptive threshold and generating a hybrid cumulative histogram. They will be described in detail herein.</p>
<p>The rest of the paper is organized as follows. The FMBF approach with a lower computation load to reduce noise is addressed in Section 2. Section 3 describes the HCHE which generates a HCH for adaptive contrast enhancement to IR images. HCHE can remedy the shortcomings of the HE. Experimental results are demonstrated in Section 4 to verify the validity of the proposed approach, and concluding remarks are given in Section 5.</p></sec>
<sec>
<label>2.</label>
<title>Fast Median-Based Filter (FMBF)</title>
<sec>
<label>2.1.</label>
<title>IR Imaging Mechanism</title>
<p>MF does not distinguish noisy pixels from regular pixels and processes every pixel in images, which results in increased computational load to process the signal pixels that do not need to be processed. Therefore, a good deal of computational load can be saved by performing noise reduction only on noise pixels. One of the ways to alleviate computing overload is to detect the noise pixels before performing any noise removal. The key point is how to detect noise pixels intelligently. To detect noise pixels in IR images, one must consider the imaging mechanism of IR images. The imaging mechanism is derived based on the heat radiation law and heat conduction law. The details have been described in [<xref ref-type="bibr" rid="b1-sensors-11-11447">1</xref>].</p>
<p>According to the heat radiation law, the gray-level of pixels has a positive relationship with the temperature of the object surface. In addition, the heat conduction means that the temperature of the object varies monotonically on a surface. As a result, the crucial property of the <italic>IR imaging mechanism</italic> is that the gray-level of signal pixel of an object changes monotonically in IR images. On the contrary, the gray-level variations of noise pixels do not follow the <italic>IR imaging mechanism</italic>. FMBF is developed based on this crucial property of the <italic>IR imaging mechanism</italic> to detect noisy pixels.</p></sec>
<sec>
<label>2.2.</label>
<title>Noise Detection</title>
<p>A number of impulse detection methods [<xref ref-type="bibr" rid="b11-sensors-11-11447">11</xref>–<xref ref-type="bibr" rid="b17-sensors-11-11447">17</xref>] have been proposed that combind with MF to reduce the impulse noise. They include several different types of methods. All of these methods detect impulse noise in visual images. In this study, a noise detection algorithm has been developed based on <italic>IR imaging mechanism</italic> to detect the noise in IR images.</p>
<p>In order to explain how to perform the noise detection, some parameters of image pixels must be defined first. The terms <italic>x</italic> and <italic>y</italic> represent the horizontal and vertical coordinates of a pixel, respectively. <italic>p</italic>(<italic>x</italic>,<italic>y</italic>) is the pixel with coordinates <italic>x</italic> and <italic>y. g</italic>(<italic>x</italic>,<italic>y</italic>) is the gray-level of the pixel <italic>p</italic>(<italic>x</italic>,<italic>y</italic>). <italic>S<sub>xy</sub></italic> is the set that includes <italic>g</italic>(<italic>x</italic>,<italic>y</italic>) and its neighbor pixels. <italic>gm</italic> is the median gray-level of the <italic>S<sub>xy</sub></italic>, <italic>g</italic>(<italic>x</italic>,<italic>y</italic>) represents the gray-level of the central position pixel that will be processed, (<italic>s</italic>,<italic>t</italic>) denotes the coordinates of the pixels belonging to <italic>S<sub>xy</sub></italic>, and <italic>g</italic>(<italic>s</italic>,<italic>t</italic>) represents the gray-level of the pixels belonging to <italic>S<sub>xy</sub></italic>.</p>
<p>According to the imaging mechanism of IR images, the gray-level of an object varies monotonically, which results in an important property: if the gray-level <italic>g</italic>(<italic>x</italic>,<italic>y</italic>) is equal to the maximum gray-level <italic>g<sub>max</sub></italic> or the minimum gray-level <italic>g<sub>min</sub></italic> inside a filter window, the central position pixel <italic>p</italic>(<italic>x</italic>,<italic>y</italic>) will be a noisy pixel and should be replaced. Otherwise, it is considered as a signal pixel and should not be changed. Hence, this paper proposes the noise detection algorithm to find noisy pixels inside the filter window in IR images based on two steps. First, the noise detection method employs <xref ref-type="disp-formula" rid="FD1a">Equations (1a)</xref> and <xref ref-type="disp-formula" rid="FD1b">(1b)</xref> to find the maximum and minimum gray-level inside the filter window. Next, the algorithm checks the gray-level <italic>g(x</italic>,<italic>y</italic>) with <italic>g<sub>min</sub></italic> and <italic>g<sub>max</sub></italic> to consider whether the pixel <italic>p</italic>(<italic>x</italic>,<italic>y</italic>) is noise or signal. This noise detection can be performed in the following steps.</p>
<list list-type="simple">
<list-item>
<p>Step 1. Determine the maximum and minimum gray-level inside the filter window.
<disp-formula id="FD1a">
<label>(1a)</label>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">Arg</mml:mi>
<mml:mtext>max</mml:mtext>
<mml:mo>{</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
<mml:mo>}</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
<mml:mo>∈</mml:mo>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi mathvariant="italic">xy</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="FD1b">
<label>(1b)</label>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi mathvariant="italic">min</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">Arg</mml:mi>
<mml:mtext>min</mml:mtext>
<mml:mo>{</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
<mml:mo>}</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>)</mml:mo>
<mml:mo>∈</mml:mo>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mi mathvariant="italic">xy</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p></list-item>
<list-item>
<p>Step 2. Based on the IR imaging mechanism, check <italic>g</italic>(<italic>x</italic>,<italic>y</italic>) with gray-level <italic>g<sub>min</sub></italic> and <italic>g<sub>max</sub></italic> to determine whether the pixel <italic>p</italic>(<italic>x</italic>,<italic>y</italic>) is noise or signal.
<disp-formula id="FD2">
<label>(2)</label>
<mml:math display="block">
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">If</mml:mi>
<mml:mo> </mml:mo>
<mml:mi>g</mml:mi>
<mml:mo>(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi mathvariant="italic">min</mml:mi></mml:msub>
<mml:mi> </mml:mi>
<mml:mtext>or</mml:mtext>
<mml:mi> </mml:mi>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi mathvariant="italic">max</mml:mi></mml:msub>
<mml:mi>p</mml:mi>
<mml:mo>(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>)</mml:mo>
<mml:mo> </mml:mo>
<mml:mtext>is a noise</mml:mtext></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtext>Otherwise</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>(</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo>)</mml:mo>
<mml:mo> </mml:mo>
<mml:mtext>is considered as a signal pixel</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p></list-item></list>
<p>The proposed noise detection is based on the <italic>IR imaging mechanism</italic>. Therefore, FMBF can exactly identify the noisy pixels and replace them in IR images. The IR image’s edges, text information and details of objects are not damaged while being processed by the proposed FMBF.</p></sec>
<sec>
<label>2.3.</label>
<title>Noise Removal</title>
<p>According to the property of <italic>IR imaging mechanism</italic>, the pixel with median gray-level inside the window is adopted replacing the noisy pixels. In the proposed approach, the procedure to find out median gray-level is performed by the sort algorithm with a low computation complexity. In addition, it only processes the noisy pixels, but not the signal pixels.</p>
<p>Sorting is the main computation load of the noise removal, so in order to speed up the noise removal, reducing the computational load is critical. This study adopts a sort algorithm with low computational load. From an analysis of the properties of the versatile sort algorithms, a Radix sort with suitable parameters should run faster even than Quick sort or Heap sort [<xref ref-type="bibr" rid="b36-sensors-11-11447">36</xref>]. The complexity of Radix sort is described as <xref ref-type="disp-formula" rid="FD3">Equation (3)</xref>:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mtext>Complexity of Radix sort</mml:mtext>
<mml:mo> </mml:mo>
<mml:mo>=</mml:mo>
<mml:mo> </mml:mo>
<mml:mtext>O</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mtext>log</mml:mtext></mml:mrow></mml:mrow>
<mml:mi>d</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mi>q</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where <italic>n</italic> is the number of data, <italic>d</italic> is the number of digits, <italic>q</italic> is the range of the digit.</p>
<p>Thus in the proposed approach, a Radix sort algorithm with suitable <italic>d</italic> and <italic>q</italic> is selected to sort the pixel gray-level. In order to reduce the computational load of the Radix sort algorithm further, a Bit-plane processing technique is utilized to perform the Radix sort algorithm. The Bit-plane processing is easily implemented by using hardware in parallelization [<xref ref-type="bibr" rid="b37-sensors-11-11447">37</xref>]. It can be achieved by the Bit-plane decomposition method [<xref ref-type="bibr" rid="b38-sensors-11-11447">38</xref>], which decomposes the IR image into <italic>m</italic> bit-planes, where <italic>m</italic> is the number of bits in each pixel. Then the Radix sort algorithm is performed on these bit-planes to select the pixel with the median gray-level <italic>g<sub>m</sub></italic> inside a filter window. The selected pixel with gray-level <italic>g<sub>m</sub></italic> is utilized to replace the noisy pixel in the central position inside the filter window and the noise removal is accomplished.</p>
<p>FMBF does not act like the MF in sorting each pixel in a whole IR image; it only processes noisy pixels. In general, there are far fewer noisy pixels than signal pixels. FMBF has to expend extra computational load to determine the maximum and minimum gray-level in the noise detection procedure. The computation complexity of doing is O(<italic>n</italic>), which is still less than the computational complexity of Radix sort O(<italic>n</italic> log<italic><sub>d</sub></italic> <italic>q</italic>). Thus, the proposed FMBF can theoretically save time in noise removal.</p></sec></sec>
<sec>
<label>3.</label>
<title>Hybrid Cumulative Histogram Equalization (HCHE)</title>
<p>Histogram equalization (HE) is the most popular method utilized to enhance images, but it has a limitation in that it enhances primarily the large area scene features with approximate gray-level, rather than the small area objects [<xref ref-type="bibr" rid="b25-sensors-11-11447">25</xref>]. In our work, a HCHE is developed to adaptively and effectively enhance IR images. The most important property of HCHE is that the enhancement effect on hot objects is more than that on large area backgrounds. HCHE consists of two stages: the adaptive threshold selection and the HCH generation. The first stage adaptively selects a suitable threshold that divides the histogram into hot objects and backgrounds. The second stage is based on two different kinds of information about the histogram to generate two different cumulative histograms. One enhances hot objects and the other enhances backgrounds. Then the two different cumulative histograms are combined into a HCH. Thus, HCHE can remedy the inherent limitation of HE. The details of how to perform HCHE are addressed in the following section.</p>
<sec>
<label>3.1.</label>
<title>Selecting an Adaptive Threshold</title>
<p>In order to automatically divide the histogram into hot objects and backgrounds for miscellaneous IR images, an adaptive threshold is needed. Abundant threshold selection methods have been described in [<xref ref-type="bibr" rid="b39-sensors-11-11447">39</xref>] and have been categorized according to their information, such as entropy, histogram shape, spatial correlation, measurement space clustering, object attributes, and local gray-level surface. A fixed threshold is unsuitable to address the variations in different IR images. In order to conquer this real problem, this paper applies the iterative threshold selection method [<xref ref-type="bibr" rid="b40-sensors-11-11447">40</xref>], based on the clustering-based thresholding method, to choose an adaptive threshold. The iterative threshold selection method has been effective in extracting adaptive thresholds from bimoded or non-bimoded histograms [<xref ref-type="bibr" rid="b1-sensors-11-11447">1</xref>,<xref ref-type="bibr" rid="b41-sensors-11-11447">41</xref>]. The procedures of the iterative threshold selection method are as follows:
<list list-type="simple">
<list-item>
<p>Step 1. Initialize the threshold <italic>Th</italic>(<italic>1</italic>) (0 &lt; <italic>Th</italic>(<italic>1</italic>) &lt; 255) with a random value to segment the image into background and object.</p></list-item>
<list-item>
<p>Step 2. At the k<sup>th</sup> iteration, compute <italic>μ<sub>B</sub>(k)</italic> and <italic>μ<sub>o</sub>(k)</italic> as the means of background and object gray-level, respectively. The threshold <italic>Th</italic>(<italic>k</italic>) adopted in segmenting images into the background and the object is determined in Step 3 of the previous iteration (<xref ref-type="disp-formula" rid="FD6">Equation (6)</xref>).
<disp-formula id="FD4">
<label>(4)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mstyle displaystyle="true">
<mml:mi>μ</mml:mi></mml:mstyle>
<mml:mi>B</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>)</mml:mo>
<mml:mo>∈</mml:mo>
<mml:mi mathvariant="italic">background</mml:mi></mml:mrow></mml:munder>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>)</mml:mo>
<mml:mo>/</mml:mo></mml:mrow>
<mml:msub>
<mml:mstyle displaystyle="true">
<mml:mi>N</mml:mi></mml:mstyle>
<mml:mi>B</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD5">
<label>(5)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mstyle displaystyle="true">
<mml:mi>μ</mml:mi></mml:mstyle>
<mml:mi>O</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>)</mml:mo>
<mml:mo>∈</mml:mo>
<mml:mi mathvariant="italic">object</mml:mi></mml:mrow></mml:munder>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>)</mml:mo>
<mml:mo>/</mml:mo></mml:mrow>
<mml:msub>
<mml:mstyle displaystyle="true">
<mml:mi>N</mml:mi></mml:mstyle>
<mml:mi>O</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula>where <italic>N<sub>B</sub></italic> and <italic>N<sub>O</sub></italic> are the pixel numbers of the background and the object, respectively.</p></list-item>
<list-item>
<p>Step 3. 
<disp-formula id="FD6">
<label>(6)</label>
<mml:math display="block">
<mml:mrow>
<mml:mtext>Set</mml:mtext>
<mml:mo> </mml:mo>
<mml:mi mathvariant="italic">Th</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>μ</mml:mi></mml:mrow>
<mml:mi>B</mml:mi></mml:msub>
<mml:mo>(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>μ</mml:mi></mml:mrow>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:math></disp-formula></p>
<p><italic>Th</italic>(<italic>k</italic> + <italic>1</italic>) is the new threshold for the next iteration.</p></list-item>
<list-item>
<p>Step 4. If <italic>Th</italic>(<italic>k</italic> + <italic>1</italic>) = <italic>Th</italic>(<italic>k</italic>), then terminate and name the selected threshold <italic>Th</italic>; otherwise return to Step 2.</p></list-item></list></p></sec>
<sec>
<label>3.2.</label>
<title>Generating a Hybrid Cumulative Histogram</title>
<p>The enhanced effects caused by HE will be less obvious on hot objects than on large area backgrounds. In order to remedy this shortcoming of HE, this paper proposes a HCHE, whose main property is the use of two different enhancement effects on hot objects and backgrounds: a large effect on hot objects and a small effect on backgrounds. The details for constructing a HCH follow.</p>
<p>In order to explain the generation of HCH, the cumulative histogram of HE, <xref ref-type="disp-formula" rid="FD7">Equation (7)</xref>, and its associated parameters are defined first:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>/</mml:mo>
<mml:mi>n</mml:mi></mml:mrow>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD8">
<label>(8)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>/</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi> </mml:mi>
<mml:mo> </mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD9">
<label>(9)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext>int</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where <italic>r<sub>k</sub></italic> is the gray-level in the histogram of the source image, <italic>k</italic> is the gray-level, <italic>n</italic> is the total number of pixels in an image, <italic>n<sub>k</sub></italic> is the number of pixels with gray-level <italic>r<sub>k</sub></italic>, <italic>p<sub>r</sub></italic>(<italic>r<sub>k</sub></italic>) is the probability of the pixel with gray-level <italic>r<sub>k</sub></italic>, <italic>s<sub>k</sub></italic> is the pixel gray-level in the histogram of processed images, <italic>L</italic> is the number of gray-levels, <italic>L</italic> = 256 in our case, <italic>T</italic>(<italic>r<sub>k</sub></italic>) is the cumulative histogram of the HE generated by the source image, and int() is a function giving the integral part of a decimal number.</p>
<p>Based on the selected threshold <italic>Th</italic>, the histogram is divided into two groups: the pixels with gray-level smaller than <italic>Th</italic>, which belong to the background, and the pixels with gray-level equal to or larger than <italic>Th</italic>, which belong to the hot objects. The cumulative histogram to enhance the background is constructed by using the probability density function (PDF) of the background histogram, which is expressed in <xref ref-type="disp-formula" rid="FD10a">Equation (10a)</xref>. The intensity density function (IDF) is defined as <xref ref-type="disp-formula" rid="FD10c">Equation (10c)</xref>. The cumulative histogram to enhance hot objects is generated by using the IDF of the hot object histogram, which is expressed in <xref ref-type="disp-formula" rid="FD10b">Equation (10b)</xref>. The HCH is constructed by combining <xref ref-type="disp-formula" rid="FD10a">Equations (10a)</xref> and <xref ref-type="disp-formula" rid="FD10b">(10b)</xref>:
<disp-formula id="FD10a">
<label>(10a)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="italic">hb</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="true">{</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:munderover>
<mml:mrow>
<mml:mi mathvariant="italic">Arg</mml:mi>
<mml:mo> </mml:mo>
<mml:mtext>min</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">Th</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mrow>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>≤</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mi mathvariant="italic">Th</mml:mi></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD10b">
<label>(10b)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="italic">hb</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="true">{</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">Th</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mstyle displaystyle="true">
<mml:mi>p</mml:mi></mml:mstyle>
<mml:mi>r</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mstyle displaystyle="true">
<mml:mi>r</mml:mi></mml:mstyle>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mtext>log</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mi>j</mml:mi>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi> </mml:mi>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi> </mml:mi>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi mathvariant="italic">Th</mml:mi>
<mml:mo>≤</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>≤</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD10c">
<label>(10c)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mtext>IDF</mml:mtext>
<mml:mo> </mml:mo>
<mml:mo>=</mml:mo>
<mml:mo> </mml:mo></mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mtext>log</mml:mtext></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mi>k</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo>≤</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>≤</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:math></disp-formula>where <italic>T<sub>hb</sub></italic>(<italic>r<sub>k</sub></italic>) is the HCH.</p>
<p><xref ref-type="disp-formula" rid="FD10a">Equation (10a)</xref> accumulates the minimum of probability <italic>p<sub>r</sub></italic>(<italic>r<sub>j</sub></italic>) and <italic>p<sub>r</sub></italic>(<italic>r<sub>Th</sub></italic>) to generate the cumulative histogram for enhancing the background. <xref ref-type="disp-formula" rid="FD10b">Equation (10b)</xref> accumulates the IDF of probability <italic>p<sub>r</sub></italic>(<italic>r<sub>j</sub></italic>) to generate the cumulative histogram for enhancing hot objects. Combining <xref ref-type="disp-formula" rid="FD10a">Equations (10a)</xref> and <xref ref-type="disp-formula" rid="FD10b">(10b)</xref> generates the HCH of HCHE, which possesses two different enhancement effects on backgrounds and hot objects.</p>
<p>The derivative of a function is defined as the ratio of Δ<italic>y</italic> and Δ<italic>x</italic>. The terms Δ<italic>y</italic> and Δ<italic>x</italic> represent the argument increment of a function in Y-axis and X-axis, respectively. In general, the argument in Y-axis is the output and the argument in X-axis is the input of a function. Thus, the derivative of cumulative histogram is large which reveals the enhancement effect of cumulative histogram is large. Similarly, the derivative of cumulative histogram is small which reveals the enhancement effect of cumulative histogram is small. Therefore, the derivative of cumulative histogram can represent the enhancement effect of cumulative histogram.</p>
<p>Comparing <xref ref-type="disp-formula" rid="FD7">Equations (7)</xref> with <xref ref-type="disp-formula" rid="FD10a">(10a)</xref>, it is clear that the derivative of <xref ref-type="disp-formula" rid="FD10a">Equation (10a)</xref> is less than or equal to the derivative of the cumulative histogram of the HE when the gray-level <italic>r<sub>k</sub></italic> belongs to the background. Then <xref ref-type="disp-formula" rid="FD10b">Equation (10b)</xref> constructs the cumulative histogram of the hot objects. Comparing <xref ref-type="disp-formula" rid="FD7">Equations (7)</xref> with <xref ref-type="disp-formula" rid="FD10b">(10b)</xref>, it is easy to observe that the derivative of <xref ref-type="disp-formula" rid="FD10b">Equation (10b)</xref> must be larger than or equal to the derivative of <xref ref-type="disp-formula" rid="FD7">Equation (7)</xref> when the gray-level <italic>r<sub>k</sub></italic> represents the hot objects. Thus, the hot objects’ enhanced effect caused by the HCH is larger, and the backgrounds’ is smaller. This result can be proven based on the <italic>backward difference approximation of the first derivative</italic> (BDAFD) [<xref ref-type="bibr" rid="b42-sensors-11-11447">42</xref>]. According to the BDAFD, the first derivative of a cumulative histogram of the HE can be expressed as:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mi>T</mml:mi>
<mml:mo>'</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi> </mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow>
<mml:mi>k</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mstyle displaystyle="true">
<mml:mi>p</mml:mi></mml:mstyle>
<mml:mi>r</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mstyle displaystyle="true">
<mml:mi>p</mml:mi></mml:mstyle>
<mml:mi>r</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi> </mml:mi>
<mml:mo> </mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <italic>T</italic>’(<italic>r<sub>k</sub></italic>) is a first derivative of the cumulative histogram <italic>T</italic>(<italic>r<sub>k</sub></italic>).</p>
<p>In the same manner, the first derivative of the HCH can be expressed as:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="italic">hb</mml:mi></mml:msub>
<mml:mo>'</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="italic">hb</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="italic">hb</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo stretchy="true">{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi mathvariant="italic">Arg</mml:mi>
<mml:mo> </mml:mo>
<mml:mtext>min</mml:mtext>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">Th</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>≤</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mi mathvariant="italic">Th</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mtext>log</mml:mtext></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi mathvariant="italic">Th</mml:mi>
<mml:mo>≤</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <italic>T<sub>hb</sub></italic>’(<italic>r<sub>k</sub></italic>) is a first derivative of the HCH <italic>T<sub>hb</sub></italic>(<italic>r<sub>k</sub></italic>). If gray-level <italic>r<sub>k</sub></italic> belongs to the background, <italic>i.e.</italic>, 0 ≤ <italic>k</italic> &lt; <italic>Th</italic>, it yields:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mi mathvariant="italic">Arg</mml:mi>
<mml:mo> </mml:mo>
<mml:mtext>min</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">Th</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">}</mml:mo></mml:mrow>
<mml:mo>≤</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>So:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="italic">hb</mml:mi></mml:msub>
<mml:mo>'</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>≤</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>'</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi> </mml:mi>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>≤</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mi mathvariant="italic">Th</mml:mi></mml:mrow></mml:math></disp-formula></p>
<p>Thus, the background’s enhancement effect caused by the HCH <xref ref-type="disp-formula" rid="FD10a">Equation (10a)</xref> is smaller than or equal to that caused by the cumulative histogram of the HE. When the gray-level <italic>r<sub>k</sub></italic> belongs to the object, <italic>i.e</italic>., <italic>Th</italic> ≤ <italic>k</italic> &lt; <italic>L</italic> − 1, it yields:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mtext>log</mml:mtext></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>≥</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>p</mml:mi></mml:mrow>
<mml:mi>r</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Thus:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="italic">hb</mml:mi></mml:msub>
<mml:mo>'</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>'</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi> </mml:mi>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi mathvariant="italic">Th</mml:mi>
<mml:mo>≤</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&lt;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:math></disp-formula>meaning that the enhancement effect on objects caused by the HCH, <xref ref-type="disp-formula" rid="FD10b">Equation (10b)</xref> is larger than or equal to that caused by the cumulative histogram of the HE.</p>
<p>As a result, the enhancement effect on hot objects caused by HCHE is larger than or equal to that caused by the HE. On the other hand, the enhancement effect on backgrounds caused by HCHE is smaller than or equal to that caused by the HE. This characteristic is especially significant when the hot objects are much smaller than the backgrounds. Consequently, HCHE proposed in this study can alleviate the limitation of HE.</p>
<p>In addition, in order to avoid saturation of the equalized gray-level of transformed pixels, the maximum gray-level of transformed pixels must remain less than or equal to the maximum scale of the gray-level. A normalized version of HCHE is needed and is expressed as:
<disp-formula id="FD15">
<label>(15)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>n</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="italic">hb</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi mathvariant="italic">hb</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mi> </mml:mi>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mn mathvariant="italic">0</mml:mn>
<mml:mo>≦</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>≦</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn mathvariant="italic">1</mml:mn></mml:mrow></mml:math></disp-formula>where <italic>T<sub>n</sub></italic>(<italic>r<sub>k</sub></italic>) is the normalization of <italic>T<sub>hb</sub></italic>(<italic>r<sub>k</sub></italic>).</p></sec></sec>
<sec>
<label>4.</label>
<title>Experiment</title>
<p>A typical noise measure used is peak signal-to-noise ratio (PSNR) [<xref ref-type="bibr" rid="b8-sensors-11-11447">8</xref>], defined as:
<disp-formula id="FD16">
<label>(16)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mtext>PSNR</mml:mtext>
<mml:mo> </mml:mo>
<mml:mo>=</mml:mo>
<mml:mo> </mml:mo>
<mml:mn>10</mml:mn>
<mml:mo> </mml:mo>
<mml:mtext>log</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mtext>Max</mml:mtext></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>/</mml:mo>
<mml:mtext>MSE</mml:mtext></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where MSE is the mean square error between the original and processed image and Max is the maximum gray scale of pixels, e.g., 255 for 8 bits.</p>
<sec>
<label>4.1.</label>
<title>Test Samples of the Vein-Pattern IR Images</title>
<p>In order to verify the validity of the proposed approach, four life-time IR images of palm-dorsa are collected and used as the test samples for our study. Each IR image has 640 H × 480 V pixels and each pixel is represented by 256 gray-levels. As shown in <xref ref-type="fig" rid="f2-sensors-11-11447">Figure 2</xref>, the IR images all display low contrast and brightness. The vein-patterns are hard to observe in these images. They have to be preprocessed to improve the image quality for the future postprocessing.</p></sec>
<sec sec-type="results">
<label>4.2.</label>
<title>Experimental Results</title>
<p><xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3</xref> shows the <xref ref-type="fig" rid="f2-sensors-11-11447">Figure 2(a–d)</xref> with impulse noise of 10%, 20%, 30% and 40%, and exhibit the results of performing FMBF to iteratively filter the noisy images. Considering <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(a1–a4)</xref> as examples, <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(a1)</xref> is filtered once, <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(a2)</xref> filtered once, <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(a3)</xref> is iteratively filtered two times, <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(a4)</xref> is iteratively filtered three times, respectively. <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(b1,b2)</xref> demonstrate how the impulse noise is filtered out and the edges, textures and detail information preserved simultaneously. <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(b3,b4)</xref> demonstrate how the impulse noise is almost filtered out except for a few noise with large area. The other filtered images as shown in <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3</xref> are quite consistent with the <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(b1–b4)</xref>.</p>
<p>The PSNR is applied to assess the noise reduction performance of FMBF. The PSNRs of <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(a–d)</xref> caused by FMBF are addressed in <xref ref-type="table" rid="t1-sensors-11-11447">Table 1</xref>. Using <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(a1)</xref> as an example, the PSNR caused by FMBF is 57.90 dB, meaning that the degree of noise reduced by FMBF is 20.82 dB. It is easy to observe, the noise in <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(b1)</xref> is less than in <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(a1)</xref>, which shows the consistence with the PSNR. <xref ref-type="table" rid="t1-sensors-11-11447">Table I</xref> also shows the PSNRs caused by FMBF of <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(b2–b4)</xref> are 51.32 dB, 53.28 dB and 52.60 dB, respectively. This shows that FMBF reduces noise by 17.26 dB, 20.98 dB and 21.52 dB for <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(b2–b4)</xref>, respectively. Compared to the MF, FMBF improves the PSNRs 2.67 dB, 1.03 dB, 1.44 dB and 2.03dB for <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(a1–a4)</xref>, respectively.</p>
<p><xref ref-type="table" rid="t1-sensors-11-11447">Table 1</xref> also illustrates the sort time performance of applying FMBF to noisy images shown as <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(a1–a4), (c1–c4), (e1–e4) and (g1–g4)</xref>. FMBF performs a sorting algorithm for noisy pixels only, performing the sorting algorithm 204,500 times for <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(a1)</xref>. Hence, the computation load is reduced by the proposed FMBF by 33.4%. FMBF reduces the computation load 44.1%, 32.1% and 25.2% for <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(a2–a4)</xref>, respectively. These experimental results are quite consistent with the aforementioned theoretical analysis.</p>
<p>In the same manner, <xref ref-type="table" rid="t1-sensors-11-11447">Table 1</xref> also illustrates the results of <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(a1–a4)</xref> filtered by FMBF. All the <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3</xref> and <xref ref-type="table" rid="t1-sensors-11-11447">Table 1</xref> show that the performances of the proposed FMBF can reduce impulse noise and computer load more effectively than MF. In addition, FMBF performs the Radix sort algorithm with bit-plane, so it is easily implemented by hardware in parallelization. Thus, FMBF can save further computational time when performed in a parallel hardware architecture.</p>
<p><xref ref-type="fig" rid="f4-sensors-11-11447">Figure 4</xref> demonstrates the experimental results of <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(b2)</xref> enhanced by the HE and HCHE with a threshold of 51. The image enhanced by HE is shown in <xref ref-type="fig" rid="f4-sensors-11-11447">Figure 4(e)</xref>, and the histogram of <xref ref-type="fig" rid="f4-sensors-11-11447">Figure 4(e)</xref> is shown as <xref ref-type="fig" rid="f4-sensors-11-11447">Figure 4(g)</xref>. <xref ref-type="fig" rid="f4-sensors-11-11447">Figure 4(e,g)</xref> reveal that the intensities of the backgrounds are increased, and the contrast is spread. Intensities of the hot objects, vein-patterns, are also increased to near-maximum gray scale, but their contrast is compressed to a narrow gray-level range. On the other hand, when one observes the derivative of the HCH of the HCHE, as shown in <xref ref-type="fig" rid="f4-sensors-11-11447">Figure 4(d)</xref>, one can see that the derivative in the interval from gray-level 37 to 51 is less than that in the interval from gray-level 51 to 74. The former represents gray-levels belonging to backgrounds, and the latter represents gray-levels belonging to hot objects. Thus, the enhancement effect on backgrounds induced by HCHE is less than that on hot objects, and the contrast of backgrounds is decreased, whereas the contrast of hot objects is increased. The enhanced image by the HCHE is addressed in <xref ref-type="fig" rid="f4-sensors-11-11447">Figure 4(f)</xref>, and the histogram of <xref ref-type="fig" rid="f4-sensors-11-11447">Figure 4(f)</xref> is shown as <xref ref-type="fig" rid="f4-sensors-11-11447">Figure 4(h)</xref>. The gray-levels of backgrounds in <xref ref-type="fig" rid="f4-sensors-11-11447">Figure 4(h)</xref> are decreased and the contrast is compressed, while the gray-levels of hot objects are increased and the contrast is spread. These figures show that the experimental results in the cumulative histogram and the HCH match well with Equations (<xref ref-type="disp-formula" rid="FD8">8</xref>,<xref ref-type="disp-formula" rid="FD9">9</xref>) and the proposed HCHE can remedy the limitation of the HE.</p>
<p><xref ref-type="fig" rid="f5-sensors-11-11447">Figure 5</xref> demonstrates the performance of HCHE. The results of <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(b1–b4)</xref> enhanced by HCHE are shown as <xref ref-type="fig" rid="f5-sensors-11-11447">Figure 5(a1–a4)</xref>. <xref ref-type="fig" rid="f5-sensors-11-11447">Figure 5(b1–b4)</xref> show the histograms of <xref ref-type="fig" rid="f5-sensors-11-11447">Figure 5(a1–a4)</xref>. Compared to <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(b1–b4)</xref>, the contrast of images enhanced by HCHE is better than original images and the vein-patterns are much clearer and easier to observe. <xref ref-type="fig" rid="f5-sensors-11-11447">Figure 5</xref> exhibits the high performance of HCHE to enhance vein-patterns IR images.</p></sec></sec>
<sec sec-type="conclusions">
<label>5.</label>
<title>Conclusions</title>
<p>This paper presents an approach to improve the quality of IR images of vein-patterns by using the FMBF and HCHE with HCH. The proposed approach has three main advantages. The first is that noise reduction is achieved by utilizing FMBF with noise detection, and noise removal is performed by Radix sorting with bit-plane decomposition, which effectively decreases the computational load for noise reduction. In addition, FMBF speeds up the computation while preserving the benefits and remedying the shortcomings of the median filter. The second advantage of this approach is that HCHE with HCH, which is based on using information about the histogram to enhance IR images, has a greater enhancement effect on hot objects than on large backgrounds. This property can remedy the limitation of the HE. Finally, no prior knowledge about the IR images is necessary, and no parameter must be manually preset to perform the proposed approach.</p>
<p>IR images often display low intensity, low contrast and high noise. It is a considerable challenge to provide a high enhancement effect on hot objects but not on backgrounds and to simultaneously reduce the noise. To overcome this challenge, this paper proposes an approach consisting of the FMBF and HCHE. Experimental results demonstrate that the proposed approach successfully meets this challenge and extends the IR image applications in the military, medicine, industry and biometric verification fields.</p></sec></body>
<back>
<ack>
<p>The author would like to acknowledge the support for this study through partial grants from National Science Council (NSC 100-2221-E-146-006). He would also thank the anonymous reviewers for their significant and constructive critiques and suggestions, which substantially improved the quality of this paper.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-11-11447"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lin</surname><given-names>C.L.</given-names></name><name><surname>Fan</surname><given-names>K.C.</given-names></name></person-group><article-title>Biometric verification using thermal images of palm-dorsa vein-patterns</article-title><source>IEEE Trans. Circ. Syst. Video Technol</source><year>2004</year><volume>14</volume><fpage>199</fpage><lpage>213</lpage><pub-id pub-id-type="doi">10.1109/TCSVT.2003.821975</pub-id></citation></ref>
<ref id="b2-sensors-11-11447"><label>2.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>D.</given-names></name><name><surname>Guo</surname><given-names>Z.</given-names></name><name><surname>Lu</surname><given-names>G.</given-names></name><name><surname>Zhang</surname><given-names>L.</given-names></name><name><surname>Zuo</surname><given-names>W.</given-names></name></person-group><article-title>An online system of multispectral palmprint verification</article-title><source>IEEE Trans. Instrum. Meas</source><year>2010</year><volume>59</volume><fpage>480</fpage><lpage>490</lpage><pub-id pub-id-type="doi">10.1109/TIM.2009.2028772</pub-id></citation></ref>
<ref id="b3-sensors-11-11447"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>D.</given-names></name><name><surname>Guo</surname><given-names>Z.</given-names></name><name><surname>Lu</surname><given-names>G.</given-names></name><name><surname>Zhang</surname><given-names>L.</given-names></name><name><surname>Liu</surname><given-names>Y.</given-names></name><name><surname>Zuo</surname><given-names>W.</given-names></name></person-group><article-title>Online joint palmprint and palmvein verification</article-title><source>Expert Syst. Appl</source><year>2011</year><volume>38</volume><fpage>2621</fpage><lpage>2631</lpage><pub-id pub-id-type="doi">10.1016/j.eswa.2010.08.052</pub-id></citation></ref>
<ref id="b4-sensors-11-11447"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kong</surname><given-names>S.G.</given-names></name><name><surname>Heo</surname><given-names>J.</given-names></name><name><surname>Abidi</surname><given-names>B.R.</given-names></name><name><surname>Paik</surname><given-names>J.</given-names></name><name><surname>Abidi</surname><given-names>M.A.</given-names></name></person-group><article-title>Recent advances in visual and infrared face recognition—A review</article-title><source>Comput. Vis. Image Underst</source><year>2005</year><volume>97</volume><fpage>103</fpage><lpage>135</lpage><pub-id pub-id-type="doi">10.1016/j.cviu.2004.04.001</pub-id></citation></ref>
<ref id="b5-sensors-11-11447"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wu</surname><given-names>S.</given-names></name><name><surname>Jiang</surname><given-names>L.</given-names></name><name><surname>Xie</surname><given-names>S.</given-names></name><name><surname>Yeo</surname><given-names>A.C.B.</given-names></name></person-group><article-title>A robust method for detecting facial orientation in infrared images</article-title><source>Pattern Recognit</source><year>2006</year><volume>39</volume><fpage>303</fpage><lpage>309</lpage><pub-id pub-id-type="doi">10.1016/j.patcog.2005.06.003</pub-id></citation></ref>
<ref id="b6-sensors-11-11447"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Dawoud</surname><given-names>A.</given-names></name><name><surname>Alam</surname><given-names>M.S.</given-names></name><name><surname>Bal</surname><given-names>A.</given-names></name><name><surname>Loo</surname><given-names>C.</given-names></name></person-group><article-title>Target tracking in infrared imagery using weighted composite reference function-based decision fusion</article-title><source>IEEE Trans. Image Process</source><year>2006</year><volume>15</volume><fpage>404</fpage><lpage>410</lpage><pub-id pub-id-type="doi">10.1109/TIP.2005.860626</pub-id><pub-id pub-id-type="pmid">16479810</pub-id></citation></ref>
<ref id="b7-sensors-11-11447"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bal</surname><given-names>A.</given-names></name><name><surname>Alam</surname><given-names>M.S.</given-names></name></person-group><article-title>Automatic target tracking in FLIR image sequences using intensity variation function and template modeling</article-title><source>IEEE Trans. Instrum. Meas</source><year>2005</year><volume>54</volume><fpage>1846</fpage><lpage>1852</lpage><pub-id pub-id-type="doi">10.1109/TIM.2005.855090</pub-id></citation></ref>
<ref id="b8-sensors-11-11447"><label>8.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Bovik</surname><given-names>A.I.</given-names></name></person-group><source>Handbook of Image &amp; Video Processing</source><edition>2nd ed.</edition><publisher-name>Elevier Academic Press</publisher-name><publisher-loc>Maryland Heights, MO, USA</publisher-loc><year>2005</year></citation></ref>
<ref id="b9-sensors-11-11447"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lin</surname><given-names>T.C.</given-names></name></person-group><article-title>A new adaptive center weighted median filter for suppressing impulsive noise in images</article-title><source>Inf. Sci</source><year>2007</year><volume>177</volume><fpage>1073</fpage><lpage>1087</lpage><pub-id pub-id-type="doi">10.1016/j.ins.2006.07.030</pub-id></citation></ref>
<ref id="b10-sensors-11-11447"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Crnojevic</surname><given-names>V.</given-names></name><name><surname>Senk</surname><given-names>V.</given-names></name><name><surname>Trpovski</surname><given-names>Z.</given-names></name></person-group><article-title>Advanced impulse detection based on pixel-wise MAD</article-title><source>IEEE Signal Process. Lett</source><year>2004</year><volume>11</volume><fpage>589</fpage><lpage>592</lpage><pub-id pub-id-type="doi">10.1109/LSP.2004.830117</pub-id></citation></ref>
<ref id="b11-sensors-11-11447"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname><given-names>T.</given-names></name><name><surname>Wu</surname><given-names>H.R.</given-names></name></person-group><article-title>Adaptive impulse detection using center-weighted median filters</article-title><source>IEEE Signal Process. Lett</source><year>2001</year><volume>8</volume><fpage>1</fpage><lpage>3</lpage><pub-id pub-id-type="doi">10.1109/97.889633</pub-id></citation></ref>
<ref id="b12-sensors-11-11447"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname><given-names>T.</given-names></name><name><surname>Wu</surname><given-names>H.R.</given-names></name></person-group><article-title>Space variant median filters for the restoration of impulse noise corrupted images</article-title><source>IEEE Trans. Circ. Syst. II</source><year>2001</year><volume>48</volume><fpage>784</fpage><lpage>789</lpage><pub-id pub-id-type="doi">10.1109/82.959870</pub-id></citation></ref>
<ref id="b13-sensors-11-11447"><label>13.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Aizenberg</surname><given-names>I.</given-names></name><name><surname>Butakoff</surname><given-names>C.</given-names></name><name><surname>Paliy</surname><given-names>D.</given-names></name></person-group><article-title>Impulsive noise removal using threshold Boolean filtering based on the impulse detecting functions</article-title><source>IEEE Signal Process. Lett</source><year>2005</year><volume>12</volume><fpage>63</fpage><lpage>66</lpage><pub-id pub-id-type="doi">10.1109/LSP.2004.838198</pub-id></citation></ref>
<ref id="b14-sensors-11-11447"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Garnett</surname><given-names>R.</given-names></name><name><surname>Huegerich</surname><given-names>T.</given-names></name><name><surname>Chui</surname><given-names>C.</given-names></name><name><surname>He</surname><given-names>W.</given-names></name></person-group><article-title>A universal noise removal algorithm with an impulse detector</article-title><source>IEEE Trans. Image Process</source><year>2005</year><volume>14</volume><fpage>1747</fpage><lpage>1754</lpage><pub-id pub-id-type="doi">10.1109/TIP.2005.857261</pub-id><pub-id pub-id-type="pmid">16279175</pub-id></citation></ref>
<ref id="b15-sensors-11-11447"><label>15.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yuan</surname><given-names>S.Q.</given-names></name><name><surname>Tan</surname><given-names>Y.H.</given-names></name></person-group><article-title>Impulse noise removal by a global-local noise detector and adaptive median filter</article-title><source>Signal Process</source><year>2006</year><volume>86</volume><fpage>2123</fpage><lpage>2128</lpage><pub-id pub-id-type="doi">10.1016/j.sigpro.2006.01.009</pub-id></citation></ref>
<ref id="b16-sensors-11-11447"><label>16.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yuksel</surname><given-names>M.E.</given-names></name><name><surname>Besdok</surname><given-names>E.</given-names></name></person-group><article-title>A simple neuro-fuzzy impulse detector for efficient blur reduction of impulse noise removal operators for digital images</article-title><source>IEEE Trans. Fuzzy Syst</source><year>2004</year><volume>12</volume><fpage>854</fpage><lpage>865</lpage><pub-id pub-id-type="doi">10.1109/TFUZZ.2004.836075</pub-id></citation></ref>
<ref id="b17-sensors-11-11447"><label>17.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schulte</surname><given-names>S.</given-names></name><name><surname>Nachtegael</surname><given-names>M.</given-names></name><name><surname>De Witte</surname><given-names>V.</given-names></name><name><surname>van der Weken</surname><given-names>D.</given-names></name><name><surname>Kerre</surname><given-names>E.E.</given-names></name></person-group><article-title>A fuzzy impulse noise detection and reduction method</article-title><source>IEEE Trans. Image Process</source><year>2006</year><volume>15</volume><fpage>1153</fpage><lpage>1162</lpage><pub-id pub-id-type="doi">10.1109/TIP.2005.864179</pub-id><pub-id pub-id-type="pmid">16671296</pub-id></citation></ref>
<ref id="b18-sensors-11-11447"><label>18.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Abreu</surname><given-names>E.</given-names></name></person-group><article-title>Signal-dependent rank-ordered mean (SD-ROM) filter</article-title><source>Nonlinear Image Processing (Communications, Networking and Multimedia)</source><person-group person-group-type="editor"><name><surname>Mitra</surname><given-names>S.K.</given-names></name><name><surname>Sicuranza</surname><given-names>G.L.</given-names></name><name><surname>Gibson</surname><given-names>J.D.</given-names></name></person-group><publisher-name>Academic Press</publisher-name><publisher-loc>Orlando, FL, USA</publisher-loc><year>2001</year><fpage>111</fpage><lpage>133</lpage></citation></ref>
<ref id="b19-sensors-11-11447"><label>19.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Zhang</surname><given-names>D.S.</given-names></name><name><surname>Kouri</surname><given-names>D.J.</given-names></name></person-group><article-title>Varying weight trimmed mean filter for the restoration of impulse noise corrupted images</article-title><conf-name>Proceedings of IEEE International Conference on Acoustics, Speech, and Signal Processing, 2005 (ICASSP ’05)</conf-name><conf-loc>Philadelphia, PA, USA</conf-loc><conf-date>18–23 March 2005</conf-date><comment>Volume 4</comment><fpage>137</fpage><lpage>140</lpage></citation></ref>
<ref id="b20-sensors-11-11447"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Luo</surname><given-names>W.</given-names></name></person-group><article-title>An efficient detail-preserving approach for removing impulse noise in images</article-title><source>IEEE Signal Process. Lett</source><year>2006</year><volume>13</volume><fpage>413</fpage><lpage>416</lpage><pub-id pub-id-type="doi">10.1109/LSP.2006.873144</pub-id></citation></ref>
<ref id="b21-sensors-11-11447"><label>21.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schulte</surname><given-names>S.</given-names></name><name><surname>De Witte</surname><given-names>V.</given-names></name><name><surname>Kerre</surname><given-names>E.E.</given-names></name></person-group><article-title>A fuzzy noise reduction method for color images</article-title><source>IEEE Trans. Image Process</source><year>2007</year><volume>16</volume><fpage>1425</fpage><lpage>1436</lpage><pub-id pub-id-type="doi">10.1109/TIP.2007.891807</pub-id><pub-id pub-id-type="pmid">17491470</pub-id></citation></ref>
<ref id="b22-sensors-11-11447"><label>22.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Toprak</surname><given-names>A.</given-names></name><name><surname>Güler</surname><given-names>I.</given-names></name></person-group><article-title>Impulse noise reduction in medical images with the use of switch mode fuzzy adaptive median filter</article-title><source>Digital Signal Process</source><year>2007</year><volume>17</volume><fpage>711</fpage><lpage>723</lpage><pub-id pub-id-type="doi">10.1016/j.dsp.2006.11.008</pub-id></citation></ref>
<ref id="b23-sensors-11-11447"><label>23.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Morillas</surname><given-names>S.</given-names></name><name><surname>Gregori</surname><given-names>V.</given-names></name><name><surname>Peris-Fajarnés</surname><given-names>G.</given-names></name><name><surname>Sapena</surname><given-names>A.</given-names></name></person-group><article-title>Local self-adaptive fuzzy filter for impulsive noise removal in color images</article-title><source>Signal Process</source><year>2008</year><volume>88</volume><fpage>390</fpage><lpage>398</lpage><pub-id pub-id-type="doi">10.1016/j.sigpro.2007.05.019</pub-id></citation></ref>
<ref id="b24-sensors-11-11447"><label>24.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yildirim</surname><given-names>M.T.</given-names></name><name><surname>Basturk</surname><given-names>A.</given-names></name><name><surname>Yuksel</surname><given-names>M.E.</given-names></name></person-group><article-title>Impulse noise removal from digital images by a detail-preserving filter based on type-2 fuzzy logic</article-title><source>IEEE Trans. Fuzzy Logic Fuzzy Syst</source><year>2008</year><volume>16</volume><fpage>920</fpage><lpage>928</lpage><pub-id pub-id-type="doi">10.1109/TFUZZ.2008.924358</pub-id></citation></ref>
<ref id="b25-sensors-11-11447"><label>25.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname><given-names>B.J.</given-names></name><name><surname>Liu</surname><given-names>S.Q.</given-names></name><name><surname>Li</surname><given-names>Q.</given-names></name><name><surname>Zhou</surname><given-names>H.X.</given-names></name></person-group><article-title>A real-time contrast enhancement algorithm for infrared images based on plateau histogram</article-title><source>Infrared Phys. Technol</source><year>2006</year><volume>48</volume><fpage>77</fpage><lpage>82</lpage><pub-id pub-id-type="doi">10.1016/j.infrared.2005.04.008</pub-id></citation></ref>
<ref id="b26-sensors-11-11447"><label>26.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Aviram</surname><given-names>G.</given-names></name><name><surname>Rotman</surname><given-names>S.R.</given-names></name></person-group><article-title>Analyzing the improving effect of modeled histogram on human target detection performance of infrared images</article-title><source>Infrared Phys. Technol</source><year>2000</year><volume>41</volume><fpage>163</fpage><lpage>168</lpage><pub-id pub-id-type="doi">10.1016/S1350-4495(99)00049-3</pub-id></citation></ref>
<ref id="b27-sensors-11-11447"><label>27.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Vichers</surname><given-names>V.E.</given-names></name></person-group><article-title>Plateau equalization algorithm for real-time display of high-quality infrared imagery</article-title><source>Opt. Eng</source><year>1996</year><volume>35</volume><fpage>1921</fpage><lpage>1926</lpage><pub-id pub-id-type="doi">10.1117/1.601006</pub-id></citation></ref>
<ref id="b28-sensors-11-11447"><label>28.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Silverman</surname><given-names>J.</given-names></name></person-group><article-title>Signal processing algorithms for display and enhancement of IR images</article-title><source>Proc. SPIE</source><year>1993</year><volume>2020</volume><fpage>440</fpage><lpage>450</lpage></citation></ref>
<ref id="b29-sensors-11-11447"><label>29.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Silverman</surname><given-names>J.</given-names></name></person-group><article-title>Display and enhancement of infrared images</article-title><source>Electro-Optical Displays</source><person-group person-group-type="editor"><name><surname>Karim</surname><given-names>M.A.</given-names></name></person-group><publisher-name>CRC Press</publisher-name><publisher-loc>Boca Raton, FL USA</publisher-loc><year>1992</year><fpage>585</fpage><lpage>651</lpage></citation></ref>
<ref id="b30-sensors-11-11447"><label>30.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Highnam</surname><given-names>R.</given-names></name><name><surname>Brady</surname><given-names>M.</given-names></name></person-group><article-title>Model-based image enhancement of far infrared images</article-title><source>IEEE Trans. Pattern Anal. Mach. Intell</source><year>1997</year><volume>19</volume><fpage>410</fpage><lpage>415</lpage><pub-id pub-id-type="doi">10.1109/34.588029</pub-id></citation></ref>
<ref id="b31-sensors-11-11447"><label>31.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tang</surname><given-names>M.</given-names></name><name><surname>Ma</surname><given-names>S.</given-names></name><name><surname>Xiao</surname><given-names>J.</given-names></name></person-group><article-title>Model-based adaptive enhancement of far infrared image sequences</article-title><source>Pattern Recognit. Lett</source><year>2000</year><volume>21</volume><fpage>827</fpage><lpage>835</lpage><pub-id pub-id-type="doi">10.1016/S0167-8655(00)00041-6</pub-id></citation></ref>
<ref id="b32-sensors-11-11447"><label>32.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Qidwai</surname><given-names>U.</given-names></name></person-group><article-title>Infrared image enhancement using <italic>H</italic><sub>∞</sub> bounds for surveillance applications</article-title><source>IEEE Trans. Image Process</source><year>2008</year><volume>17</volume><fpage>1274</fpage><lpage>1282</lpage><pub-id pub-id-type="doi">10.1109/TIP.2008.925377</pub-id><pub-id pub-id-type="pmid">18632338</pub-id></citation></ref>
<ref id="b33-sensors-11-11447"><label>33.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Li</surname><given-names>Y.</given-names></name><name><surname>He</surname><given-names>R.</given-names></name><name><surname>Xu</surname><given-names>G.</given-names></name><name><surname>Hou</surname><given-names>C.</given-names></name><name><surname>Sun</surname><given-names>Y.</given-names></name><name><surname>Guo</surname><given-names>L.</given-names></name><name><surname>Rao</surname><given-names>L.</given-names></name><name><surname>Yan</surname><given-names>W.</given-names></name></person-group><article-title>Enhancement of infrared image based on the retinex theory</article-title><conf-name>Proceedings of the 30th Annual International Conference IEEE Engineering in Medicine and Biology Society (EMBS)</conf-name><conf-loc>Vancouver, BC, Canada</conf-loc><conf-date>21–24 August 2008</conf-date><fpage>2189</fpage><lpage>2192</lpage></citation></ref>
<ref id="b34-sensors-11-11447"><label>34.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Rahman</surname><given-names>Z.</given-names></name><name><surname>Jobson</surname><given-names>D.J.</given-names></name><name><surname>Woodell</surname><given-names>G.A.</given-names></name><name><surname>Hines</surname><given-names>G.D.</given-names></name></person-group><article-title>Multisensor fusion and enhancement using the Retinex image enhancement algorithm</article-title><source>Proc. SPIE</source><year>2002</year><volume>4736</volume><fpage>36</fpage><lpage>44</lpage></citation></ref>
<ref id="b35-sensors-11-11447"><label>35.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname><given-names>Q.</given-names></name><name><surname>Xu</surname><given-names>X.</given-names></name><name><surname>Sun</surname><given-names>Q.</given-names></name><name><surname>Xia</surname><given-names>D.</given-names></name></person-group><article-title>A solution to the deficiencies of image enhancement</article-title><source>Signal Process</source><year>2010</year><volume>90</volume><fpage>44</fpage><lpage>56</lpage><pub-id pub-id-type="doi">10.1016/j.sigpro.2009.05.015</pub-id></citation></ref>
<ref id="b36-sensors-11-11447"><label>36.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Goodrich</surname><given-names>M.T.</given-names></name><name><surname>Tamassia</surname><given-names>R.</given-names></name><name><surname>Mount</surname><given-names>D.M.</given-names></name></person-group><source>Data Structures and Algorithms in C++</source><publisher-name>John Wiley &amp; Sons, Inc</publisher-name><publisher-loc>Hoboken, NJ, USA</publisher-loc><year>2004</year></citation></ref>
<ref id="b37-sensors-11-11447"><label>37.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lee</surname><given-names>W.L.</given-names></name><name><surname>Fan</surname><given-names>K.C.</given-names></name></person-group><article-title>Design of optimal stack filter and under MAE criterion</article-title><source>IEEE Trans. Signal Process</source><year>1999</year><volume>47</volume><fpage>3345</fpage><lpage>3355</lpage><pub-id pub-id-type="doi">10.1109/78.806078</pub-id></citation></ref>
<ref id="b38-sensors-11-11447"><label>38.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Gonzalez</surname><given-names>R.C.</given-names></name><name><surname>Woods</surname><given-names>R.E.</given-names></name></person-group><source>Digital Image Processing</source><edition>2nd ed</edition><publisher-name>Prentice Hall</publisher-name><publisher-loc>Upper Saddle River, NJ, USA</publisher-loc><year>2002</year></citation></ref>
<ref id="b39-sensors-11-11447"><label>39.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sezgin</surname><given-names>M.</given-names></name><name><surname>Sankur</surname><given-names>B.</given-names></name></person-group><article-title>Survey over image thresholding techniques and quantitative performance evaluation</article-title><source>J. Electron. Imaging</source><year>2004</year><volume>13</volume><fpage>146</fpage><lpage>165</lpage><pub-id pub-id-type="doi">10.1117/1.1631315</pub-id></citation></ref>
<ref id="b40-sensors-11-11447"><label>40.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Sonka</surname><given-names>M.</given-names></name><name><surname>Hlavac</surname><given-names>V.</given-names></name><name><surname>Boyle</surname><given-names>R.</given-names></name></person-group><source>Image Processing, Analysis, and Machine Vision</source><edition>2nd ed</edition><publisher-name>PWS Publishing</publisher-name><publisher-loc>New York, NY, USA</publisher-loc><year>1999</year><fpage>128</fpage><lpage>130</lpage></citation></ref>
<ref id="b41-sensors-11-11447"><label>41.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lin</surname><given-names>C.L.</given-names></name><name><surname>Chuang</surname><given-names>T.C.</given-names></name><name><surname>Fan</surname><given-names>K.C.</given-names></name></person-group><article-title>Palmprint verification using hierarchical decomposition</article-title><source>Pattern Recognit</source><year>2005</year><volume>38</volume><fpage>2639</fpage><lpage>2652</lpage><pub-id pub-id-type="doi">10.1016/j.patcog.2005.04.001</pub-id></citation></ref>
<ref id="b42-sensors-11-11447"><label>42.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Chapra</surname><given-names>S.C.</given-names></name></person-group><source>Applied Numerical Methods with Matlab for Engineers and Scientists</source><publisher-name>McGraw-Hill Companies, Inc.</publisher-name><publisher-loc>New York, NY, USA</publisher-loc><year>2008</year><fpage>101</fpage><lpage>103</lpage></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Table</title>
<fig id="f1-sensors-11-11447" position="float">
<label>Figure 1.</label>
<caption>
<p>Demonstrates the block diagram of the proposed approach.</p></caption>
<graphic xlink:href="sensors-11-11447f1.gif"/></fig>
<fig id="f2-sensors-11-11447" position="float">
<label>Figure 2.</label>
<caption>
<p>Images (<bold>a</bold>–<bold>d</bold>) demonstrate the thermal images captured from four different palm-dorsa. Images (<bold>e</bold>–<bold>h</bold>) show the corresponding histograms of (a–d).</p></caption>
<graphic xlink:href="sensors-11-11447f2.gif"/></fig>
<fig id="f3-sensors-11-11447" position="float">
<label>Figure 3.</label>
<caption>
<p><xref ref-type="fig" rid="f2-sensors-11-11447">Figure 2(a–d)</xref> with impulse noise filtered by FMBF. (<bold>a1</bold>–<bold>a4</bold>) show <xref ref-type="fig" rid="f2-sensors-11-11447">Figure 2(a)</xref> with impulse noise of 10%, 20%, 30% and 40%, respectively; (<bold>b1</bold>–<bold>b4</bold>) show the results of (a1–a4) filtered by FMBF once, once, two times and three times, respectively; (<bold>c1</bold>–<bold>c4</bold>) show <xref ref-type="fig" rid="f2-sensors-11-11447">Figure 2(b)</xref> with impulse noise of 10%, 20%, 30% and 40%, respectively; (<bold>d1</bold>–<bold>d4</bold>) show the results of (c1–c4) filtered by FMBF once, once, two times and three times, respectively; (<bold>e1</bold>–<bold>e4</bold>) show <xref ref-type="fig" rid="f2-sensors-11-11447">Figure 2(c)</xref> with impulse noise of 10%, 20%, 30% and 40%, respectively; (<bold>f1</bold>–<bold>f4</bold>) show the results of (e1–e4) filtered by FMBF once, once, two times and three times, respectively; (<bold>g1</bold>–<bold>g4</bold>) show <xref ref-type="fig" rid="f2-sensors-11-11447">Figure 2(d)</xref> with impulse noise of 10%, 20%, 30% and 40%, respectively; (<bold>h1</bold>–<bold>h4</bold>) show the results of (g1–g4) filtered by FMBF once, once, two times and three times, respectively.</p></caption>
<graphic xlink:href="sensors-11-11447f3a.gif"/>
<graphic xlink:href="sensors-11-11447f3b.gif"/></fig>
<fig id="f4-sensors-11-11447" position="float">
<label>Figure 4.</label>
<caption>
<p>The experimental results of <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(b2)</xref> enhanced by the HE and HCHE. (<bold>a</bold>) A normalized cumulative histogram of the HE. Y-axis and X-axis represent processed gray-level and original gray-level, respectively; (<bold>b</bold>) The normalized HCH of the HCHE with the adaptive threshold 51. Y-axis and X-axis represent processed gray-level and original gray-level, respectively; (<bold>c</bold>) The derivative of the cumulative histogram. Y-axis and X-axis represent derivative value and gray-level, respectively; (<bold>d</bold>) The derivative of the HCH. Y-axis and X-axis represent derivative value and gray-level, respectively; (<bold>e</bold>) The <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(b2)</xref> enhanced by the HE; (<bold>f</bold>) The <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(b2)</xref> enhanced by the HCHE; (<bold>g</bold>) The histogram of (e). Y-axis and X-axis represent probability and gray-level, respectively; (<bold>h</bold>) The histogram of (f). Y-axis and X-axis represent probability and gray-level, respectively.</p></caption>
<graphic xlink:href="sensors-11-11447f4.gif"/></fig>
<fig id="f5-sensors-11-11447" position="float">
<label>Figure 5.</label>
<caption>
<p>The results enhanced by HCHE. (<bold>a1</bold>–<bold>a4</bold>) show the results of <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(b1–b4)</xref> enhanced by HCHE, respectively; (<bold>b1</bold>–<bold>b4</bold>) show the histograms of (a1–a4), respectively; (<bold>c1</bold>–<bold>c4</bold>) show the results of <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(d1–d4)</xref> enhanced by HCHE, respectively; (<bold>d1</bold>–<bold>d4</bold>) show the histograms of (c1–c4), respectively; (<bold>e1</bold>–<bold>e4</bold>) show the results of <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(f1–f4)</xref> enhanced by HCHE, respectively; (<bold>f1</bold>–<bold>f4</bold>) show the histograms of (e1–e4), respectively; (<bold>g1</bold>–<bold>g4</bold>) show the results of <xref ref-type="fig" rid="f3-sensors-11-11447">Figure 3(h1–h4)</xref> enhanced by HCHE, respectively; (<bold>h1</bold>–<bold>h4</bold>) show the histograms of (g1–g4), respectively.</p></caption>
<graphic xlink:href="sensors-11-11447f5a.gif"/>
<graphic xlink:href="sensors-11-11447f5b.gif"/></fig>
<table-wrap id="t1-sensors-11-11447" position="float">
<label>Table 1.</label>
<caption>
<p>The improved performances of the images processed by FMBF.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="middle"><bold>Noise</bold></th>
<th colspan="2" align="center" valign="middle"/>
<th align="center" valign="middle"><bold>10%</bold></th>
<th align="center" valign="middle"><bold>20%</bold></th>
<th align="center" valign="middle"><bold>30%</bold></th>
<th align="center" valign="middle"><bold>40%</bold></th></tr>
<tr>
<th colspan="7" align="left" valign="top">
<hr/></th></tr>
<tr>
<th align="center" valign="middle"/>
<th colspan="2" align="left" valign="middle"><bold>Filtered time</bold></th>
<th align="center" valign="middle"><bold>1</bold></th>
<th align="center" valign="middle"><bold>1</bold></th>
<th align="center" valign="middle"><bold>2</bold></th>
<th align="center" valign="middle"><bold>3</bold></th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top"><xref ref-type="fig" rid="f2-sensors-11-11447">Figure 2(a)</xref></td>
<td align="left" valign="top">PSNR (dB)</td>
<td align="left" valign="top">Noisy image</td>
<td align="center" valign="top">37.08</td>
<td align="center" valign="top">34.06</td>
<td align="center" valign="top">32.30</td>
<td align="center" valign="top">31.08</td></tr>
<tr>
<td colspan="7" align="left" valign="top">
<hr/></td></tr>
<tr>
<td align="left" valign="top" rowspan="3"/>
<td align="left" valign="top" rowspan="3"/>
<td align="left" valign="top">Median Filter</td>
<td align="center" valign="top">55.23</td>
<td align="center" valign="top">50.29</td>
<td align="center" valign="top">51.84</td>
<td align="center" valign="top">50.57</td></tr>
<tr>
<td align="left" valign="top">FMBF</td>
<td align="center" valign="top">57.90</td>
<td align="center" valign="top">51.32</td>
<td align="center" valign="top">53.28</td>
<td align="center" valign="top">52.60</td></tr>
<tr>
<td align="left" valign="top">Improved (db)</td>
<td align="center" valign="top">2.67</td>
<td align="center" valign="top">1.03</td>
<td align="center" valign="top">1.44</td>
<td align="center" valign="top">2.03</td></tr>
<tr>
<td colspan="7" align="left" valign="top">
<hr/></td></tr>
<tr>
<td align="left" valign="top" rowspan="2"/>
<td align="left" valign="top" rowspan="2">Sort times</td>
<td align="left" valign="top">FMBF</td>
<td align="center" valign="top">204,500</td>
<td align="center" valign="top">171,813</td>
<td align="center" valign="top">416,922</td>
<td align="center" valign="top">689,883</td></tr>
<tr>
<td align="left" valign="top">Improved (%) <xref ref-type="table-fn" rid="tfn1-sensors-11-11447">*</xref></td>
<td align="center" valign="top">33.4</td>
<td align="center" valign="top">44.1</td>
<td align="center" valign="top">32.1</td>
<td align="center" valign="top">25.2</td></tr>
<tr>
<td align="left" valign="top" rowspan="4"><xref ref-type="fig" rid="f2-sensors-11-11447">Figure 2(b)</xref></td>
<td align="left" valign="top" rowspan="4">PSNR (dB)</td>
<td align="left" valign="top">Noisy image</td>
<td align="center" valign="top">37.03</td>
<td align="center" valign="top">34.10</td>
<td align="center" valign="top">32.28</td>
<td align="center" valign="top">31.06</td></tr>
<tr>
<td align="left" valign="top">Median Filter</td>
<td align="center" valign="top">55.29</td>
<td align="center" valign="top">51.60</td>
<td align="center" valign="top">52.22</td>
<td align="center" valign="top">50.97</td></tr>
<tr>
<td align="left" valign="top">FMBF</td>
<td align="center" valign="top">57.74</td>
<td align="center" valign="top">53.37</td>
<td align="center" valign="top">53.84</td>
<td align="center" valign="top">53.26</td></tr>
<tr>
<td align="left" valign="top">Improved (db)</td>
<td align="center" valign="top">2.45</td>
<td align="center" valign="top">1.77</td>
<td align="center" valign="top">1.62</td>
<td align="center" valign="top">2.29</td></tr>
<tr>
<td align="left" valign="top" rowspan="2"/>
<td align="left" valign="top" rowspan="2">Sort times</td>
<td align="left" valign="top">FMBF</td>
<td align="center" valign="top">197,990</td>
<td align="center" valign="top">166,899</td>
<td align="center" valign="top">406,958</td>
<td align="center" valign="top">674,561</td></tr>
<tr>
<td align="left" valign="top">Improved (%) <xref ref-type="table-fn" rid="tfn1-sensors-11-11447">*</xref></td>
<td align="center" valign="top">35.6</td>
<td align="center" valign="top">45.7</td>
<td align="center" valign="top">33.8</td>
<td align="center" valign="top">26.8</td></tr>
<tr>
<td colspan="7" align="left" valign="top">
<hr/></td></tr>
<tr>
<td align="left" valign="top" rowspan="4"><xref ref-type="fig" rid="f2-sensors-11-11447">Figure 2(c)</xref></td>
<td align="left" valign="top" rowspan="4">PSNR (dB)</td>
<td align="left" valign="top">Noisy image</td>
<td align="center" valign="top">37.07</td>
<td align="center" valign="top">34.02</td>
<td align="center" valign="top">32.28</td>
<td align="center" valign="top">31.04</td></tr>
<tr>
<td align="left" valign="top">Median Filter</td>
<td align="center" valign="top">54.73</td>
<td align="center" valign="top">50.56</td>
<td align="center" valign="top">51.91</td>
<td align="center" valign="top">50.24</td></tr>
<tr>
<td align="left" valign="top">FMBF</td>
<td align="center" valign="top">57.55</td>
<td align="center" valign="top">52.47</td>
<td align="center" valign="top">53.39</td>
<td align="center" valign="top">52.11</td></tr>
<tr>
<td align="left" valign="top">Improved (db)</td>
<td align="center" valign="top">2.82</td>
<td align="center" valign="top">1.91</td>
<td align="center" valign="top">1.48</td>
<td align="center" valign="top">1.87</td></tr>
<tr>
<td align="left" valign="top" rowspan="2"/>
<td align="left" valign="top" rowspan="2">Sort times</td>
<td align="left" valign="top">FMBF</td>
<td align="center" valign="top">207,747</td>
<td align="center" valign="top">173,809</td>
<td align="center" valign="top">420,298</td>
<td align="center" valign="top">693,919</td></tr>
<tr>
<td align="left" valign="top">Improved (%) <xref ref-type="table-fn" rid="tfn1-sensors-11-11447">*</xref></td>
<td align="center" valign="top">32.4</td>
<td align="center" valign="top">43.4</td>
<td align="center" valign="top">31.6</td>
<td align="center" valign="top">24.7</td></tr>
<tr>
<td colspan="7" align="left" valign="top">
<hr/></td></tr>
<tr>
<td align="left" valign="top" rowspan="4"><xref ref-type="fig" rid="f2-sensors-11-11447">Figure 2(d)</xref></td>
<td align="left" valign="top" rowspan="4">PSNR (dB)</td>
<td align="left" valign="top">Noisy image</td>
<td align="center" valign="top">37.08</td>
<td align="center" valign="top">34.10</td>
<td align="center" valign="top">32.28</td>
<td align="center" valign="top">31.08</td></tr>
<tr>
<td align="left" valign="top">Median Filter</td>
<td align="center" valign="top">55.01</td>
<td align="center" valign="top">51.34</td>
<td align="center" valign="top">52.27</td>
<td align="center" valign="top">51.19</td></tr>
<tr>
<td align="left" valign="top">FMBF</td>
<td align="center" valign="top">57.74</td>
<td align="center" valign="top">53.21</td>
<td align="center" valign="top">53.78</td>
<td align="center" valign="top">53.07</td></tr>
<tr>
<td align="left" valign="top">Improved (db)</td>
<td align="center" valign="top">2.73</td>
<td align="center" valign="top">1.87</td>
<td align="center" valign="top">1.51</td>
<td align="center" valign="top">1.88</td></tr>
<tr>
<td align="left" valign="top" rowspan="2"/>
<td align="left" valign="top" rowspan="2">Sort times</td>
<td align="left" valign="top">FMBF</td>
<td align="center" valign="top">203,735</td>
<td align="center" valign="top">172,463</td>
<td align="center" valign="top">408,414</td>
<td align="center" valign="top">673,432</td></tr>
<tr>
<td align="left" valign="top">Improved (%) <xref ref-type="table-fn" rid="tfn1-sensors-11-11447">*</xref></td>
<td align="center" valign="top">33.7</td>
<td align="center" valign="top">43.9</td>
<td align="center" valign="top">33.5</td>
<td align="center" valign="top">26.9</td></tr></tbody></table>
<table-wrap-foot><fn id="tfn1-sensors-11-11447">
<label>*</label>
<p>Compared to median filter sorts whole image which needs 307,200 times per filter time.</p></fn></table-wrap-foot></table-wrap></sec></back></article>
