一、直方图绘制
代码如下:
calcHist(&mv[0], 1, 0, Mat(), b_hist, 1, &histSize, &histRanges, true, false);绘制直方图
normalize(b_hist, b_hist, 0, nm, NORM_MINMAX, -1, Mat());进行归一化
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(int argc, char**argv) {
Mat src = imread("D:/images/flower.png");
if (src.empty()) {
printf("Could not read image");
return -1;
}
vector<Mat>mv;
split(src, mv);
//绘制直方图
int histSize = 256;
Mat b_hist, g_hist, r_hist;
float range[] = { 0,255 };
const float*histRanges = {range};
calcHist(&mv[0], 1, 0, Mat(), b_hist, 1, &histSize, &histRanges, true, false);
calcHist(&mv[1], 1, 0, Mat(), g_hist, 1, &histSize, &histRanges, true, false);
calcHist(&mv[2], 1, 0, Mat(), r_hist, 1, &histSize, &histRanges, true, false);
Mat result = Mat::zeros(Size(60