calcHist()直方图

来源:互联网 发布:mac解压软件破解版 编辑:程序博客网 时间:2024/05/17 23:23
#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;int main(){    Mat image = imread("D:/group.jpg", 0);    MatND hist;    const int channels[] = { 0 };    const int histsize[] = { 256 };    const float range[] = { 0., 255. };    const float *ranges[] = { range };    calcHist(&image, 1, channels, Mat(), hist, 1, histsize, ranges);    double min, max;    minMaxLoc(hist, &min, &max);    double rate = 255. / max;    Mat histgram(256, 256, CV_8U, Scalar(255));    //Mat histagram(Size(255, 255), CV_8U, Scalar(255));    for (int i = 0;i < 255; i++)    {        //line(histagram, Point(i, 255), Point(i, 255 - hist.at<float>(i)*rate), Scalar(0));        line(histgram, Point(i, 255), Point(i, 255 - hist.at<float>(i)*rate), Scalar(0));//函数形参和实参类型必须一致,float和const类型不可以写错    }    namedWindow("histgram");    //namedWindow("histagram");    imshow("histgram", histgram);    //imshow("histagram", histagram);    waitKey(0);    return 0;}
原创粉丝点击