threshold.cpp 1.1 KB

1234567891011121314151617181920212223242526272829
  1. //
  2. // Copyright 2019 Miral Shah <miralshah2211@gmail.com>
  3. //
  4. // Use, modification and distribution are subject to the Boost Software License,
  5. // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  6. // http://www.boost.org/LICENSE_1_0.txt)
  7. //
  8. #include <boost/gil/extension/io/jpeg.hpp>
  9. #include <boost/gil/image_processing/threshold.hpp>
  10. using namespace boost::gil;
  11. int main()
  12. {
  13. rgb8_image_t img;
  14. read_image("test.jpg",img, jpeg_tag{});
  15. rgb8_image_t img_out(img.dimensions());
  16. // performing binary threshold on each channel of the image
  17. // if the pixel value is more than 150 than it will be set to 255 else to 0
  18. boost::gil::threshold_binary(const_view(img), view(img_out), 150, 255);
  19. write_view("out-threshold-binary.jpg", view(img_out), jpeg_tag{});
  20. // if the pixel value is more than 150 than it will be set to 150 else no change
  21. boost::gil::threshold_truncate(const_view(img), view(img_out), 150, threshold_truncate_mode::threshold);
  22. write_view("out-threshold-binary_inv.jpg", view(img_out), jpeg_tag{});
  23. return 0;
  24. }