00001
00002
00003 #ifndef MORPHOP_H
00004 #define MORPHOP_H
00005
00006 #include "misc.h"
00007 #include "Image.h"
00008 #include "ByteKernel.h"
00009
00012 template< class T >
00013 void Erosion(Image< T > &input, ByteKernel &kern, Image< T > &output);
00021 template< class T >
00022 void Dilation(Image< T > &input, ByteKernel &kern, Image< T > &output);
00030 template< class T >
00031 void Opening(Image< T > &input, ByteKernel &kern, Image< T > &output);
00039 template< class T >
00040 void Closing(Image< T > &input, ByteKernel &kern, Image< T > &output);
00048 template< class T >
00049 void FlatErosion(Image< T > &input, ByteKernel &kern, Image< T > &output);
00057 template< class T >
00058 void FlatDilation(Image< T > &input, ByteKernel &kern, Image< T > &output);
00066 template< class T >
00067 void FlatOpening(Image< T > &input, ByteKernel &kern, Image< T > &output);
00075 template< class T >
00076 void FlatClosing(Image< T > &input, ByteKernel &kern, Image< T > &output);
00084 template< class T >
00085 void TopHat(Image< T > &input, ByteKernel &kern, Image< T > &output);
00093 template< class T >
00094 void BottomHat(Image< T > &input, ByteKernel &kern, Image< T > &output);
00102 template< class T >
00103 void HitOrMiss(Image< T > &input, ByteKernel &kern1, ByteKernel &kern2, Image< T > &output);
00113 template< class T >
00114 void TemplateMatch(Image< T > &input, ByteKernel &kern, Image< T > &output);
00122 template< class T >
00123 void Erosion3x3(Image< T > &input, int iter, CONN_TYPE connect, Image< T > &output);
00131 template< class T >
00132 void Dilation3x3(Image< T > &input, int iter, CONN_TYPE connect, Image< T > &output);
00140 template< class T >
00141 void Opening3x3(Image< T > &input, int iter, CONN_TYPE connect, Image< T > &output);
00149 template< class T >
00150 void Closing3x3(Image< T > &input, int iter, CONN_TYPE connect, Image< T > &output);
00158 #endif
00159