OpenCV学习笔记(五):计算图像直方图
来源:互联网 发布:怎样加入淘宝网店 编辑:程序博客网 时间:2024/06/09 20:05
像素值在图像中的分布情况是这幅图像的一个重要特征。直方图是一个简单的表,它给出了衣服图像或一组图像中拥有给定数值的像素数量。在OpenCV中计算直方图可以通过使用cv::clacHist()
函数。这是一个通用函数,可计算任意像素类型的多通道图像。我们可以编写函数将直方图使用柱状图可视化。
cv::clacHist()
函数允许你指定一个分布在几个图像中的多通道图像,所以函数要求的参数大多是数组。
cv::Mat getHistImg(const cv::Mat &img){ cv::MatND hist; //存储直方图的N维矩阵 int channels[1]={0}; //通道数 int size[1] = {256}; //项的数量 cv::Mat histImg(size[0],size[0],CV_8U,cv::Scalar(255)); //直方图柱状图 float hranges[2]={0,255}; //像素值范围 const float *ranges[0]; ranges[0]=hranges; double maxVal=0,minVal=0; cv::calcHist(&img,1,channels,cv::Mat(),hist,1,size,ranges); cv::minMaxLoc(hist,&minVal,&maxVal); //获取最值 int hpt = 0.9*size[0]; //最高点为图像高的90% //绘制垂直线 for(int i=0;i<size[0];i++) { float val = hist.at<float>(i); int intensity = val*hpt/maxVal; cv::line(histImg,cv::Point(i,size[0]),cv::Point(i,size[0]-intensity),cv::Scalar(0)); } return histImg;}
0 0
- OpenCV学习笔记(五):计算图像直方图
- opencv学习之(五)-直方图计算和绘制图像直方图
- opencv学习之(五)-直方图计算和绘制图像直方图
- OpenCV 学习(计算图像的直方图)
- opencv学习笔记第四章 计算图像的直方图
- opencv学习笔记---图像直方图
- OpenCV学习笔记五:直方图
- 有关opencv的学习(9)—计算图像直方图
- Opencv学习之 计算图像直方图
- 我的OpenCV学习笔记(13):计算直方图,利用查找表拉伸直方图,直方图均衡
- Opencv Python版学习笔记(一)图像直方图
- OpenCV学习笔记(12):单通道图像直方图
- opencv2学习笔记:4.2计算图像直方图
- calcHist()计算图像直方图opencv
- OpenCV之图像直方图计算
- opencv学习(三十七)之图像直方图计算calcHist()
- vim+python+OpenCV学习五 : 直方图的计算与显示
- opencv学习(二)计算图像的直方图和表示为柱状图
- atoi() 与 itoa()函数的内部实现
- Codeforces Round #367 (Div. 2) Vasiliy's Multiset(字典树)
- Codeforces Round #367 (Div. 2) D Vasiliy's Multiset(字典树)
- 记昨日上线突发情况以及解决
- EditText加下划线
- OpenCV学习笔记(五):计算图像直方图
- Java transient关键字使用小记
- Spring AOP学习(一)
- js中hex16进制颜色转rgb(rgba)
- Linux系列之mysql安装(七)
- 树-堆结构练习——合并果子之哈夫曼树
- ubuntu安装编译环境
- 具有深度的iOS细节面试题
- Android中Activity执行restart过程中涉及到的四种数据存储恢复的方法(转)