From: <ee...@us...> - 2011-07-14 09:14:16
|
Revision: 8085 http://ravl.svn.sourceforge.net/ravl/?rev=8085&view=rev Author: ees1wc Date: 2011-07-14 09:14:04 +0000 (Thu, 14 Jul 2011) Log Message: ----------- Added 16-bit / double RGB png test Modified Paths: -------------- main/Ravl/Image/ExternalImageIO/testExtImgIO.cc Modified: main/Ravl/Image/ExternalImageIO/testExtImgIO.cc =================================================================== --- main/Ravl/Image/ExternalImageIO/testExtImgIO.cc 2011-07-13 17:29:41 UTC (rev 8084) +++ main/Ravl/Image/ExternalImageIO/testExtImgIO.cc 2011-07-14 09:14:04 UTC (rev 8085) @@ -16,13 +16,14 @@ #include "Ravl/DP/FileFormatIO.hh" #include "Ravl/Image/Image.hh" #include "Ravl/Image/ByteRGBValue.hh" +#include "Ravl/Image/UInt16RGBValue.hh" #include "Ravl/DP/MemIO.hh" #include "Ravl/Array2dIter.hh" +#include "Ravl/Image/ImageConv.hh" using namespace RavlImageN; -extern int testImgMemIO(const StringC &formatName,bool isLossy); template<typename PixelT> int testImgMemIO(const StringC &formatName,bool isLossy) { ImageC<PixelT> img(100,100); @@ -63,7 +64,35 @@ } +int test16bitPNG() { + ImageC<UInt16RGBValueC> im1(50,50); + UInt16RGBValueC p(0,0,0); + for (Array2dIterC<UInt16RGBValueC> i(im1); i; ++i) { + *i = p; + p.Red()++; + } + Save("/tmp/tmp.png", im1); + ImageC<RealRGBValueC> im2; + Load("/tmp/tmp.png", im2); + ImageC<UInt16RGBValueC> im3 = RealRGBImageCT2UInt16RGBImageCT(im2); + for (Array2dIterC<UInt16RGBValueC> i(im1-im3); i; ++i) + if (*i != UInt16RGBValueC(0,0,0)) { + cout << i.Index() << " " << *i << endl; + return __LINE__; + } + +// ImageC<ByteRGBValueC> im4; +// Load("/tmp/tmp.png", im4); +// Save("@X", im4); + + return 0; +} + + + + + int main(int argc,char **argv) { int ln; if((ln = testImgMemIO<ByteT>("",false)) != 0) { @@ -82,6 +111,10 @@ std::cerr << "Test failed on line:" << ln << "\n"; return 1; } + if((ln = test16bitPNG()) != 0) { + std::cerr << "Test failed on line:" << ln << "\n"; + return 1; + } std::cout << "Test passed ok. \n"; return 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |