⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hue.cpp

📁 OpenCV的各类例子
💻 CPP
字号:
#include <cv.h>#include <highgui.h>int main( int argc, char** argv ){    IplImage* src;    if( argc == 2 && (src=cvLoadImage(argv[1], 1))!= 0)    {        IplImage* h_plane = cvCreateImage( cvGetSize(src), 8, 1 );        IplImage* s_plane = cvCreateImage( cvGetSize(src), 8, 1 );        IplImage* v_plane = cvCreateImage( cvGetSize(src), 8, 1 );        IplImage* planes[] = { h_plane, s_plane };        IplImage* hsv = cvCreateImage( cvGetSize(src), 8, 3 );        int h_bins = 30, s_bins = 32;        int hist_size[] = {h_bins, s_bins};        float h_ranges[] = { 0, 180 }; /* hue varies from 0 (~0°red) to 180 (~360°red again) */        float s_ranges[] = { 0, 255 }; /* saturation varies from 0 (black-gray-white) to 255 (pure spectrum color) */        float* ranges[] = { h_ranges, s_ranges };        int scale = 10;        IplImage* hist_img = cvCreateImage( cvSize(h_bins*scale,s_bins*scale), 8, 3 );        CvHistogram* hist;        float max_value = 0;        int h, s;        cvCvtColor( src, hsv, CV_BGR2HSV );        cvCvtPixToPlane( hsv, h_plane, s_plane, v_plane, 0 );        hist = cvCreateHist( 2, hist_size, CV_HIST_ARRAY, ranges, 1 );        cvCalcHist( planes, hist, 0, 0 );        cvGetMinMaxHistValue( hist, 0, &max_value, 0, 0 );        cvZero( hist_img );        for( h = 0; h < h_bins; h++ )        {            for( s = 0; s < s_bins; s++ )            {                float bin_val = cvQueryHistValue_2D( hist, h, s );                int intensity = cvRound(bin_val*255/max_value);                cvRectangle( hist_img, cvPoint( h*scale, s*scale ),                   cvPoint( (h+1)*scale - 1, (s+1)*scale - 1),                   CV_RGB(intensity,intensity,intensity),                              CV_FILLED );            }        }        cvNamedWindow( "Source", 1 );        cvShowImage( "Source", src );        cvNamedWindow( "H-S Histogram", 1 );        cvShowImage( "H-S Histogram", hist_img );        cvWaitKey(0);    }}

⌨️ 快捷键说明

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