Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version

A Framework in C# for Fingerprint Verification

, , , , 3 Dec 2014 CPOL
In this article, we introduce a framework in C# for fingerprint verification, we briefly explain how to perform fingerprint verification experiments and how to integrate your algorithms to the framework.
fingerprintrecognition.zip
FingerprintRecognition
FingerprintRecognition.suo
FR.Core
FR.Core.csproj.user
Properties
FR.FeatureDisplay
Properties
Settings.settings
FR.FVCExperimenter
Properties
Settings.settings
FR.FVCExperiments
Properties
FR.Jiang2000
Properties
FR.Parziale2004
Properties
FR.Qi2005
Properties
FR.Ratha1995
Properties
FR.Tico2003
Properties
ImageProcessingTools
ConvolutionFilters
Properties
ROC
Properties
ROC.csproj.user
ROCBuilders
FingerprintRecognition_v2.2.zip
FingerprintRecognition v2.2
FingerprintRecognition.sln.DotSettings.user
FingerprintRecognition.v11.suo
FR.Core
ClassDiagram1.cd
ClassDiagram2.cd
FR.Core.csproj.user
Properties
FR.FeatureDisplay
FR.FeatureDisplay.csproj.user
Properties
Settings.settings
FR.FMExperimenter
FR.FMExperimenter.csproj.user
Properties
Settings.settings
FR.FVCExperiments
FR.FVCExperiments.csproj.user
Properties
FR.Jiang2000
FR.Jiang2000.csproj.user
Properties
FR.Medina2011
FR.Medina2011.csproj.user
Properties
FR.Medina2012
FR.Medina2012.csproj.user
Properties
FR.Parziale2004
FR.Parziale2004.csproj.user
Properties
FR.Qi2005
FR.Qi2005.csproj.user
Properties
FR.Ratha1995
FR.Ratha1995.csproj.user
Properties
FR.Sherlock1994
Properties
FR.Tico2003
FR.Tico2003.csproj.user
Properties
ImageProcessingTools
bin
Release
ConvolutionFilters
ImageProcessingTools.csproj.user
Properties
ROC
bin
Release
Properties
ROC.csproj.user
ROCBuilders
SHullDelaunayTriangulation
bin
Release
Properties
SHullDelaunayTriangulation.csproj.user
help.zip
Help
bc_s.png
bdwn.png
class_image_processing_tools_1_1_convolution_filter.png
class_image_processing_tools_1_1_gaussian_blur.png
class_image_processing_tools_1_1_sobel_horizontal_filter.png
class_image_processing_tools_1_1_sobel_vertical_filter.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_feature_display-g.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_feature_extractor-g.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_fingerprint_image_provider.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_matcher-g.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_resource_provider-g.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2000___d_b1___b.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2000___d_b2___b.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2000___d_b3___b.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2000___d_b4___b.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2002___d_b1_a.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2002___d_b1___b.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2002___d_b2_a.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2002___d_b2___b.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2002___d_b3_a.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2002___d_b3___b.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2002___d_b4_a.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2002___d_b4___b.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2004___d_b1___a.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2004___d_b1___b.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2004___d_b2___a.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2004___d_b2___b.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2004___d_b3___a.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2004___d_b3___b.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2004___d_b4___a.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2004___d_b4___b.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c2004___d_b___a.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_experiments_1_1_f_v_c___d_b___b.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_feature_display_1_1_orientation_image_display.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_feature_display_1_1_skeleton_image_display.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_feature_extractors_1_1_dalaunay_m_tps_extractor.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_feature_extractors_1_1_j_y_feature_extractor.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_feature_extractors_1_1_p_n_feature_extractor.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_feature_extractors_1_1_qi2005_feature_extractor.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_feature_extractors_1_1_ratha1995_or_img_extractor.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_feature_extractors_1_1_ratha1995_ske_img_extractor.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_feature_extractors_1_1_sherlock1994_or_img_extractor.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_feature_extractors_1_1_tico2003_feature_extractor.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_matchers_1_1_j_y.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_matchers_1_1_m_j_y.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_matchers_1_1_m_p_n.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_matchers_1_1_m_q_y_w.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_matchers_1_1_m_t_k.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_matchers_1_1_p_n.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_matchers_1_1_q_y_w.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_matchers_1_1_t_k.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_matchers_1_1_w_l_c.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_resource_providers_1_1_delaunay_mtps_provider.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_resource_providers_1_1_j_y_features_provider.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_resource_providers_1_1_orientation_image_provider.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_resource_providers_1_1_p_n_feature_provider.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_resource_providers_1_1_qi2005_feature_provider.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_resource_providers_1_1_skeleton_image_provider.png
class_pattern_recognition_1_1_fingerprint_recognition_1_1_resource_providers_1_1_tico2003_feature_provider.png
class_pattern_recognition_1_1_r_o_c_1_1_f_n_m_rvs_f_m_r.png
class_pattern_recognition_1_1_r_o_c_1_1_t_p_rvs_f_p_r.png
closed.png
doxygen.png
ftv2blank.png
ftv2cl.png
ftv2doc.png
ftv2folderclosed.png
ftv2folderopen.png
ftv2lastnode.png
ftv2link.png
ftv2mlastnode.png
ftv2mnode.png
ftv2mo.png
ftv2node.png
ftv2ns.png
ftv2plastnode.png
ftv2pnode.png
ftv2splitbar.png
ftv2vertline.png
interface_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_i_experiment.png
interface_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_i_feature_display-g.png
interface_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_i_feature_display.png
interface_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_i_feature_extractor-g.png
interface_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_i_feature_extractor.png
interface_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_i_f_v_c_matching_experiment.png
interface_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_i_matcher-g.png
interface_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_i_matcher.png
interface_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_i_minutia_matcher.png
interface_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_i_resource_provider-g.png
interface_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_i_resource_provider.png
interface_pattern_recognition_1_1_r_o_c_1_1_i_r_o_c_builder.png
nav_f.png
nav_g.png
nav_h.png
open.png
search
close.png
mag_sel.png
search_l.png
search_m.png
search_r.png
tab_a.png
tab_b.png
tab_h.png
tab_s.png
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>FingerprintRecognition: ImageProcessingTools.ConvolutionFilter Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">FingerprintRecognition
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_image_processing_tools_1_1_convolution_filter.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Events</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#properties">Properties</a>  </div>
  <div class="headertitle">
<div class="title">ImageProcessingTools.ConvolutionFilter Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Represents a convolution filter.  
 <a href="class_image_processing_tools_1_1_convolution_filter.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for ImageProcessingTools.ConvolutionFilter:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_image_processing_tools_1_1_convolution_filter.png" usemap="#ImageProcessingTools.ConvolutionFilter_map" alt=""/>
  <map id="ImageProcessingTools.ConvolutionFilter_map" name="ImageProcessingTools.ConvolutionFilter_map">
<area href="class_image_processing_tools_1_1_gaussian_blur.html" alt="ImageProcessingTools.GaussianBlur" shape="rect" coords="0,56,260,80"/>
<area href="class_image_processing_tools_1_1_sobel_horizontal_filter.html" title="A 3x3 Sobel filter for horizontal edge detection." alt="ImageProcessingTools.SobelHorizontalFilter" shape="rect" coords="270,56,530,80"/>
<area href="class_image_processing_tools_1_1_sobel_vertical_filter.html" title="A 3x3 Sobel filter for vertical edge detection." alt="ImageProcessingTools.SobelVerticalFilter" shape="rect" coords="540,56,800,80"/>
</map>
 </div></div>

<p><a href="class_image_processing_tools_1_1_convolution_filter-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a07df919a825c2e56890227dbebd9a164"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_image_processing_tools_1_1_convolution_filter.html#a07df919a825c2e56890227dbebd9a164">ConvolutionFilter</a> (int width, int height, int factor)</td></tr>
<tr class="memdesc:a07df919a825c2e56890227dbebd9a164"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a <a class="el" href="class_image_processing_tools_1_1_convolution_filter.html" title="Represents a convolution filter.">ConvolutionFilter</a> with the specified width, height and factor.  <a href="#a07df919a825c2e56890227dbebd9a164"></a><br/></td></tr>
<tr class="memitem:a641af1adb7b280fcea011644cfdb2425"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_image_processing_tools_1_1_image_matrix.html">ImageMatrix</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_image_processing_tools_1_1_convolution_filter.html#a641af1adb7b280fcea011644cfdb2425">Apply</a> (<a class="el" href="class_image_processing_tools_1_1_image_matrix.html">ImageMatrix</a> img)</td></tr>
<tr class="memdesc:a641af1adb7b280fcea011644cfdb2425"><td class="mdescLeft">&#160;</td><td class="mdescRight">Applies the current convolution filter to the specified <a class="el" href="class_image_processing_tools_1_1_image_matrix.html" title="A class to represent a gray scale image using a matrix.">ImageMatrix</a>.  <a href="#a641af1adb7b280fcea011644cfdb2425"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a8e392d752ef8c64d945c6d32de670b51"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_image_processing_tools_1_1_convolution_filter.html#a8e392d752ef8c64d945c6d32de670b51">ConvolutionFilter</a> ()</td></tr>
<tr class="memdesc:a8e392d752ef8c64d945c6d32de670b51"><td class="mdescLeft">&#160;</td><td class="mdescRight">A base constructor to be used in concrete classes.  <a href="#a8e392d752ef8c64d945c6d32de670b51"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a3f9a2a32bad42ed07b2a472c75cd1140"><td class="memItemLeft" align="right" valign="top">int[,]&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_image_processing_tools_1_1_convolution_filter.html#a3f9a2a32bad42ed07b2a472c75cd1140">pixels</a></td></tr>
<tr class="memdesc:a3f9a2a32bad42ed07b2a472c75cd1140"><td class="mdescLeft">&#160;</td><td class="mdescRight">The matrix of the filter.  <a href="#a3f9a2a32bad42ed07b2a472c75cd1140"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a386e9e770b2ab3c3c2c072c1b1357e6f"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_image_processing_tools_1_1_convolution_filter.html#a386e9e770b2ab3c3c2c072c1b1357e6f">this[int row, int column]</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a386e9e770b2ab3c3c2c072c1b1357e6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets the value of a pixel in the filter.  <a href="#a386e9e770b2ab3c3c2c072c1b1357e6f"></a><br/></td></tr>
<tr class="memitem:afd201a517a241fa1ec49ad050bb5b026"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_image_processing_tools_1_1_convolution_filter.html#afd201a517a241fa1ec49ad050bb5b026">Height</a><code> [get, set]</code></td></tr>
<tr class="memdesc:afd201a517a241fa1ec49ad050bb5b026"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the height of the filter.  <a href="#afd201a517a241fa1ec49ad050bb5b026"></a><br/></td></tr>
<tr class="memitem:a1e948c19acff5e1b85bbd2c4550c6308"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_image_processing_tools_1_1_convolution_filter.html#a1e948c19acff5e1b85bbd2c4550c6308">Width</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a1e948c19acff5e1b85bbd2c4550c6308"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the width of the filter.  <a href="#a1e948c19acff5e1b85bbd2c4550c6308"></a><br/></td></tr>
<tr class="memitem:ad6dc280de472324bee0862cb2d2e518d"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_image_processing_tools_1_1_convolution_filter.html#ad6dc280de472324bee0862cb2d2e518d">Factor</a><code> [get, set]</code></td></tr>
<tr class="memdesc:ad6dc280de472324bee0862cb2d2e518d"><td class="mdescLeft">&#160;</td><td class="mdescRight">A factor to divide the value before assigning to the pixel.  <a href="#ad6dc280de472324bee0862cb2d2e518d"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Represents a convolution filter. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a07df919a825c2e56890227dbebd9a164"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ImageProcessingTools.ConvolutionFilter.ConvolutionFilter </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>factor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize a <a class="el" href="class_image_processing_tools_1_1_convolution_filter.html" title="Represents a convolution filter.">ConvolutionFilter</a> with the specified width, height and factor. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">width</td><td>The width of the filter.</td></tr>
    <tr><td class="paramname">height</td><td>The height of the filter.</td></tr>
    <tr><td class="paramname">factor</td><td>The factor to divide the value before assigining to the pixel.</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions:</dt><dd>
  <table class="exception">
    <tr><td class="paramname">ArgumentOutOfRangeException</td><td>Thrown when the specified with or height are not an odd number.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8e392d752ef8c64d945c6d32de670b51"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ImageProcessingTools.ConvolutionFilter.ConvolutionFilter </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A base constructor to be used in concrete classes. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a641af1adb7b280fcea011644cfdb2425"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_image_processing_tools_1_1_image_matrix.html">ImageMatrix</a> ImageProcessingTools.ConvolutionFilter.Apply </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_image_processing_tools_1_1_image_matrix.html">ImageMatrix</a>&#160;</td>
          <td class="paramname"><em>img</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Applies the current convolution filter to the specified <a class="el" href="class_image_processing_tools_1_1_image_matrix.html" title="A class to represent a gray scale image using a matrix.">ImageMatrix</a>. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">img</td><td>The <a class="el" href="class_image_processing_tools_1_1_image_matrix.html" title="A class to represent a gray scale image using a matrix.">ImageMatrix</a> where the convolution filter will be applied. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>A new <a class="el" href="class_image_processing_tools_1_1_image_matrix.html" title="A class to represent a gray scale image using a matrix.">ImageMatrix</a> resulting from applying the current filter to the specified <a class="el" href="class_image_processing_tools_1_1_image_matrix.html" title="A class to represent a gray scale image using a matrix.">ImageMatrix</a>. </dd></dl>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a3f9a2a32bad42ed07b2a472c75cd1140"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int [,] ImageProcessingTools.ConvolutionFilter.pixels</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The matrix of the filter. </p>

</div>
</div>
<hr/><h2>Property Documentation</h2>
<a class="anchor" id="ad6dc280de472324bee0862cb2d2e518d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int ImageProcessingTools.ConvolutionFilter.Factor</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A factor to divide the value before assigning to the pixel. </p>

<p>Reimplemented in <a class="el" href="class_image_processing_tools_1_1_sobel_horizontal_filter.html#a99f77b26280f3540013c320d45b27445">ImageProcessingTools.SobelHorizontalFilter</a>, <a class="el" href="class_image_processing_tools_1_1_sobel_vertical_filter.html#a33d870fbf1f4e1fe82bedfa49756c7fe">ImageProcessingTools.SobelVerticalFilter</a>, and <a class="el" href="class_image_processing_tools_1_1_gaussian_blur.html#a1c05ecf1f6dbc0ceedd7dd74cc095fe8">ImageProcessingTools.GaussianBlur</a>.</p>

</div>
</div>
<a class="anchor" id="afd201a517a241fa1ec49ad050bb5b026"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int ImageProcessingTools.ConvolutionFilter.Height</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the height of the filter. </p>

<p>Reimplemented in <a class="el" href="class_image_processing_tools_1_1_sobel_horizontal_filter.html#a5ebb24e3c2cfc8a0ad17ec996f76fa71">ImageProcessingTools.SobelHorizontalFilter</a>, <a class="el" href="class_image_processing_tools_1_1_sobel_vertical_filter.html#a784d7a0541da2af0485f930f33add9fe">ImageProcessingTools.SobelVerticalFilter</a>, and <a class="el" href="class_image_processing_tools_1_1_gaussian_blur.html#a08d864e55e6d7fb1ae45cd58675ae468">ImageProcessingTools.GaussianBlur</a>.</p>

</div>
</div>
<a class="anchor" id="a386e9e770b2ab3c3c2c072c1b1357e6f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int ImageProcessingTools.ConvolutionFilter.this[int row, int column]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets or sets the value of a pixel in the filter. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">row</td><td>The row of the specified pixel.</td></tr>
    <tr><td class="paramname">column</td><td>The column of the specified pixel.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The value of the filter in the specified pixel.</dd></dl>

</div>
</div>
<a class="anchor" id="a1e948c19acff5e1b85bbd2c4550c6308"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int ImageProcessingTools.ConvolutionFilter.Width</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the width of the filter. </p>

<p>Reimplemented in <a class="el" href="class_image_processing_tools_1_1_sobel_horizontal_filter.html#a3f092515d5fabd9515e2790125206ced">ImageProcessingTools.SobelHorizontalFilter</a>, <a class="el" href="class_image_processing_tools_1_1_sobel_vertical_filter.html#a018b1f45274df59685633002718d094a">ImageProcessingTools.SobelVerticalFilter</a>, and <a class="el" href="class_image_processing_tools_1_1_gaussian_blur.html#a3b6c792d6aaec74c9cf14b84c771eb7f">ImageProcessingTools.GaussianBlur</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>D:/Migue/Code/FingerprintRecognition/CodeProject/[2012-05-16] FingerprintRecognition/FingerprintRecognition/ImageProcessingTools/ConvolutionFilter.cs</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_image_processing_tools.html">ImageProcessingTools</a></li><li class="navelem"><a class="el" href="class_image_processing_tools_1_1_convolution_filter.html">ConvolutionFilter</a></li>
    <li class="footer">Generated on Mon May 21 2012 20:06:33 for FingerprintRecognition by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1 </li>
  </ul>
</div>
</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Authors

Octavio Loyola González received the B.S. and M.S. degrees from the University of Ciego de Ávila, Cuba, in 2010 and 2012 respectively. He is a PhD student at Instituto Nacional de Astrofísica, Óptica y Electrónica (México). His research interests include pattern recognition, fingerprint recognition, and data mining in imbalanced databases.
 
Relevant papers:
 
- J.C. Lorenzo,M. Varela, M. Hernández, A. Gutiérrez, A. Pérez, O. Loyola González, “Integrated criteria to identify the best treatment in plant biotechnology experiments”, Acta Physiologia Plantarum, 2013, pp. 1-4.
 
- O. Loyola-González, M. García-Borroto, M. A. Medina-Pérez, J. F. Martínez-Trinidad, J. A. Carrasco-Ochoa, and G. De Ita, “An Empirical Study of Oversampling and Undersampling Methods for LCMine an Emerging Pattern Based Classifier,” in 5th Mexican Conference on Pattern Recognition MCPR2013, Springer LNCS 7914,2013, pp. 264–273.
 
- Loyola González, Octavio; Gutiérrez, Andrés E.; García, Milton. "Inducción de árboles de decisión: Inducción de árboles de decisión basada en índices de validación de clúster", Editorial Académica Española. Academic Publishing GmbH & Co. KG. ISBN: 978-3-659-00468-1. 2012, pp. 1-88.

Miguel Angel Medina Pérez received the B.S. and M.S. degrees from the University of Ciego de Ávila, Cuba, in 2007. He is a PhD student at the National Institute of Astrophysics, Optics and Electronics (México). His research interests include pattern recognition and fingerprint recognition.
 
https://sites.google.com/site/miguelmedinaperez/

Andres Eduardo Gutierrez Rodriguez is graduated from Las Villas Central University, Cuba, in 2006. He received the M.S. degree in 2009 from the University of Ciego de Ávila, Cuba. His research interests are pattern recognition and biometry.
 
Relevant papers:
 
-M. A. Medina-Pérez, A. Gutiérrez-Rodríguez, and M. García-Borroto, "Improving Fingerprint Matching Using an Orientation-Based Minutia Descriptor," Lecture Notes in Computer Science, vol. 5856, pp. 121-128, 2009.
-A. E. Gutierrez-Rodriguez, M. A. Medina-Perez, J. F. Martinez-Trinidad, J. A. Carrasco-Ochoa, and M. Garcia-Borroto, "New Dissimilarity Measures for Ultraviolet Spectra Identification," Lecture Notes in Computer Science, vol. 6256, pp. 220-229, 2010.

Milton García-Borroto is graduated from Las Villas Central University, Cuba, in 2000. He received the M.S. degree in 2007 from the National Institute of Astrophisics, Optics and Electronics, Mexico, where he continues his studies toward a Ph.D. degree. His research interests are pattern recognition and biometry.
 
Relevant papers:
1. M. García-Borroto, J. F. Martinez Trinidad, J. A. Carrasco Ochoa, M. A. Medina-Pérez, and J. Ruiz-Shulcloper. LCMine: An efficient algorithm for mining discriminative regularities and its application in supervised classification. Pattern Recognition vol. 43, pp. 3025-3034, 2010.
2. M. García-Borroto, J. F. Martinez Trinidad, J. A. Carrasco Ochoa. A New Emerging Pattern Mining Algorithm and Its Application in Supervised Classification. M.J. Zaki et al. (Eds.): PAKDD 2010, Part I, Lecture Notes in Artificial Intelligence, vol. 6118, pp. 150–157, 2010.
3. M. A. Medina-Pérez, A. Gutiérrez-Rodríguez, and M. García-Borroto, "Improving Fingerprint Matching Using an Orientation-Based Minutia Descriptor," Lecture Notes in Computer Science, vol. 5856, pp. 121-128, 2009.
4. M. García-Borroto, Y. Villuendas-Rey, J. A. Carrasco-Ochoa, and J. F. Martínez-Trinidad, "Finding Small Consistent Subset for the Nearest Neighbor Classifier Based on Support Graphs," Lecture Notes in Computer Science, vol. 5856, pp. 465-472, 2009.
5. M. García-Borroto, Y. Villuendas-Rey, J. A. Carrasco-Ochoa, and J. F. Martínez-Trinidad, "Using Maximum Similarity Graphs to Edit Nearest Neighbor Classifiers," Lecture Notes in Computer Science, vol. 5856, pp. 489-496, 2009.
6. M. A. Medina-Pérez, M. García-Borroto, and J. Ruiz-Shulcloper, "Object Selection Based on Subclass Error Correcting for ALVOT," Lecture Notes in Computer Science, vol. 4756, pp. 496-505, 2007.

| Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.150326.1 | Last Updated 3 Dec 2014
Article Copyright 2010 by Octavio Loyola-González, Miguel Angel Medina Pérez, Andres Eduardo Gutierrez Rodriguez, Milton García Borroto
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid