00001
00002
00003 #include <stdio.h>
00004 #include <tip.h>
00005
00006
00007
00008
00009
00010
00011
00012 int main(int argc, char **argv)
00013 {
00014
00015 if (argc != 2) {
00016 cout << "Usage: " << argv[0] << " <input_image>" << endl;
00017 exit(0);
00018 }
00019
00020 char l;
00021 IntImage im1, im2, im3, im4;
00022
00023
00024 im1.readImage(argv[1]);
00025 im1.showImage();
00026
00027 ByteKernel k(""), k1("");
00028
00029
00030
00031
00032 Erosion3x3(im1, 11, FOUR, im2);
00033 im2.showImage();
00034 cin >> l;
00035
00036
00037 Dilation3x3(im2, 11, FOUR, im2);
00038 im2.showImage();
00039 cin >> l;
00040
00041
00042 Opening3x3(im1, 11, EIGHT, im2);
00043 im2.showImage();
00044 cin >> l;
00045
00046
00047 Closing3x3(im1, 11, EIGHT, im2);
00048 im2.showImage();
00049
00050
00051
00052 k.readKernel("cross5x5.pgm");
00053
00054
00055 FlatErosion(im1, k, im3);
00056 im3.showImage();
00057
00058
00059 TemplateMatch(im1, k, im4);
00060 im4.showImage();
00061 cin >> l;
00062
00063 k1.readKernel("a2.pgm");
00064
00065
00066 HitOrMiss(im1, k, k1, im4);
00067 im4.showImage();
00068
00069 cin >> l;
00070 im1.closeWindow();
00071 im2.closeWindow();
00072 im3.closeWindow();
00073 im4.closeWindow();
00074 return 1;
00075 }