/Src/Dependencies/Boost/libs/gil/example/affine.cpp
http://hadesmem.googlecode.com/ · C++ · 46 lines · 17 code · 9 blank · 20 comment · 0 complexity · d77ce0f3750687d109e3601f2b140c4a MD5 · raw file
- /*
- Copyright 2005-2007 Adobe Systems Incorporated
-
- Use, modification and distribution are subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
- See http://opensource.adobe.com/gil for most recent version including documentation.
- */
- /*************************************************************************************************/
- ///////////////////////
- //// NOTE: This sample file uses the numeric extension, which does not come with the Boost distribution.
- //// You may download it from http://opensource.adobe.com/gil
- ///////////////////////
- /// \file
- /// \brief Test file for resample_pixels() in the numeric extension
- /// \author Lubomir Bourdev and Hailin Jin
- /// \date February 27, 2007
- #include <boost/gil/image.hpp>
- #include <boost/gil/typedefs.hpp>
- #include <boost/gil/extension/io/jpeg_io.hpp>
- #include <boost/gil/extension/numeric/sampler.hpp>
- #include <boost/gil/extension/numeric/resample.hpp>
- int main() {
- using namespace boost::gil;
- rgb8_image_t img;
- jpeg_read_image("test.jpg",img);
- // test resample_pixels
- // Transform the image by an arbitrary affine transformation using nearest-neighbor resampling
- rgb8_image_t transf(rgb8_image_t::point_t(view(img).dimensions()*2));
- fill_pixels(view(transf),rgb8_pixel_t(255,0,0)); // the background is red
- matrix3x2<double> mat = matrix3x2<double>::get_translate(-point2<double>(200,250)) *
- matrix3x2<double>::get_rotate(-15*3.14/180.0);
- resample_pixels(const_view(img), view(transf), mat, nearest_neighbor_sampler());
- jpeg_write_view("out-affine.jpg", view(transf));
- return 0;
- }