libcvd-members
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libcvd-members] libcvd Makefile.in cvd/image_io.h cvd/internal/...


From: Gerhard Reitmayr
Subject: Re: [libcvd-members] libcvd Makefile.in cvd/image_io.h cvd/internal/...
Date: Fri, 22 Apr 2011 15:32:16 +0200

Hi Ed,

I get a missing `pnm_src/bmp_write.o' upon linking, is that a missing source 
file or an old dependency ?

cheers,
  Gerhard

On 20 Apr 2011, at 13:32, Edward Rosten wrote:

> CVSROOT:      /cvsroot/libcvd
> Module name:  libcvd
> Changes by:   Edward Rosten <edrosten>        11/04/20 11:32:58
> 
> Modified files:
>       .              : Makefile.in 
>       cvd            : image_io.h 
>       cvd/internal   : load_and_save.h 
>       cvd/internal/io: bmp.h cvdimage.h fits.h jpeg.h png.h pnm_grok.h 
>                        save_postscript.h text.h tiff.h 
> 
> Log message:
>       Uniform image load/save code now complete.
> 
> CVSWeb URLs:
> http://cvs.savannah.gnu.org/viewcvs/libcvd/Makefile.in?cvsroot=libcvd&r1=1.96&r2=1.97
> http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/image_io.h?cvsroot=libcvd&r1=1.46&r2=1.47
> http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/internal/load_and_save.h?cvsroot=libcvd&r1=1.21&r2=1.22
> http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/internal/io/bmp.h?cvsroot=libcvd&r1=1.9&r2=1.10
> http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/internal/io/cvdimage.h?cvsroot=libcvd&r1=1.4&r2=1.5
> http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/internal/io/fits.h?cvsroot=libcvd&r1=1.6&r2=1.7
> http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/internal/io/jpeg.h?cvsroot=libcvd&r1=1.9&r2=1.10
> http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/internal/io/png.h?cvsroot=libcvd&r1=1.12&r2=1.13
> http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/internal/io/pnm_grok.h?cvsroot=libcvd&r1=1.12&r2=1.13
> http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/internal/io/save_postscript.h?cvsroot=libcvd&r1=1.3&r2=1.4
> http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/internal/io/text.h?cvsroot=libcvd&r1=1.3&r2=1.4
> http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/internal/io/tiff.h?cvsroot=libcvd&r1=1.13&r2=1.14
> 
> Patches:
> Index: Makefile.in
> ===================================================================
> RCS file: /cvsroot/libcvd/libcvd/Makefile.in,v
> retrieving revision 1.96
> retrieving revision 1.97
> diff -u -b -r1.96 -r1.97
> --- Makefile.in       1 Apr 2011 17:18:20 -0000       1.96
> +++ Makefile.in       20 Apr 2011 11:32:58 -0000      1.97
> @@ -98,6 +98,7 @@
>                       pnm_src/pnm_grok.o                              \
>                       pnm_src/bmp.o                                   \
>                       pnm_src/bmp_read.o                              \
> +                     pnm_src/bmp_write.o                             \
>                       pnm_src/cvdimage.o                              \
>                       pnm_src/fits.o                                  \
>                       pnm_src/fitswrite.o                             \
> 
> Index: cvd/image_io.h
> ===================================================================
> RCS file: /cvsroot/libcvd/libcvd/cvd/image_io.h,v
> retrieving revision 1.46
> retrieving revision 1.47
> diff -u -b -r1.46 -r1.47
> --- cvd/image_io.h    1 Apr 2011 17:18:20 -0000       1.46
> +++ cvd/image_io.h    20 Apr 2011 11:32:58 -0000      1.47
> @@ -307,7 +307,7 @@
>                 case ImageType::TIFF: Internal::writeImage<PixelType, 
> TIFF::tiff_writer>(im,o, p); break;
>         #endif
>         case ImageType::FITS: Internal::writeImage<PixelType, 
> FITS::writer>(im,o, p); break;
> -       case ImageType::BMP: BMP::writeBMP(im, o); break;
> +       case ImageType::BMP:  Internal::writeImage<PixelType, 
> BMP::Writer>(im, o, p); break;
>         case ImageType::TXT: Internal::writeImage<PixelType, 
> TEXT::writer>(im, o, p); break;
>         case ImageType::PS:   Internal::writeImage<PixelType, PS::writer>(im, 
> o, p); break;
>         case ImageType::EPS:   Internal::writeImage<PixelType, 
> PS::eps_writer>(im, o, p); break;
> 
> Index: cvd/internal/load_and_save.h
> ===================================================================
> RCS file: /cvsroot/libcvd/libcvd/cvd/internal/load_and_save.h,v
> retrieving revision 1.21
> retrieving revision 1.22
> diff -u -b -r1.21 -r1.22
> --- cvd/internal/load_and_save.h      1 Apr 2011 17:18:20 -0000       1.21
> +++ cvd/internal/load_and_save.h      20 Apr 2011 11:32:58 -0000      1.22
> @@ -312,11 +312,18 @@
>                               ImageWriter w(os, im.size(), 
> CVD::PNM::type_name<OutgoingPixel>::name(), p);
>                               Image<OutgoingPixel> row(ImageRef(im.size().x, 
> 1));
> 
> +                             if(w.top_row_first)
>                               for(int r=0; r < im.size().y; r++)
>                               {
>                                       CVD::Pixel::ConvertPixels<Pixel, 
> OutgoingPixel>::convert(im[r], row.data(), im.size().x);
>                                       w.write_raw_pixel_line(row.data());
>                               }
> +                             else
> +                                     for(int r=im.size().y-1; r >= 0; r--)
> +                                     {
> +                                             
> CVD::Pixel::ConvertPixels<Pixel, OutgoingPixel>::convert(im[r], row.data(), 
> im.size().x);
> +                                             
> w.write_raw_pixel_line(row.data());
> +                                     }
>                       }
>               };
> 
> @@ -325,8 +332,14 @@
>                       static void write(std::ostream& os, const 
> SubImage<Pixel>& im, const std::map<std::string, Parameter<> >& p)
>                       {
>                               ImageWriter w(os, im.size(), 
> CVD::PNM::type_name<Pixel>::name(), p);
> +
> +                             if(w.top_row_first)
>                               for(int r=0; r < im.size().y; r++)
>                                       w.write_raw_pixel_line(im[r]);
> +                             else
> +                                     for(int r=im.size().y-1; r >= 0; r--)
> +                                             w.write_raw_pixel_line(im[r]);
> +
>                       }
>               };
> 
> 
> Index: cvd/internal/io/bmp.h
> ===================================================================
> RCS file: /cvsroot/libcvd/libcvd/cvd/internal/io/bmp.h,v
> retrieving revision 1.9
> retrieving revision 1.10
> diff -u -b -r1.9 -r1.10
> --- cvd/internal/io/bmp.h     1 Apr 2011 17:18:21 -0000       1.9
> +++ cvd/internal/io/bmp.h     20 Apr 2011 11:32:58 -0000      1.10
> @@ -60,7 +60,7 @@
>                       private:
>                               std::auto_ptr<ReadPimpl> t;
>               };
> -/*
> +
>               class WritePimpl;
>               class Writer
>               {
> @@ -76,6 +76,8 @@
>                                       typedef byte type;
>                               };              
> 
> +                             static const int top_row_first=0;
> +
>                       protected:
>                               std::auto_ptr<WritePimpl> t; 
>               };
> @@ -95,61 +97,7 @@
>               {
>                       typedef Rgb<byte> type;
>               };
> -*/
> -
> -             void writeBMPHeader(unsigned int width, unsigned int height, 
> unsigned int channels, std::ostream& out);
> -
> -             template <class T, int Channels> struct BMPWriter;
> -             template <class T> struct BMPWriter<T,1> {
> -                     static void write(const BasicImage<T>& im, 
> std::ostream& out) {
> -                             writeBMPHeader(im.size().x, im.size().y, 1, 
> out);
> -                             int rowSize = im.size().x;
> -                             if (rowSize % 4)
> -                                     rowSize += 4 - (rowSize % 4);
> -                             Internal::simple_vector<byte> rowbuf(rowSize);
> -                             for (int r=im.size().y-1; r>=0; r--) {
> -                                     
> Pixel::ConvertPixels<T,byte>::convert(im[r], &rowbuf[0], im.size().x);
> -                                     out.write((const char*)&rowbuf[0], 
> rowSize);
> -                             }
> -                     }
> -             };
> -             template <> struct BMPWriter<byte,1> {
> -                     static void write(const BasicImage<byte>& im, 
> std::ostream& out) {
> -                             writeBMPHeader(im.size().x, im.size().y, 1, 
> out);
> -                             int pad = (im.size().x % 4) ? (4 - (im.size().x 
> % 4)) : 0;
> -                             char zeros[4]={0,0,0,0};
> -                             for (int r=im.size().y-1; r>=0; r--) {
> -                                     out.write((const char*)im[r], 
> im.size().x);
> -                                     if (pad)
> -                                             out.write(zeros,pad);
> -                             }
> -                     }
> -             };
> -
> -             template <class T> struct BMPWriter<T,3> {
> -                     static void write(const BasicImage<T>& im, 
> std::ostream& out) {
> -                             writeBMPHeader(im.size().x, im.size().y, 3, 
> out);
> -                             int rowSize = im.size().x*3;
> -                             if (rowSize % 4)
> -                                     rowSize += 4 - (rowSize % 4);
> -                             Internal::simple_vector<byte> rowbuf(rowSize);
> -                             for (int r=im.size().y-1; r>=0; r--) {
> -                                     Pixel::ConvertPixels<T,Rgb<byte> 
> >::convert(im[r], (Rgb<byte>*)&rowbuf[0], im.size().x);
> -                                     for (int c=0; c<im.size().x*3; c+=3) {
> -                                             byte tmp = rowbuf[c];
> -                                             rowbuf[c] = rowbuf[c+2];
> -                                             rowbuf[c+2] = tmp;
> -                                     }
> -                                     out.write((const char*)&rowbuf[0], 
> rowSize);
> -                             }
> -                     }
> -             };
> -             template <class T> struct BMPWriterChooser {  enum { channels = 
> 1}; };
> -             template <class T> struct BMPWriterChooser<Rgb<T> > { enum { 
> channels = 3}; };
> 
> -             template <class T> void writeBMP(const BasicImage<T>& im, 
> std::ostream& out) {
> -                     
> BMPWriter<T,BMPWriterChooser<T>::channels>::write(im,out);
> -             }
>       }
> }
> 
> 
> Index: cvd/internal/io/cvdimage.h
> ===================================================================
> RCS file: /cvsroot/libcvd/libcvd/cvd/internal/io/cvdimage.h,v
> retrieving revision 1.4
> retrieving revision 1.5
> diff -u -b -r1.4 -r1.5
> --- cvd/internal/io/cvdimage.h        1 Apr 2011 17:18:21 -0000       1.4
> +++ cvd/internal/io/cvdimage.h        20 Apr 2011 11:32:58 -0000      1.5
> @@ -98,6 +98,7 @@
>                               typedef byte type;
>                       };              
> 
> +                     static const int top_row_first=1;
>               protected:
>                       std::auto_ptr<WritePimpl> t; 
>       };
> 
> Index: cvd/internal/io/fits.h
> ===================================================================
> RCS file: /cvsroot/libcvd/libcvd/cvd/internal/io/fits.h,v
> retrieving revision 1.6
> retrieving revision 1.7
> diff -u -b -r1.6 -r1.7
> --- cvd/internal/io/fits.h    1 Apr 2011 17:18:21 -0000       1.6
> +++ cvd/internal/io/fits.h    20 Apr 2011 11:32:58 -0000      1.7
> @@ -185,6 +185,7 @@
>                               typedef typename 
> ComponentMapper<Incoming>::type type;
>                       };              
> 
> +                     static const int top_row_first=1;
>               private:
>                       WritePimpl* t; 
>       };
> 
> Index: cvd/internal/io/jpeg.h
> ===================================================================
> RCS file: /cvsroot/libcvd/libcvd/cvd/internal/io/jpeg.h,v
> retrieving revision 1.9
> retrieving revision 1.10
> diff -u -b -r1.9 -r1.10
> --- cvd/internal/io/jpeg.h    1 Apr 2011 17:18:21 -0000       1.9
> +++ cvd/internal/io/jpeg.h    20 Apr 2011 11:32:58 -0000      1.10
> @@ -82,6 +82,7 @@
>                               typedef byte type;
>                       };              
> 
> +                     static const int top_row_first=1;
>               protected:
>                       std::auto_ptr<WritePimpl> t; 
>       };
> 
> Index: cvd/internal/io/png.h
> ===================================================================
> RCS file: /cvsroot/libcvd/libcvd/cvd/internal/io/png.h,v
> retrieving revision 1.12
> retrieving revision 1.13
> diff -u -b -r1.12 -r1.13
> --- cvd/internal/io/png.h     1 Apr 2011 17:18:21 -0000       1.12
> +++ cvd/internal/io/png.h     20 Apr 2011 11:32:58 -0000      1.13
> @@ -147,6 +147,8 @@
>               {               
>                       typedef typename ComponentMapper<Incoming>::type type;
>               };              
> +             static const int top_row_first=1;
> +
>       private:
> 
>               template<class P> void write_line(const P*);
> 
> Index: cvd/internal/io/pnm_grok.h
> ===================================================================
> RCS file: /cvsroot/libcvd/libcvd/cvd/internal/io/pnm_grok.h,v
> retrieving revision 1.12
> retrieving revision 1.13
> diff -u -b -r1.12 -r1.13
> --- cvd/internal/io/pnm_grok.h        1 Apr 2011 17:18:21 -0000       1.12
> +++ cvd/internal/io/pnm_grok.h        20 Apr 2011 11:32:58 -0000      1.13
> @@ -100,6 +100,8 @@
>                                                                               
>                  std::numeric_limits<Element>::is_integer &&
>                                                                               
>                  std::numeric_limits<Element>::digits <= 8>::type type;
>                       };              
> +                     static const int top_row_first=1;
> +
>               private:
>                       std::auto_ptr<pnm_writer> p;
>       };
> 
> Index: cvd/internal/io/save_postscript.h
> ===================================================================
> RCS file: /cvsroot/libcvd/libcvd/cvd/internal/io/save_postscript.h,v
> retrieving revision 1.3
> retrieving revision 1.4
> diff -u -b -r1.3 -r1.4
> --- cvd/internal/io/save_postscript.h 21 Mar 2010 19:02:03 -0000      1.3
> +++ cvd/internal/io/save_postscript.h 20 Apr 2011 11:32:58 -0000      1.4
> @@ -52,6 +52,7 @@
>                               typedef byte type;
>                       };              
> 
> +                     static const int top_row_first=0;
>               protected:
>                       std::auto_ptr<WritePimpl> t; 
>       };
> @@ -87,6 +88,7 @@
>                               typedef typename 
> writer::Outgoing<Incoming>::type type;
>                       };              
> 
> +                     static const int top_row_first=1;
>               protected:
>                       std::auto_ptr<WritePimpl> t; 
>       };
> 
> Index: cvd/internal/io/text.h
> ===================================================================
> RCS file: /cvsroot/libcvd/libcvd/cvd/internal/io/text.h,v
> retrieving revision 1.3
> retrieving revision 1.4
> diff -u -b -r1.3 -r1.4
> --- cvd/internal/io/text.h    1 Apr 2011 17:18:21 -0000       1.3
> +++ cvd/internal/io/text.h    20 Apr 2011 11:32:58 -0000      1.4
> @@ -79,6 +79,7 @@
>                               typedef double type;
>                       };              
> 
> +                     static const int top_row_first=1;
>               private:
>                       std::auto_ptr<WritePimpl> t; 
>       };
> 
> Index: cvd/internal/io/tiff.h
> ===================================================================
> RCS file: /cvsroot/libcvd/libcvd/cvd/internal/io/tiff.h,v
> retrieving revision 1.13
> retrieving revision 1.14
> diff -u -b -r1.13 -r1.14
> --- cvd/internal/io/tiff.h    1 Apr 2011 17:18:21 -0000       1.13
> +++ cvd/internal/io/tiff.h    20 Apr 2011 11:32:58 -0000      1.14
> @@ -171,6 +171,7 @@
>                               typedef typename 
> ComponentMapper<Incoming>::type type;
>                       };              
> 
> +                     static const int top_row_first=1;
>               private:
>                       std::auto_ptr<TIFFWritePimpl> t; 
>       };
> 
> _______________________________________________
> libcvd-members mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/libcvd-members

--
Gerhard Reitmayr
Institute for Computer Graphics and Vision
http://www.icg.tugraz.at/Members/gerhard
tel: ++43 316 873 5082






reply via email to

[Prev in Thread] Current Thread [Next in Thread]