zoukankan      html  css  js  c++  java
  • 画出直方图

     1 // 画出直方图分布
     2 void saveHistogram(CvHistogram* hist)
     3 {
     4     if(!hist) return;
     5     if(hist->mat.dim->size<=0) return;
     6     int scale = 2;
     7     int hist_height = 300;
     8     IplImage* hist_image = cvCreateImage(cvSize(hist->mat.dim->size*scale,hist_height),8,3);
     9     cvZero(hist_image);
    10  
    11     float max_value = 0;
    12     cvGetMinMaxHistValue(hist, 0,&max_value,0,0);
    13     for(int i=0;i<hist->mat.dim->size;i++)
    14     {
    15         float bin_val = cvQueryHistValue_1D(hist,i);
    16         int intensity = cvRound(bin_val*(hist_height-50)/max_value);
    17         // cvRectangle  cvLine
    18         cvRectangle(
    19             hist_image,
    20             cvPoint(i*scale,hist_height-1),
    21             cvPoint((i+1)*scale - 1, hist_height - intensity),
    22             CV_RGB(255,255,255));
    23     }
    24     cvNamedWindow("hist_image");
    25     cvShowImage("hist_image",hist_image);
    26     cvWaitKey(0);
    27 }
    28 
    29 
    30 // 直方图获取与显示
    31 CvHistogram* Histogram_Image(IplImage *image)
    32 {
    33     int hist_size=256;
    34     float range[]={0,255};
    35     float * ranges[]={range};
    36     IplImage * gray_plane = cvCreateImage(cvGetSize(image),8,1);
    37     cvCvtColor(image,gray_plane,CV_BGR2GRAY);
    38     CvHistogram* gray_hist = cvCreateHist(1,&hist_size,CV_HIST_ARRAY,ranges,1);
    39     cvCalcHist(&gray_plane,gray_hist,0,0);
    40     return gray_hist;
    41 }

    2021-06-04

  • 相关阅读:
    AIO异步非阻塞学习
    Netty TCP粘包/拆包问题《二》
    Netty TCP粘包/拆包问题《一》
    修改host文件屏蔽视频广告和网站
    HTML DOM参考手册
    PPT图片快速编辑技巧
    ExtJS ComboBox的用法+代码
    4_python之路之模拟工资管理系统
    3_python之路之商城购物车
    2_python之路之多级菜单
  • 原文地址:https://www.cnblogs.com/2015-16/p/14851171.html
Copyright © 2011-2022 走看看