00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 #include <mln/core/image/image2d.hh>
00027 #include <mln/core/image/image3d.hh>
00028 #include <mln/core/routine/duplicate.hh>
00029 
00030 #include <mln/value/int_u8.hh>
00031 
00032 #include <mln/io/pgm/load.hh>
00033 #include <mln/io/pgm/save.hh>
00034 
00035 #include <mln/data/compare.hh>
00036 
00037 #include <mln/literal/colors.hh>
00038 
00039 #include "tests/data.hh"
00040 
00041 
00042 int main()
00043 {
00044   using namespace mln;
00045   using value::int_u8;
00046 
00047   image2d<int_u8> lena_raw;
00048   io::pgm::load(lena_raw, MLN_TESTS_IMG_DIR "/lena_raw.pgm");
00049 
00050   {
00051     image2d<unsigned char> lena_ascii;
00052     io::pgm::load(lena_ascii, MLN_TESTS_IMG_DIR "/lena_ascii.pgm");
00053     mln_assertion(lena_raw == lena_ascii);
00054   }
00055   {
00056     image2d<unsigned char> lena_ascii;
00057     io::pgm::load(lena_ascii, MLN_TESTS_IMG_DIR "/lena_ascii.pgm");
00058     io::pgm::save(lena_ascii, "pgm_ascii-out.pgm");
00059 
00060     image2d<unsigned char> out;
00061     io::pgm::load(out, "pgm_ascii-out.pgm");
00062 
00063     mln_assertion(out == lena_ascii);
00064     mln_assertion(lena_raw == out);
00065   }
00066 
00067 
00068 
00069   {
00070     image2d<int_u8> lena_ascii;
00071     io::pgm::load(lena_ascii, MLN_TESTS_IMG_DIR "/lena_ascii.pgm");
00072     mln_assertion(lena_raw == lena_ascii);
00073   }
00074   {
00075     image2d<int_u8> lena_ascii;
00076     io::pgm::load(lena_ascii, MLN_TESTS_IMG_DIR "/lena_ascii.pgm");
00077     io::pgm::save(lena_ascii, "pgm_ascii-out2.pgm");
00078 
00079     image2d<unsigned char> out;
00080     io::pgm::load(out, "pgm_ascii-out2.pgm");
00081 
00082     mln_assertion(out == lena_ascii);
00083     mln_assertion(lena_raw == out);
00084   }
00085 
00086 }