<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JSEA</journal-id><journal-title-group><journal-title>Journal of Software Engineering and Applications</journal-title></journal-title-group><issn pub-type="epub">1945-3116</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jsea.2018.1111032</article-id><article-id pub-id-type="publisher-id">JSEA-88900</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Performance Evaluation of Edge Detection Using Sobel, Homogeneity and Prewitt Algorithms
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Abdel</surname><given-names>Karim M. Baareh</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Ahmad</surname><given-names>Al-Jarrah</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Ahmad</surname><given-names>M. Smadi</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Ghazi</surname><given-names>H. Shakah</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib></contrib-group><aff id="aff2"><addr-line>Computer Science Department, Ajloun National University, Ajloun, Jordan</addr-line></aff><aff id="aff1"><addr-line>Computer Science Department, Ajloun College, Al-Balqa Applied University, Ajloun, Jordan</addr-line></aff><pub-date pub-type="epub"><day>26</day><month>11</month><year>2018</year></pub-date><volume>11</volume><issue>11</issue><fpage>537</fpage><lpage>551</lpage><history><date date-type="received"><day>1,</day>	<month>November</month>	<year>2018</year></date><date date-type="rev-recd"><day>27,</day>	<month>November</month>	<year>2018</year>	</date><date date-type="accepted"><day>30,</day>	<month>November</month>	<year>2018</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Edge detection considered as very important and fundamental tool in image processing. An image edge is a very sensitive place where the image information and details mostly placed on it. Different filters were used to detect and enhance these edges to improve the sharpness and raising the image clarity. The significance of this paper comes from the study, compare and evaluate the effects of three well-known edge detection techniques in a spatial domain, where this evaluation was performed using both subjective and objective manner to find out the best edge detection algorithm. The Sobel, Homogeneity and Prewitt algorithms were used on 2D gray-scale synthesis and real images in Jordan using C# programming language. According to the comparative results obtained using the three techniques, it was clearly found that Prewitt and Homogeneity algorithms performance were better than Sobel algorithm. Therefore, Prewitt and Homogeneity algorithms can be recommended as useful detection tools in edge detection.
 
</p></abstract><kwd-group><kwd>Edge Detector</kwd><kwd> Edge Enhancement</kwd><kwd> Edge Localization</kwd><kwd> Smoothing</kwd><kwd> Image Processing</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>The science of image processing is considered as a very important digital computer processing technique. This technique is widely used on digital computer images for feature extractions, recognition, and segmentation etc. Image processing techniques were applied on different 2D and 3D gray and color images for recognizing an image special and important part. It is widely used in numerous applications such as medical images reading and recognizing, television broadcasting images, images collected from satellite, and computer vision applications.</p><p>Edge detection technique was started from the science of image analyzing and processing. The edge may contain the most important image information. This edge constituted from a set of pixels that are closely connected to form a boundary between two disjoints regions. It is the technique where the images are segmented into regions of discontinuity and working on that discontinuity to detect the meaningful information from both gray and color images. Looking inside the image to find the physical objects is the main objectives of edge detection. The edge consists of straight lines or curves in the perimeter of the image, where an important change in the image brightness is existed [<xref ref-type="bibr" rid="scirp.88900-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref2">2</xref>].</p><p>The diversity in the pixels intensities plays an important role in selecting the edge detector type such as step edge detectors, line edge detectors, junction edge detectors, corner detectors, and roof edge detectors [<xref ref-type="bibr" rid="scirp.88900-ref3">3</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref4">4</xref>]. The edge detectors main work includes smoothing, enhancing and localizing the image edges using the different filters such as the low pass and high pass filters [<xref ref-type="bibr" rid="scirp.88900-ref5">5</xref>].</p><p>Using the different edge detectors’ types requires a number of parameters to be initialized for each type. These parameters are used to define the common features that distinguish between the detectors performance and work [<xref ref-type="bibr" rid="scirp.88900-ref5">5</xref>].</p><p>Working on edge detection requires the design of new precise algorithms to be able to work on various image’s parts. In general, there are two models that are widely used for edge detection, the first one is working on finding the differentiation between the two colors, it is known as the ideal digital edge model, where the second model is working on identifying the edges that counted by moving from one color to another, which is known as ramp digital edge model [<xref ref-type="bibr" rid="scirp.88900-ref6">6</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref7">7</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref8">8</xref>]. We used the second model in this paper.</p><p>In this paper, we used the most popular detector known as a step edge detector, where most of its edges occurred at the time when two constant gray levels of distinct intensities are neighbored. The edge detector works on the concept of receiving a digitized discrete image as input, then analyzing it and producing a map for the edge as an output. These edges may contain important and obvious information about the edge position and strength [<xref ref-type="bibr" rid="scirp.88900-ref9">9</xref>]. The edges detectors can be classified as follows [<xref ref-type="bibr" rid="scirp.88900-ref9">9</xref>] :</p><p>1) Edge detectors that works based on the concept of Differentiation or the early vision like the Gradient method. [<xref ref-type="bibr" rid="scirp.88900-ref10">10</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref11">11</xref>].</p><p>2) Models of parametric fitting that are used by operators [<xref ref-type="bibr" rid="scirp.88900-ref12">12</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref13">13</xref>].</p><p>3) Detectors that work on optimal edges [<xref ref-type="bibr" rid="scirp.88900-ref14">14</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref15">15</xref>].</p><p>4) Multiscale Edge detectors [<xref ref-type="bibr" rid="scirp.88900-ref16">16</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref17">17</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref18">18</xref>].</p><p>This work is an extension of a previous work done by [<xref ref-type="bibr" rid="scirp.88900-ref19">19</xref>]. This paper is organized according to the following format; Section 2 describes the literature review. Section 3 describes the edge detector masks. Section 4 describes the performance evaluation. Section 5 describes the image detection results. Finally, Section 6 presents the conclusion.</p></sec><sec id="s2"><title>2. Literature Review</title><p>Researchers have released numerous edge detection techniques to be used in many applications, such as: Image segmentation, image compression, image enhancement, medical diagnosis, computer vision, etc. [<xref ref-type="bibr" rid="scirp.88900-ref20">20</xref>]. This section is concerned with the evolution of step edge detectors the eldest and the most popular edge detectors were the differentiation operators such as Gradient (such as Sobel, Homogeneity and Prewitt operators) and Laplacian operators [<xref ref-type="bibr" rid="scirp.88900-ref11">11</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref21">21</xref>] proposed thirty years ago. The mask of these operators is fixed to a 3 by 3 cell matrix. Gradient operator is known as a local maxima operator while Laplacian operator is known as zero-crossing operator [<xref ref-type="bibr" rid="scirp.88900-ref2">2</xref>].</p><p>Object detection techniques depends on edge detection algorithms in initial steps, where the type of the edges can help in determine the type of detected object. Therefore, researchers found that edges can be categorized into for types; step edge, ramp edge, ridge/line edge, and roof edge [<xref ref-type="bibr" rid="scirp.88900-ref20">20</xref>]. Moreover, edge detection algorithm can serves as a good initial step to simplify the processed images which reduces the amount of data that need to be processed [<xref ref-type="bibr" rid="scirp.88900-ref22">22</xref>].</p><p>As a very common first order edge detection, Sobel and Prewitt algorithms compute the gradient of the image intensity approximately [<xref ref-type="bibr" rid="scirp.88900-ref20">20</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref23">23</xref>]. Researchers in [<xref ref-type="bibr" rid="scirp.88900-ref20">20</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref23">23</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref24">24</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref25">25</xref>] , benefit from MATLAB tools by implementing Sobel and Prewitt algorithms. Sahoo and Pine in [<xref ref-type="bibr" rid="scirp.88900-ref23">23</xref>] proposed a new design model for Sobel edge detection algorithm to be coded using MATLAB Simulink. The experimental results presented by Adlakha in [<xref ref-type="bibr" rid="scirp.88900-ref20">20</xref>] , shows that the used technique in Prewitt edge detection algorithm is better than the Sobel edge detection technique.</p><p>Zhang et al. in [<xref ref-type="bibr" rid="scirp.88900-ref26">26</xref>] improve the traditional Sobel algorithm to be based on field programmable gate arrays (FPGA) which is enhanced based on FPGA technology. The extended algorithm benefits from the FPGA technology which enhances the performance of improved algorithm according to parallel processing capability and high reliability. Where, the traditional Sobel algorithms were implemented by software. Authors in [<xref ref-type="bibr" rid="scirp.88900-ref19">19</xref>] evaluated the performance of four edge detectors, Sobel, Krish, vertical and horizontal. The comparative results show that the Sobel edge detector performance was better than the Krish vertical and horizontal edge detectors algorithms.</p></sec><sec id="s3"><title>3. Description of Edge Detector Masks</title><sec id="s3_1"><title>3.1. Sobel and Prewitt Edge Detectors</title><p>Three involution masks were used by Sobel, and Prewitt techniques for edge detection purpose named as presumably. These masks were applied to find out the horizontal and vertical image edges using Equation (1) explained below.</p><p>Pixel = sqrt ( pexil − v 1 ∗ pexil − v 1 + pexil − v 2 ∗ pexil − v 2 ) (1)</p><p>Sobel and Prewitt involution masks can be illustrated in <xref ref-type="table" rid="table1">Table 1</xref> and <xref ref-type="table" rid="table2">Table 2</xref>.</p><p>Different edge detector types mean different involution masks. The working of Sobel as an edge detector technique is based on finding the image gradient via</p><table-wrap-group id="1"><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Sobel detector mask. (a) G<sub>n</sub>; (b) G<sub>m</sub></title></caption><table-wrap id="1_1"><caption><title> (b)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >−1</th><th align="center" valign="middle" >−2</th><th align="center" valign="middle" >−1</th></tr></thead><tr><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >1</td></tr></tbody></table></table-wrap><table-wrap id="1_2"><caption><title></title></caption><table><tbody><thead><tr><th align="center" valign="middle" >−1</th><th align="center" valign="middle" >0</th><th align="center" valign="middle" >1</th></tr></thead><tr><td align="center" valign="middle" >−2</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >2</td></tr><tr><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td></tr></tbody></table></table-wrap></table-wrap-group><table-wrap-group id="2"><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Prewitt detector mask. (a) G<sub>n</sub>; (b) G<sub>m</sub></title></caption><table-wrap id="2_1"><caption><title> (b)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >−1</th><th align="center" valign="middle" >−1</th><th align="center" valign="middle" >−1</th></tr></thead><tr><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td></tr></tbody></table></table-wrap><table-wrap id="2_2"><caption><title></title></caption><table><tbody><thead><tr><th align="center" valign="middle" >−1</th><th align="center" valign="middle" >0</th><th align="center" valign="middle" >1</th></tr></thead><tr><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >−1</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >1</td></tr></tbody></table></table-wrap></table-wrap-group><p>computing the discrete differences between rows and columns of 3 &#215; 3 neighborhoods. This is done based on image involution to a tiny, discrete filter with high valued. Moreover, the Sobel edge detector can be implemented on images of very low noise, it has the ability to find out the small edges in the image, and it produces images with less level of noise. <xref ref-type="table" rid="table1">Table 1</xref> shows how the gradient is computed in both directions; vertical (n) and horizontal (m). In a similar way the Prewitt mask works to approximate digitally the first derivatives where the gradient is computed around the vertical (n) and horizontal (m) directions as shown in <xref ref-type="table" rid="table2">Table 2</xref>. Prewitt produce images with a high level of noise. The edge detection filters main work concentrates on discovering and finding the contrast of pixels in the image which is done via different ways. The negative weights applied on one edge, and the positive one applied to the other edge by the involution filters. This means that going towards the zero if the values are same and going upwards if contrast exists.</p><p>These masks were carried out by the detectors via selecting a window of 3 &#215; 3 and multiplying the different pixels values by the mask value, where any increase in any point indicates the presence of an edge or a boundary.</p></sec><sec id="s3_2"><title>3.2. Homogeneity Edge Detector</title><p>Convolution filters can do a different type of beneficial works. However, the minor problem with convolution masks for edge detection is in the unsatisfactory process, which it is as much as unnecessarily expensive. To overcome this problem, we used also the homogeneity algorithm for edge detection, which involves iterating through the image directly and doing several comparisons on neighboring pixels, by treating the resultant values differently to a convolution filter.</p><p>The edge is perceived in the image by conducting changes in the color between two objects, for an edge to be apparent. In other words, if the pixel value is taken and stored as its value indicates the greatest difference between its starting value and the values of its eight neighbors, the result will be a black part of the image because of the similarity between the pixels values. Furthermore, if the threshold is allowed to be a set and the set values below this to 0, then the soft edges are eliminated to whatever degree; the operator desires.</p><p>Using homogeneity algorithm, the edge pixel will have a high value and the non-edge pixel will have a low value. The threshold defined by the user will be applied to the image to mark the edges by using 8 pixels as neighbor on operator mask of 3 &#215; 3.</p></sec></sec><sec id="s4"><title>4. Performance Evaluation</title><p>Evaluating the performance of the edge detector is a very sensitive task that should satisfy the following important points;</p><p>• Real images should be used to compare and evaluate the performance of the edge detectors.</p><p>• The comparison results should be close to the actual resulted edges quality.</p><p>• A visualized system must be used for the evaluation purpose [<xref ref-type="bibr" rid="scirp.88900-ref19">19</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref20">20</xref>].</p><p>The process of detecting an edge can be done either using theoretical evaluation [<xref ref-type="bibr" rid="scirp.88900-ref11">11</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref21">21</xref>] , where the inputs from the detector will be submitted to a simulator of simplified mathematical model to distinguish and measure its performance or by using analysis evaluation [<xref ref-type="bibr" rid="scirp.88900-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.88900-ref22">22</xref>] , where different parameters of an edge algorithm were applied to the image. The performance evaluation is computed according to efficiency of the different algorithms. This technique uses a very simple mathematical model which is more subdivided into either ground truth analysis evaluation [<xref ref-type="bibr" rid="scirp.88900-ref2">2</xref>] or with no ground truth analysis evaluation [<xref ref-type="bibr" rid="scirp.88900-ref11">11</xref>]. This Classification can be shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>.</p><sec id="s4_1"><title>4.1. Subjective Performance Evaluation</title><p>In this research, the subjective evaluation was used to compare the various images. Four real and four synthesis images were used. According to <xref ref-type="table" rid="table3">Table 3</xref>, level of edge discontinuity, the amount of detail in the image and the level of noise in the image are the three different factors that we used in this research to determine the image edge quality. Each of these factors will be given a number from 1 to 5, where 1 is the lowest evaluation and 5 is the highest. Actually, these values are specified by three observers’ specialist in the image field. Everyone should decide separately his evaluation by comparing the original image with the produced one.</p><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Subjective evaluation</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Quality of image</th><th align="center" valign="middle" >Level of edge discontinuity</th><th align="center" valign="middle" >Amount of detail</th><th align="center" valign="middle" >Level of noise</th></tr></thead><tr><td align="center" valign="middle" >Excellent</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td></tr><tr><td align="center" valign="middle" >Very good</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Acceptable</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >3</td></tr><tr><td align="center" valign="middle" >Poor quality</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >2</td></tr><tr><td align="center" valign="middle" >Non-acceptable</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td></tr></tbody></table></table-wrap></sec><sec id="s4_2"><title>4.2. Objective Performance Evaluation</title><p>Detecting an edge in the image is a very important task includes searching and finding the brightness pixels. Therefore, a more practical technique [<xref ref-type="bibr" rid="scirp.88900-ref27">27</xref>] has been developed to reduce the effort required to obtain the estimated ground truth. The proposed technique is addressed in the following phases:</p><p>1) Using the different picturing system to find out the ground truth manually.</p><p>2) Reading directly the edges that resulted from the ground truth.</p><p>3) Implement the required edge detector algorithm on the real image.</p><p>4) Comparing the results from both edges, i.e. the ground truth and the edges resulted from the detectors using Equation (2) by calculating the difference between the both:</p><p>P ( I , l , μ ) = | A ∩ B | A ∪ B | = | A ∩ B | | A | + | B | − | A ∩ B | (2)</p></sec></sec><sec id="s5"><title>5. Images Detection Results</title><p>Different types of images were used in this study, these images were categorized into high, medium and low detailed images. These images are carefully selected taking into consideration to be a rich with details such as curves, lines, and special types of lines as shown in <xref ref-type="fig" rid="fig2">Figure 2</xref> and <xref ref-type="fig" rid="fig3">Figure 3</xref> for both synthesis and real images.</p><sec id="s5_1"><title>5.1. Subjective Images Evaluation Results</title><p>In the subjective evaluation as we explained before the observers judged the image edge quality based on the criteria explained in <xref ref-type="table" rid="table2">Table 2</xref>.</p><sec id="s5_1_1"><title>5.1.1. Synthesis City Image Result</title><p>Sobel, Homogeneity and Prewitt edge detectors were applied to the city image and the result of each one was compared with the original image as shown in <xref ref-type="fig" rid="fig4">Figure 4</xref> and <xref ref-type="table" rid="table4">Table 4</xref>.</p></sec><sec id="s5_1_2"><title>5.1.2. Synthesis Spider Image Result</title><p><xref ref-type="table" rid="table5">Table 5</xref> shows the professionals’ evaluation results. It is based on applying the three edge detectors on the spider image. Moreover, the output images of the three edge detectors were computed and compared with the original image as shown in <xref ref-type="fig" rid="fig5">Figure 5</xref>.</p></sec><sec id="s5_1_3"><title>5.1.3. Synthesis Fahel City Image Result</title><p>The three edge detectors were applied on Fahel city image. <xref ref-type="table" rid="table6">Table 6</xref> shows the professionals’ observation of the produced images. The original image and resulted images are shown in <xref ref-type="fig" rid="fig6">Figure 6</xref>.</p></sec><sec id="s5_1_4"><title>5.1.4. Synthesis Village Map Result</title><p>The original image of the village map with the resulted images is shown in <xref ref-type="fig" rid="fig7">Figure 7</xref>. The resulted images were compared with the original image by the professionals’ observation as shown in <xref ref-type="table" rid="table7">Table 7</xref>.</p><table-wrap id="table4" ><label><xref ref-type="table" rid="table4">Table 4</xref></label><caption><title> City image average assessment table</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector algorithm</th><th align="center" valign="middle" >Level of edge discontinuity</th><th align="center" valign="middle" >Amount of detail</th><th align="center" valign="middle" >Level of noise</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Prewitt</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr></tbody></table></table-wrap><table-wrap id="table5" ><label><xref ref-type="table" rid="table5">Table 5</xref></label><caption><title> Spider image average assessment table</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector algorithm</th><th align="center" valign="middle" >Level of edge discontinuity</th><th align="center" valign="middle" >Amount of detail</th><th align="center" valign="middle" >Level of noise</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >5</td></tr><tr><td align="center" valign="middle" >Prewitt</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr></tbody></table></table-wrap><table-wrap id="table6" ><label><xref ref-type="table" rid="table6">Table 6</xref></label><caption><title> Fahel city image average assessment table</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector algorithm</th><th align="center" valign="middle" >Level of edge discontinuity</th><th align="center" valign="middle" >Amount of detail</th><th align="center" valign="middle" >Level of noise</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Prewitt</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr></tbody></table></table-wrap><table-wrap id="table7" ><label><xref ref-type="table" rid="table7">Table 7</xref></label><caption><title> Village map average assessment table</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector algorithm</th><th align="center" valign="middle" >Level of edge discontinuity</th><th align="center" valign="middle" >Amount of detail</th><th align="center" valign="middle" >Level of noise</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >5</td></tr><tr><td align="center" valign="middle" >Prewitt</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr></tbody></table></table-wrap></sec><sec id="s5_1_5"><title>5.1.5. Real Petra Image Result</title><p>The performance of the edge detectors differs between synthetic and real images, that is; the real images might be considered more complicated than synthetic images in terms of having different granularities of a gray-scaled level. In addition, the noise pertained in the real images is considerably high when compared to the noise in the synthetic images. The historical Petra city was evaluated after applying the three different edge detectors where <xref ref-type="fig" rid="fig8">Figure 8</xref> presents. The professionals’ observation also is presented in <xref ref-type="table" rid="table8">Table 8</xref>.</p></sec><sec id="s5_1_6"><title>5.1.6. Real Jarash Image Result In Jordan</title><p>The resulted images in <xref ref-type="fig" rid="fig9">Figure 9</xref>, from applying the three edge detectors on Jarash real image in Jordan were compared to the original image. <xref ref-type="table" rid="table9">Table 9</xref> presents the professionals’ observation.</p></sec><sec id="s5_1_7"><title>5.1.7. Real Nature Image Result in Jordan</title><p>The results from applying the three edge detectors can be shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>0, and <xref ref-type="table" rid="table1">Table 1</xref>0 shows the professionals’ observation.</p></sec><sec id="s5_1_8"><title>5.1.8. Real Old Hotel Image Result in Jordan</title><p>The result from applying the three edge detectors on an old hotel image in Jordan is shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>1, where <xref ref-type="table" rid="table1">Table 1</xref>1 shows the professionals’ observations.</p></sec></sec><sec id="s5_2"><title>5.2. Objective Tested Images Results</title><p>The objective evaluation of both images’ types is applied to compare the three edge detectors algorithms. The objective evaluation uses the rules explained in Equation 2 to compute the ratio of the number of edges matched between the ground truth image and the images produced from the applied edge detector. Tables below from 12-19 show the performance of the objective.</p><table-wrap id="table8" ><label><xref ref-type="table" rid="table8">Table 8</xref></label><caption><title> Petra city image average assessment table</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector algorithm</th><th align="center" valign="middle" >Level of edge discontinuity</th><th align="center" valign="middle" >Amount of detail</th><th align="center" valign="middle" >Level of noise</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Prewitt</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr></tbody></table></table-wrap><table-wrap id="table9" ><label><xref ref-type="table" rid="table9">Table 9</xref></label><caption><title> Jarash real image average assessment table</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector algorithm</th><th align="center" valign="middle" >Level of edge discontinuity</th><th align="center" valign="middle" >Amount of detail</th><th align="center" valign="middle" >Level of noise</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >3</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Prewitt</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td></tr></tbody></table></table-wrap><table-wrap id="table10" ><label><xref ref-type="table" rid="table1">Table 1</xref>0</label><caption><title> Nature image average assessment table</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector algorithm</th><th align="center" valign="middle" >Level of edge discontinuity</th><th align="center" valign="middle" >Amount of detail</th><th align="center" valign="middle" >Level of noise</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Prewitt</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td></tr></tbody></table></table-wrap><table-wrap id="table11" ><label><xref ref-type="table" rid="table1">Table 1</xref>1</label><caption><title> Real old hotel image average assessment table</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector algorithm</th><th align="center" valign="middle" >Level of edge discontinuity</th><th align="center" valign="middle" >Amount of detail</th><th align="center" valign="middle" >Level of noise</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Prewitt</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr></tbody></table></table-wrap><table-wrap id="table12" ><label><xref ref-type="table" rid="table1">Table 1</xref>2</label><caption><title> City synthesis image objective test</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector name</th><th align="center" valign="middle" >Comparison value</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >0.0064532</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >0.0065413</td></tr><tr><td align="center" valign="middle" >Pewit</td><td align="center" valign="middle" >0.006844</td></tr></tbody></table></table-wrap><table-wrap id="table13" ><label><xref ref-type="table" rid="table1">Table 1</xref>3</label><caption><title> Spider synthesis image objective test</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector name</th><th align="center" valign="middle" >Comparison value</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >0.0303232</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >0.0440221</td></tr><tr><td align="center" valign="middle" >Pewit</td><td align="center" valign="middle" >0.0534121</td></tr></tbody></table></table-wrap><table-wrap id="table14" ><label><xref ref-type="table" rid="table1">Table 1</xref>4</label><caption><title> Fahel synthesis image objective test</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector name</th><th align="center" valign="middle" >Comparison value</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >0.00315461</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >0.00465320</td></tr><tr><td align="center" valign="middle" >Pewit</td><td align="center" valign="middle" >0.00453213</td></tr></tbody></table></table-wrap><table-wrap id="table15" ><label><xref ref-type="table" rid="table1">Table 1</xref>5</label><caption><title> Village synthesis image objective test</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector name</th><th align="center" valign="middle" >Comparison value</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >0.0032484</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >0.0045521</td></tr><tr><td align="center" valign="middle" >Pewit</td><td align="center" valign="middle" >0.0049332</td></tr></tbody></table></table-wrap><table-wrap id="table16" ><label><xref ref-type="table" rid="table1">Table 1</xref>6</label><caption><title> Petra real image objective test</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector name</th><th align="center" valign="middle" >Comparison value</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >0.0054351</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >0.0066432</td></tr><tr><td align="center" valign="middle" >Pewit</td><td align="center" valign="middle" >0.0070324</td></tr></tbody></table></table-wrap><table-wrap id="table17" ><label><xref ref-type="table" rid="table1">Table 1</xref>7</label><caption><title> Jarash real image objective test</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector name</th><th align="center" valign="middle" >Comparison value</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >0.0040282</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >0.0066451</td></tr><tr><td align="center" valign="middle" >Pewit</td><td align="center" valign="middle" >0..006234</td></tr></tbody></table></table-wrap><table-wrap id="table18" ><label><xref ref-type="table" rid="table1">Table 1</xref>8</label><caption><title> Nature real image objective test</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector name</th><th align="center" valign="middle" >Comparison value</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >0.0049541</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >0.0056423</td></tr><tr><td align="center" valign="middle" >Pewit</td><td align="center" valign="middle" >0.0057561</td></tr></tbody></table></table-wrap><table-wrap id="table19" ><label><xref ref-type="table" rid="table1">Table 1</xref>9</label><caption><title> Hotel real image objective test</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Edge detector name</th><th align="center" valign="middle" >Comparison value</th></tr></thead><tr><td align="center" valign="middle" >Sobel</td><td align="center" valign="middle" >0.0050314</td></tr><tr><td align="center" valign="middle" >Homogeneity</td><td align="center" valign="middle" >0.0059842</td></tr><tr><td align="center" valign="middle" >Pewit</td><td align="center" valign="middle" >0.0056235</td></tr></tbody></table></table-wrap></sec></sec><sec id="s6"><title>6. Conclusions</title><p>In this paper, a comparison was implemented between the three edge detectors techniques (Sobel, Homogeneity, and Prewitt) using synthesis and real images. Also, we applied a subjective and objective evaluation of the resulted images for the three edge detectors. The comparison results on the different images show that the Prewitt edge detector performance on synthesis images using subjective evaluation was better than other edge detectors, followed by Homogeneity and Sobel. On the other side, Prewitt edge detector produces images with the highest degree of edge connectivity. Moreover, it shows the highest amount of detail as well as producing images with the lowest degree of noise. For real images, Homogeneity and Prewitt edge detectors have almost a similar performance.</p><p>Using objective evaluation, all the images were also tested again. From the result obtained it was found that Prewitt and Homogeneity performance results are better than the Sobel edge detector results.</p></sec><sec id="s7"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s8"><title>Cite this paper</title><p>Baareh, A.K.M., Al-Jarrah, A., Smadi, A.M. and Shakah, G.H. (2018) Performance Evaluation of Edge Detection Using Sobel, Homogeneity and Prewitt Algorithms. Journal of Software Engineering and Applications, 11, 537-551. https://doi.org/10.4236/jsea.2018.1111032</p></sec></body><back><ref-list><title>References</title><ref id="scirp.88900-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Russell, S.J. and Norvig, P. (2016) Artificial Intelligence: A Modern Approach.</mixed-citation></ref><ref id="scirp.88900-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Bae, S.C., Kweon, I.S. and Yoo, C.D. (2002) COP: A New Corner Detector. Pattern Recognition Letters, 23, 1349-1360. https://doi.org/10.1016/S0167-8655(02)00083-1</mixed-citation></ref><ref id="scirp.88900-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Argialas, D. and Campus, Z. (2000) Comparison of Edge Detection and Hough Transform Techniques for the Extraction of Geologic Features. Image Rochester NY, 34, 790-795.</mixed-citation></ref><ref id="scirp.88900-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Canny, J. (1986) A Computational Approach to Edge Detection. IEEE Transactions on Pattern Analysis and Machine Intelligence.  
https://doi.org/10.1109/TPAMI.1986.4767851</mixed-citation></ref><ref id="scirp.88900-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Ziou, D. and Tabbone, S. (1998) Edge Detection Techniques—An Overview.</mixed-citation></ref><ref id="scirp.88900-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Yen, T. (2003) A Qualitative Profile-Based Approach to Edge Detection. PhD Thesis, September 2003.</mixed-citation></ref><ref id="scirp.88900-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Parker, J.R., Jim, R. and Terzidis, K. (2011) Algorithms for Image Processing and Computer Vision. Wiley Pub.</mixed-citation></ref><ref id="scirp.88900-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Myler, H.R. (1999) Fundamentals of Machine Vision. SPIE Optical Engineering Press.</mixed-citation></ref><ref id="scirp.88900-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Armenakis, C. and Savopol, F. (2004) Image Processing and GIS Tools for Feature and Change Extraction. XXth Congress of the International Society for Photogrammetry and Remote Sensing, Istanbul, Commission IV, WG IV/7, 6.</mixed-citation></ref><ref id="scirp.88900-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Maini, R. and Sohal, J.S. (2006) Performance Evaluation of Prewitt Edge Detector for Noisy Images. International Journal on Graphics, Vision and Image Processing, 6, 39-46.</mixed-citation></ref><ref id="scirp.88900-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Hueckel, M.H. and H., M. (1973) A Local Visual Operator Which Recognizes Edges and Lines. Journal of the ACM, 20, 634-647. https://doi.org/10.1145/321784.321791</mixed-citation></ref><ref id="scirp.88900-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Nalwa, V.S. and Binford, T.O. (1986) On Detecting Edges. IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-8, 699-714.  
https://doi.org/10.1109/TPAMI.1986.4767852</mixed-citation></ref><ref id="scirp.88900-ref13"><label>13</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Roushdy</surname><given-names> M. </given-names></name>,<etal>et al</etal>. (<year>2006</year>)<article-title>Comparative Study of Edge Detection Algorithms Applying on the Grayscale Noisy Image Using Morphological Filter</article-title><source> ICGST-GVIP Journal</source><volume> 6</volume>,<fpage> 17</fpage>-<lpage>23</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.88900-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Tagare, H.D. and de Figueiredo, R.J.P. (1994) Reply to “On the Localization Performance Measure and Optimal Edge Detection”. IEEE Transactions on Pattern Analysis and Machine Intelligence, 16, 108-110. https://doi.org/10.1109/34.273709</mixed-citation></ref><ref id="scirp.88900-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Fram, J.R. and Deutsch, E.S. (1975) On the Quantitative Evaluation of Edge Detection Schemes and Their Comparison with Human Performance. IEEE Transactions on Computers, C-24, 37-42. https://doi.org/10.1109/T-C.1975.224274</mixed-citation></ref><ref id="scirp.88900-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Hou, Z.J. and Wei, G.W. (2002) A New Approach to Edge Detection. Pattern Recognition, 35, 1559-1570. https://doi.org/10.1016/S0031-3203(01)00147-9</mixed-citation></ref><ref id="scirp.88900-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Zheng, S., Liu, J. and Tian, J.W. (2004) A New Efficient SVM-Based Edge Detection Method. Pattern Recognition Letters, 25, 1143-1154.  
https://doi.org/10.1016/j.patrec.2004.03.009</mixed-citation></ref><ref id="scirp.88900-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Bowyer, K., Kranenburg, C. and Dougherty, S. (1999) Edge Detector Evaluation Using Empirical ROC Curves Service Productivity and Value Co-Creation View project Social Acceptance of Autonomous Trucks View Project Edge Detector Evaluation Using Empirical ROC Curves.</mixed-citation></ref><ref id="scirp.88900-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Baareh, A.K.M., Smadi, A.M., Freihat, K. and Al-jarrah, A. (2011) Evaluating the Performance of Edge Detection Techniques through Gradient Method. Engineering, 6, 115-127.</mixed-citation></ref><ref id="scirp.88900-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Adlakha, D., Adlakha, D. and Tanwar, R. (2016) Analytical Comparison between Sobel and Prewitt Edge Detection Techniques. International Journal of Scientific &amp; Engineering Research, 7, 1482-1485.</mixed-citation></ref><ref id="scirp.88900-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Prewitt, J. (1970) Object Enhancement and Extraction. In: Picture Processing and Psychophysics, Elsevier Science, Amsterdam, 75-149.</mixed-citation></ref><ref id="scirp.88900-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Dutta, S. and Chaudhuri, B.B. (2009) A Statistics and Local Homogeneity Based Color Edge Detection Algorithm. International Conference on Advances in Recent Technologies in Communication and Computing, Athens, 29-31 October 2009, 546-548. https://doi.org/10.1109/ARTCom.2009.71</mixed-citation></ref><ref id="scirp.88900-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Sahoo, T. and Pine, S. (2016) Design and Simulation of SOBEL Edge Detection Using MATLAB Simulink. International Research Journal of Engineering and Technology, 3, 2395-2356.</mixed-citation></ref><ref id="scirp.88900-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Acharjya, P.P., Das, R. and Ghoshal, D. (2012) A Study on Image Edge Detection Using the Gradients. International Journal of Scientific and Research Publications, 2, 2-6.</mixed-citation></ref><ref id="scirp.88900-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Shrivakshan, G.T. and Chandrasekar, C. (2012) A Comparison of Various Edge Detection Techniques Used in Image Processing. International Journal of Computer Science Issues, 9, 269-276.</mixed-citation></ref><ref id="scirp.88900-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Zhang, K., Zhang, Y., Wang, P., Tian, Y. and Yang, J. (2018) An Improved Sobel Edge Algorithm and FPGA Implementation an Improved Algorithm and FPGA Implementation. Procedia Computer Science, 131, 243-248.  
https://doi.org/10.1016/j.procs.2018.04.209</mixed-citation></ref><ref id="scirp.88900-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">Wang, S., Ge, F. and Liu, T. (2006) Evaluating Edge Detection through Boundary Detection. EURASIP Journal on Applied Signal Processing, 2006, Article ID: 076278.</mixed-citation></ref></ref-list></back></article>