opencv-2D直方图

news2025/1/19 3:28:49

cv2.calcHist() 是 OpenCV 中用于计算直方图的函数。它可以计算一维或多维直方图,用于分析图像中像素值的分布。

基本的语法如下:

hist = cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate]])

参数说明:

  • images: 输入图像,可以是单通道或多通道图像。在计算多通道图像的直方图时,要将通道分别传递给 channels 参数。
  • channels: 要考虑的通道的索引,对于灰度图像,通常是 [0]对于彩色图像,可以指定 [0][1][2] 分别对应蓝色、绿色、红色通道
  • mask: 可选参数,用于指定计算直方图的区域。如果不指定,整个图像将被考虑。
  • histSize: 表示每个通道的直方图槽(bin)的数量,对于灰度图像通常是 [256],对于彩色图像可以设置不同通道的槽的数量。
  • ranges: 表示像素值的范围,通常为 [0, 256]
  • hist: 输出的直方图,如果不提供,则函数会创建一个。
  • accumulate: 可选参数,如果设置为 True,则直方图在多次计算时不会被清零,而是累积起来。

以下是一个简单的示例,演示如何计算一幅灰度图像的直方图:

import cv2
import matplotlib.pyplot as plt
# 读取灰度图像
img = cv2.imread( r"C:\Users\mzd\Desktop\opencv\2.jpg", cv2.IMREAD_GRAYSCALE)
# 计算直方图
hist = cv2.calcHist([img], [0], None, [256], [0, 256])
# 绘制直方图
plt.plot(hist)
plt.title('Histogram')
plt.xlabel('Pixel Value')
plt.ylabel('Frequency')
plt.show()
# 显示原始图像
cv2.imshow('Image', img)
# 等待用户按下任意键
cv2.waitKey(0)
cv2.destroyAllWindows()

在这里插入图片描述

在这里插入图片描述

在这个示例中,cv2.calcHist() 函数计算了一幅灰度图像的直方图,然后使用 Matplotlib 绘制了直方图。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1239175.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

10月起个税系统升级,3个月个税零申报将收到提示

近日,自然人电子税务局扣缴端升级了,升级后对于工资薪金收入连续三个月为零的纳税人,系统会自动出现以下提示。这个提示主要为了避免企业长期对已经离职的员工进行零申报,导致数据不准确和资源浪费。HR在申报个税时,一…

自动化测试学习指南

软件自动化测试的学习步骤 大概步骤如下: 1. 做好手工测试(了解各种测试的知识)-> 2. 学习编程语言-> 3. 学习Web基础(HTML,HTTP,CSS,DOM,Javascript)或者 学习Winform -> 4. 学习自动化测试工具 ->5.…

矩阵知识补充

正交矩阵 定义: 正交矩阵是一种满足 A T A E A^{T}AE ATAE的方阵 正交矩阵具有以下几个重要性质: A的逆等于A的转置,即 A − 1 A T A^{-1}A^{T} A−1AT**A的行列式的绝对值等于1,即 ∣ d e t ( A ) ∣ 1 |det(A)|1 ∣det(A)∣…

关于ego-planner里面的GridMap

浙大这套开源的代码写得很nice 很值得借鉴 , 对于 GridMap 类的实现。该类通过智能指针的封装简化了 GridMap 实例的创建和管理过程。一旦通过 GridMap::initMap(ros::NodeHandle &nh) 方法初始化,就可以方便地调用 GridMap 及其所有相关功能 它主要…

cocos2dx ​​Animate3D (一)

3D相关的动画都是继承Grid3DAction 本质上是用GirdBase进行创建动画的小块。 Shaky3D 晃动特效 // 持续时间(时间过后不会回到原来的样子) // 整个屏幕被分成几行几列 // 晃动的范围 // z轴是否晃动 static Shaky3D* create(float initWithDuration, const Size& …

Centos7安装Cesi(Supervisor集中管理工具)

Background CeSi 是 Supervisor 官方推荐的集中化管理 Supervisor 实例的 Web UI,该工具是用 Python 编写,基于 Flask Web 框架 。Superviosr 自带的 Web UI 不支持跨机器管理Supervisor 进程,功能比较简单,通过 CeSi 可以集中管理…

对线程的创建

一,概括 二,线程构建方式一(继承Thread类) 三,案例 父类: package Duoxiancheng;public abstract class Name {public static void main(String[] args) {//3,创建一个Thread线程类对象Thr…

python-opencv划痕检测-续

python-opencv划痕检测-续 这次划痕检测,是上一次划痕检测的续集。 处理的图像如下: 这次划痕检测,我们经过如下几步: 第一步:读取灰度图像 第二步:进行均值滤波 第三步:进行图像差分 第四步&#xff1…

你了解Postman 变量吗?

变量是在Postman工具中使用的一种特殊功能,用于存储和管理动态数据。它们可以用于在请求的不同部分、环境或集合之间共享和重复使用值。 Postman变量有以下几种类型: 1、环境变量(Environment Variables): 环境变量是在Postman…

“我,24岁,年薪20万”:选对了行业究竟多重要?

那些在职场上顺风顺水,按部就班拿到高薪的人都有什么特点? 今天的主人公Flee告诉我,是稳。 在她的故事里,我看到一个“别人家的姑娘”,是怎样在职场上稳步晋升,大学毕业仅2年,就拿到18.6K月薪&a…

数字化建筑工地源码,施工全过程实时监控、数据分析、智能管理和优化调控

智慧工地是指通过信息化技术、物联网、人工智能技术等手段,对建筑工地进行数字化、智能化、网络化升级,实现对施工全过程的实时监控、数据分析、智能管理和优化调控。智慧工地的建设可以提高工地的安全性、效率性和质量,降低施工成本&#xf…

苍穹外卖项目笔记(4)——菜品管理

菜品管理 主要功能模块:新建菜品、修改菜品、启用禁用菜品、菜品的分页查询、删除菜品 代码:GitHub - Echo0701/take-out 1 公共字段自动填充 公共字段指的是业务表中有一些相同的字段,比如创建人、创建时间、修改人、修改时间等&#xff…

易点易动设备管理系统:提升企业设备巡检效率的最佳选择

在现代企业运营中,设备管理扮演着至关重要的角色。设备巡检旨在确保设备的正常运行和及时维护,以确保生产线的顺畅运行和业务的高效执行。然而,传统的设备巡检方法常常效率低下、耗时费力。针对这一问题,易点易动设备管理系统应运…

哈希表之开散列的实现

回顾与引出 我们在上一节用闭散列的开放定址法实现了哈希表。不难看出这种方法有明显的缺点:一旦发生哈希冲突,所有的冲突连在一起,容易产生数据“堆积”,即:不同 关键码占据了可利用的空位置,使得寻找某关…

【Mysql】[Err] 1293 - Incorrect table definition;

基本情况 SQL文件描述 /* Navicat MySQL Data TransferSource Server : cm4生产-200 Source Server Version : 50725 Source Host : 192.168.1.200:3306 Source Database : db_wmsTarget Server Type : MYSQL Target Server Version : 50725 File…

4G5G智能执法记录仪在保险公司车辆保险远程定损中的应用

4G智能执法记录仪:汽车保险定损的**利器 随着科技的不断进步,越来越多的智能设备应用到日常生活中。而在车辆保险定损领域,4G智能执法记录仪的出现无疑是一大**。它不仅可以实现远程定损,还能实现可视化操作、打印保单以及数据融…

10年经验之谈 —— 如何做接口测试呢?接口测试有哪些工具?

回想入职测试已经10年时间了,初入职场的我对于接口测试茫然不知。后来因为业务需要,开始慢慢接触接口测试。从最开始使用工具进行接口测试到编写代码实现接口自动化,到最后的测试平台开发。回想这一路走来感触颇深,因此为了避免打…

几个西门子PLC常见通讯问题的解决方法

1台200SMART 如何控制2台步进电机? S7-200SMART CPU最多可输出3路高速脉冲(除ST20外),这意味着可同时控制最多3个步进电机,通过运动向导可配置相应的运动控制子程序,然后通过调用子程序编程可实现对步进电…

error: ‘ui/ui_uimainwindow.h‘ file not found

问题:在刚好创建的Qt Designer Form Class类中,发现类的.cpp文件中有ui头文件未找到 原因:.ui文件没有被识别到,或者.ui文件不存在,导致ui头文件未创建而报错。 解决:若修改了.ui文件,随手ctrls…

ILI9225 TFT显示屏16位并口方式驱动

所用屏及资料如后图: ILI9225,176*220,8位或16位并口屏,IM0接GND,电源及背光接3.3v 主控:CH32V307驱动(库文件和STM32基本一样) 一、源码 ILI9225.c #include "ILI9225.h&quo…