Boost.GIL: Сборка библиотеки

Тема в разделе "LANGS.C", создана пользователем _DEN_, 9 фев 2010.

  1. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Так получилось, что Boost.GIL "as is" не готов к полноценному использованию, туторы из Boost просто так не собираются. Для комфортной работы нужно немного поработать напильником. Если это вдруг кому-то облегчит жизнь, то вот инструкция по его сборке:

    1. Ставим Boost.
    2. Качаем отсюда libjpeg и собираем.
    3. Качаем отсюда numeric, распаковываем файлы и складываем их в boost/gil/extension/numeric.
    4. Для более комфортной работы нужно научить GIL работать через iostreams. Для этого идем в Boost Vault и качаем gil_iostream.zip. Файлы из архива переписываем поверх в boost/gil/extension/io. Эта функциональность пока что не принята в официальный Boost, но будем надеяться, что это случится в ближайшее время.
    5. В проекте, который юзает GIL, прописываем путь к libjpeg в Additional Include Directories.

    Теперь можно работать:

    Код (Text):
    1. #include <fstream>
    2. #include <boost/gil/image.hpp>
    3. #include <boost/gil/typedefs.hpp>
    4. #include <boost/gil/extension/io/jpeg_io.hpp>
    5. #include <boost/gil/extension/numeric/sampler.hpp>
    6. #include <boost/gil/extension/numeric/resample.hpp>
    7.  
    8. int main()
    9. {
    10.     boost::gil::rgb8_image_t img;
    11.     boost::gil::jpeg_read_image("src.jpg", img); // Здесь вместо имени файла можно дать std::istream&
    12.  
    13.     boost::gil::rgb8_image_t rescaled(100, 100);
    14.     boost::gil::resize_view(boost::gil::const_view(img), boost::gil::view(rescaled), boost::gil::bilinear_sampler());
    15.     boost::gil::jpeg_write_view("dst.jpg", boost::gil::const_view(rescaled)); // Здесь вместо имени файла можно дать std::ostream&
    16.  
    17.     return 0;
    18. }
     
  2. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Мне вообще boost.GIL не нравится. Я в своё время выбрал OpenCV.
     
  3. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    W4FhLF

    Этот топик для тех, кому он нравится, Кэп :derisive:
     
  4. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Насчет iostreams я поторопился - эта функциональность еще слишком сырая и на данный момент к использованию не готова :-(