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/io/tiff/load.hh>
00028 
00029 #include <mln/data/compare.hh>
00030 
00031 #include <mln/value/int_u8.hh>
00032 #include <mln/value/rgb8.hh>
00033 
00034 #include "tests/data.hh"
00035 
00036 #include <mln/debug/println.hh>
00037 
00038 using mln::value::rgb8;
00039 using mln::value::int_u8;
00040 
00041 rgb8 ref_rgb[6][6] = { { rgb8(0,0,0), rgb8(255,255,255), rgb8(255,255,255), rgb8(255,255,255), rgb8(255,246,0), rgb8(0,0,0) },
00042                        { rgb8(255,255,255), rgb8(0,0,0), rgb8(255,255,255), rgb8(255,255,255), rgb8(255,255,255), rgb8(0,0,0) },
00043                        { rgb8(0,255,48), rgb8(255,255,255), rgb8(255,0,0), rgb8(255,255,255), rgb8(0,255,246), rgb8(0,0,0) },
00044                        { rgb8(255,255,255), rgb8(255,255,255), rgb8(255,255,255), rgb8(0,0,0), rgb8(255,255,255), rgb8(0,0,0) },
00045                        { rgb8(42,0,255), rgb8(255,255,255), rgb8(255,255,255), rgb8(255,255,255), rgb8(0,0,0), rgb8(0,0,0) },
00046                        { rgb8(0,0,0), rgb8(0,0,0), rgb8(0,0,0), rgb8(0,0,0), rgb8(0,0,0), rgb8(0,0,0) } };
00047 
00048 int_u8 ref_gl[6][6] = { {   0, 255, 255, 255, 230, 0 },
00049                         { 255,   0, 255, 255, 255, 0 },
00050                         { 186, 255,  54, 255, 200, 0 },
00051                         { 255, 255, 255,   0, 255, 0 },
00052                         {  27, 255, 255, 255,   0, 0 },
00053                         {   0,   0,   0,   0,   0, 0 } };
00054 
00055 bool ref_bw[6][6] = { { 0, 1, 1, 1, 1, 0 },
00056                       { 1, 0, 1, 1, 1, 0 },
00057                       { 1, 1, 0, 1, 1, 0 },
00058                       { 1, 1, 1, 0, 1, 0 },
00059                       { 0, 1, 1, 1, 0, 0 },
00060                       { 0, 0, 0, 0, 0, 0 } };
00061 
00062 
00063 int main()
00064 {
00065   using namespace mln;
00066   using namespace mln::value;
00067 
00069   {
00070     image2d<rgb8> ref = make::image(ref_rgb);
00071     image2d<rgb8> pic;
00072     io::tiff::load(pic, MLN_TESTS_IMG_DIR "/test_rgb8.tif");
00073     mln_assertion(pic == ref);
00074   }
00075 
00076   {
00077     image2d<int_u8> ref = make::image(ref_gl);
00078     image2d<int_u8> pic;
00079     io::tiff::load(pic, MLN_TESTS_IMG_DIR "/test_gl.tif");
00080     mln_assertion(pic == ref);
00081   }
00082 
00083   {
00084     image2d<bool> ref = make::image(ref_bw);
00085     image2d<bool> pic;
00086     io::tiff::load(pic, MLN_TESTS_IMG_DIR "/test_bw.tif");
00087     mln_assertion(pic == ref);
00088   }
00089 
00090 }