// // Copyright 2005-2007 Adobe Systems Incorporated // // Distributed under 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 // #include #include #include #include // Example file to demonstrate a way to compute histogram using namespace boost::gil; template void gray_image_hist(GrayView const& img_view, R& hist) { for (auto it = img_view.begin(); it != img_view.end(); ++it) ++hist[*it]; // Alternatively, prefer the algorithm with lambda // for_each_pixel(img_view, [&hist](gray8_pixel_t const& pixel) { // ++hist[pixel]; // }); } template void get_hist(const V& img_view, R& hist) { gray_image_hist(color_converted_view(img_view), hist); } int main() { rgb8_image_t img; read_image("test.jpg", img, jpeg_tag()); int histogram[256]; std::fill(histogram,histogram + 256, 0); get_hist(const_view(img), histogram); std::fstream histo_file("out-histogram.txt", std::ios::out); for(std::size_t ii = 0; ii < 256; ++ii) histo_file << histogram[ii] << std::endl; histo_file.close(); return 0; }