OpenCV:calcHist计算图像直方图( 四 )


                     Point(i * 8 + 256 / histSize, g_drawImage.rows - 1 - value),
                     Scalar(0, 255, 0), -1); 
       } 
       imshow("【绿色通道的直方图】", g_drawImage); 
       //绘制红色通道 
       channels = 2; 
       calcHist(&srcImage, 1, &channels, Mat(), dstHist, 1, &histSize, ranges, true, false); 
       Mat r_drawImage = Mat::zeros(Size(256, 256), CV_8UC3); 
       minMaxLoc(dstHist, 0, &g_dHistMaxValue, 0, 0); 
       for (int i = 0; i < histSize; i++) 
       { 
              int value = https://vvvtt.com/article/cvRound(dstHist.at(i) * 256 * 0.9 / g_dHistMaxValue);
              rectangle(r_drawImage,
                     Point(i * 8, r_drawImage.rows - 1),
                     Point(i * 8 + 256 / histSize, r_drawImage.rows - 1 - value),
                     Scalar(0, 0, 255), -1); 
       } 
       imshow("【红色通道的直方图】", r_drawImage); 
       waitKey(0); 
       return 0; 
}  

OpenCV:calcHist计算图像直方图



6【注】:
calhist()函数求得的直方图返回值是一个一维或三维等的矩阵;不是二维;
【OpenCV:calcHist计算图像直方图】经由过程hist.at<float>(i)格局拜候;

OpenCV:calcHist计算图像直方图



注重事项hist.at(i):拜候的格局
彩色直方图的生当作;

以上内容就是OpenCV:calcHist计算图像直方图的内容啦, 希望对你有所帮助哦!

猜你喜欢