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 + -
显示快捷键?