当前位置:   article > 正文

opencv3 绘制二维直方图-H-S直方图_opencv3编程入门绘制h--s直方图

opencv3编程入门绘制h--s直方图
  1. #include<opencv2/opencv.hpp>
  2. #include<iostream>
  3. #include<vector>
  4. using namespace cv;
  5. using namespace std;
  6. int main()
  7. {
  8. Mat srcImage = imread("1.jpg");
  9. imshow("【原图】", srcImage);
  10. Mat hsvImage;
  11. //因为要计算H-S的直方图,所以需要得到一个HSV空间的图像
  12. cvtColor(srcImage, hsvImage, CV_BGR2HSV);
  13. imshow("【HSV空间的原图】", hsvImage);
  14. //为计算直方图配置变量
  15. //首先是需要计算的图像的通道,就是需要计算图像的哪个通道(bgr空间需要确定计算 b或g货r空间)
  16. int channels[] = { 0, 1 };
  17. //然后是配置输出的结果存储的 空间 ,用MatND类型来存储结果
  18. MatND dstHist;
  19. //接下来是直方图的每一个维度的 柱条的数目(就是将数值分组,共有多少组)
  20. //如果这里写成int histSize = 256; 那么下面调用计算直方图的函数的时候,该变量需要写 &histSize
  21. int histSize[] = { 30, 32 };
  22. //最后是确定每个维度的取值范围,就是横坐标的总数
  23. //首先得定义一个变量用来存储 单个维度的 数值的取值范围
  24. float HRanges[] = { 0, 180 };
  25. float SRanges[] = { 0, 256 };
  26. const float *ranges[] = { HRanges, SRanges };
  27. calcHist(&hsvImage, 1, channels, Mat(), dstHist, 2, histSize, ra
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/46639
推荐阅读
相关标签
  

闽ICP备14008679号