【 OpenCV】——灰度直方图


前言

本文介绍了灰度直方图的基础内容。


对函数参数的解释

void calcHist
{
const Mat*images,//输入的矩阵数组或数据集
int nimages,//输入数组的个数
const int *channels,//计算直方图的通道个数
InputArray mask,//可选的操作掩码,用于标记出统计直方图的数组元素数据
OutputArray hist,//输出的目标直方图
int dims,//直方图的维数
const int *histSize,//直方图每个维度的大小
const float **ranges,//每一维数值的取值范围
bool uniform=true,//表示是否进行归一化,默认为true
bool accumulate=false //累计标识符(默认为false),主要是允许多从个阵列中计算单个直方图
//或者用于在特定的时间更新直方图
}

使用步骤

##1.引入库
#include<opencv2/opencv.hpp>
#include<opencv2/core/core.hpp>
#include<opencv2/imgcodecs.hpp>
#include<opencv2/highgui.hpp>
#include<opencv2\imgproc\types_c.h>
#include<iostream>
using namespace std;
using namespace cv;
int main()
{Mat img;img = imread("F:\\专高CV2\\图片\\520.jpg");imshow("原图", img);Mat hui;cvtColor(img, hui, CV_BGR2GRAY);int bins = 256;int hist_size[] = { bins };float range[] = { 0,256 };const float *ranges[] = { range };MatND hist;int channels[] = { 0 };//计算出灰度直方图calcHist(&hui, 1, channels, Mat(), hist, 1, hist_size, ranges);//画出直方图double max_val;minMaxLoc(hist, 0, &max_val, 0, 0);//定位矩阵中最小值、最大值的位置int scale = 2;int hist_height = 256;Mat hist_img = Mat::zeros(hist_height, bins*scale, CV_8UC3);//创建一个全0的特殊矩阵for (int i = 0; i < bins; i++){float bin_val = hist.at<float>(i);int inten = cvRound(bin_val*hist_height / max_val);//要绘制高度//画矩形rectangle(hist_img, Point(scale*i, hist_height - 1), Point((i + 1)*scale - 1, hist_height - inten), CV_RGB(255, 255, 255));}imshow("灰度直方图", hist_img);waitKey(0);
}

效果图展示

总结

以上是一个简单的灰度直方图展示。

【 OpenCV】——灰度直方图相关推荐

  1. python绘制灰度图片直方图-python+opencv 灰度直方图及其二值化

    图像直方图(histogram)是图像的统计学特征,常用于了解图像的基本特征以便分析.不过图像的直方图不具有空间特征. 图像的灰度直方图(histogram),就是将图像转化成灰度图像之后,统计各个像 ...

  2. OpenCV 灰度直方图

    什么是直方图? 直方图是对图像的另一种解释.通过直方图你可以对整幅图像的灰度分布有一个整体的了解.直方图的x轴是灰度值,y轴是图片中具有统一灰度值得点的数目. 直方图中的两个定义: BINS:一个小组 ...

  3. python绘制灰度直方图_python+opencv 灰度直方图及其二值化

    图像直方图(histogram)是图像的统计学特征,常用于了解图像的基本特征以便分析.不过图像的直方图不具有空间特征. 图像的灰度直方图(histogram),就是将图像转化成灰度图像之后,统计各个像 ...

  4. OpenCV灰度直方图

    一. 直方图的定义.意义和特征 1. 定义 在统计学中,直方图是一种对数据分布情况的图形表示,是一种二维统计图表,他的两个坐标分别是统计样本(图像.视频帧)和样本的某中属性(亮度,像素值,梯度,方向, ...

  5. opencv python matplotlib.pyplot.hist() 如何绘制灰度直方图,如何根据灰度直方图确定最优二值化值

    什么是灰度直方图? 图像直方图(histogram)是图像的统计学特征,常用于了解图像的基本特征以便分析.不过图像的直方图不具有空间特征. 图像的灰度直方图(histogram),就是将图像转化成灰度 ...

  6. [Python图像处理] 三十七.OpenCV直方图统计两万字详解(掩膜直方图、灰度直方图对比、黑夜白天预测)

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  7. [Python图像处理] 十一.灰度直方图概念及OpenCV绘制直方图

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  8. OpenCV:实现灰度直方图和单通道直方图拉伸

    原文链接:http://blog.csdn.net/xiaowei_cqu/article/details/7600666 本文略有修改,如有疑问或者版权问题,请移步原作者或者告知本人. 直接贴代码: ...

  9. 【OpenCV 例程200篇】45. 图像的灰度直方图

    [OpenCV 例程200篇]45. 图像的灰度直方图 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 图像直方图是反 ...

  10. python 灰度直方图_python3+opencv 使用灰度直方图来判断图片的亮暗操作

    1.如何让计算机自动判断一张图是否偏暗?或是判断一张图是否是处于夜晚?我们可以先把图片转换为灰度图,然后根据灰度值的分布来判断,如: 我们可以从上图看到,晚上的图片的灰度值是集中在前段的,如0~30多 ...

最新文章

  1. 形态学处理:膨胀、腐蚀、开运算、闭运算、形态学梯度、顶帽、黑帽
  2. crontab简单示例
  3. boost::geometry::enrich_intersection_points用法的测试程序
  4. php实现下单成功提示语,推荐10款提示语源码(收藏)汇总
  5. linux进程cpu资源分配命令nice,renice,taskset
  6. Spring Boot集成Debezium监控数据库变化
  7. Android之如何用dextra.ELF64查看安卓手机“设置“图标的源代码
  8. java javadoc_使用Java 9向Javadoc搜索添加术语
  9. python 中的eval与exec
  10. ISV客户博客系列:Persistent Systems 使用Windows Azure交付基于Java的CloudNinja项目
  11. python网络通信传输的数据类型_Python网络编程中的网络数据和网络错误。
  12. JavaScript HTML5脚本编程——“跨文档消息传递”的注意要点
  13. 高中计算机编程软件vb,高中年级VB程序设计全套教案.doc
  14. 虚幻引擎3的代码讲解
  15. 通过自定义View了解MeasureSpecMode
  16. 计算机共享文件误删怎么恢复,电脑数据恢复分享:电脑文件删除了怎么恢复
  17. HaaS EDU场景式应用整体介绍
  18. RabbitMQ Applying plugin configuration to rabbit@xxx... Plugin configuration unchanged.
  19. 将汉字数字转换成数字
  20. 腾讯派息式减持京东,中国“伯克希尔”的投资策略变的逻辑是?

热门文章

  1. 这个库能轻松解决98%的异步和逻辑加载时机问题(异步篇)
  2. 解决中文乱码问题--response.addHeader/setHeader
  3. 基本网页布局(DIV+CSS)
  4. 算法学习 - 归并排序
  5. [附源码]计算机毕业设计JAVA农村留守儿童援助信息系统论文2022
  6. 关于基因的那些事(1)
  7. redisObject详解
  8. iPhone4怎么换铃声
  9. python中查看关键字需要在python解释器中执行_Day09-python基础之Cpython解释器支持的进程与线程...
  10. HTML块级元素、行内元素和行内块元素