histogram.cpp

来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 54 行

CPP
54
字号
/*    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.*//*************************************************************************************************//// \file/// \brief Example file to demonstrate a way to compute histogram/// \author Lubomir Bourdev and Hailin Jin/// \date February 27, 2007#include <algorithm>#include <fstream>#include <boost/gil/image.hpp>#include <boost/gil/typedefs.hpp>#include <boost/gil/color_convert.hpp>#include <boost/gil/extension/io/jpeg_io.hpp>using namespace boost::gil;template <typename GrayView, typename R>void gray_image_hist(const GrayView& img_view, R& hist) {//    for_each_pixel(img_view,++lambda::var(hist)[lambda::_1]);    for (typename GrayView::iterator it=img_view.begin(); it!=img_view.end(); ++it)        ++hist[*it];}template <typename V, typename R>void get_hist(const V& img_view, R& hist) {    gray_image_hist(color_converted_view<gray8_pixel_t>(img_view), hist);}int main() {    rgb8_image_t img;    jpeg_read_image("test.jpg",img);    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;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?