Advertisement
Guest User

Untitled

a guest
Feb 18th, 2013
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.56 KB | None | 0 0
  1. template< typename Image
  2.         , typename FormatTag
  3.         >
  4. void test_scanline_reader( const char* file_name )
  5. {
  6.     using namespace boost::gil;
  7.  
  8.     // read image using scanline_read_iterator
  9.     typedef scanline_reader< typename get_read_device< const char*
  10.                                                      , FormatTag
  11.                                                      >::type
  12.                            , FormatTag
  13.                            > reader_t;
  14.  
  15.     reader_t reader = make_scanline_reader( file_name, FormatTag() );
  16.  
  17.     Image dst( reader._info._width, reader._info._height );
  18.     vector< byte_t > buffer( reader._scanline_length );
  19.  
  20.     typedef scanline_read_iterator< reader_t > iterator_t;
  21.  
  22.     iterator_t it  = iterator_t( reader, &buffer.front() );
  23.     iterator_t end = iterator_t();
  24.  
  25.     for( int row = 0; it != end; ++it, ++row )
  26.     {
  27.         copy_pixels( interleaved_view( reader._info._width
  28.                                      , 1
  29.                                      , ( typename Image::view_t::x_iterator ) *it
  30.                                      , reader._scanline_length
  31.                                      )
  32.                    , subimage_view( view( dst )
  33.                                   , 0
  34.                                   , row
  35.                                   , reader._info._width
  36.                                   , 1
  37.                                   )
  38.                    );
  39.     }
  40.  
  41.     //compare
  42.     Image img;
  43.     read_image( file_name, img, FormatTag() );
  44.  
  45.     cmp_view( view( dst ), view( img ) );
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement