Opencv | 直方图

这里写目录标题

  • 一. 直方图
    • 方法1
    • 方法2
    • 方法3
  • 二. 掩码区域的直方图绘制

一. 直方图

方法1

	cv.calcHist(images, channels, mask, histSize, ranges=None, accumulate=False)参数:images: 输入图像,可以是单个图像或图像的列表channels: 计算直方图的通道对于灰度图像,该值为0对于RGB彩色图像,可以传递一个包含三个元素的数组 [0, 1, 2],表示分别计算每个通道的直方图mask: 掩码图像,用于指定图像的哪个区域需要计算直方图如果不需要掩码,可以传递 NonehistSize:输出直方图的大小对于一维直方图,这是一个整数对于二维直方图,这是一个包含两个整数的元组对于三维直方图,这是一个包含三个整数的元组ranges: 可选参数,用于指定直方图的范围默认情况下,将使用图像的最小值和最大值accumulate: 可选参数,布尔值True:计算过程中将直方图累积到内部缓冲区中返回值:返回一个或多个计算出的直方图(取决于输入图像的数量)

方法2

	np.histogram(a, bins=10, range=None, normed=None, weights=None, density=None)参数:a: 输入数组bins: 可选参数,表示直方图的条形数(即分箱数量),默认为10range: 可选参数,表示直方图的最小值和最大值范围,格式为 (min, max)如果未指定,则使用 a 的最小值和最大值normed: 可选参数,布尔值。如果为 True,则返回的直方图高度将归一化,使得直方图的面积为1weights: 可选参数,表示每个元素的重要性(权重)默认情况下,所有元素的权重都是1density: 可选参数,布尔值如果为 True,则返回的直方图高度将乘以 bins 的数量,使得直方图下的总面积等于1,这通常与 normed 一起使用返回值: 返回两个数组,即直方图的高度和区间边界的数组

方法3

	np.bincount(arr, weights=None, minlength=0)参数:arr:输入的一维整数数组weights:可选参数它是一个形状与arr相同的数组,用于给arr中的每个元素指定权重若提供了weights,则bincount将计算加权值的出现次数minlength: 可选参数指定了输出数组的最小长度若值 > 0的值,则当max(输入数组) < minlength时,输出数组将用0填充到指定的最小长度返回值:一个一维数组长度为max(arr)+1 / minlength(取决于哪个更大)

二. 掩码区域的直方图绘制

	1. 创建与原图一致的shape2. 创建mask区域3. 构建mask区域图像,cv.bitwise_and( )4. 计算直方图

感谢阅读🌼
如果喜欢这篇文章,记得点赞👍和转发🔄哦!
有任何想法或问题,欢迎留言交流💬,我们下次见!
本文相关代码存放位置
    【Opencv 图像变换代码实现

祝愉快🌟!


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

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

相关文章

小白学习SpringCloud之Eureka

前言 需要搭建springcloud项目&#xff0c;eureka是其中的一个模块&#xff0c;依赖主要继承父依赖 学习视频&#xff1a;b站狂神说 便于理解,我修改了本地域名》这里!!! 127.0.0.1 eureka7001.com 127.0.0.1 eureka7002.com 127.0.0.1 eureka7003.comEureka入门案例 eureka…

API提取IP

API代理作为IP代理的一项重要业务&#xff0c;在绕开地域网络限制&#xff0c;提高作业效率等方面提供强大的技术支持。它能够帮助用户快速实现软件与软件间的交流&#xff0c;无障碍连通不同应用程序逻辑开发的系统应用。API代理用途范围广泛&#xff0c;如使用API提取代理IP、…

Linux:web服务基于IP和域名部署

Linux&#xff1a;web服务基于IP和域名部署 配置基于IP的虚拟主机 # 添加两个IP [rootserver100 ~]# ip addr add 172.25.254.10/24 dev eth0 [rootserver100 ~]# ip addr add 172.25.254.20/24 dev eth0# 这个命令是专门用来查看IP信息的 [rootserver100 ~]# ip addr 1: lo:…

02-JVM学习记录-运行时数据区

二、运行时数据区 每个JVM只有一个Runtime实例&#xff0c;只有一个运行时数据区。 虚拟机栈、堆、方法区最重要 方法区和堆与虚拟机的生命周期相同&#xff08;随虚拟机启动而创建&#xff0c;虚拟机退出而销毁&#xff09;&#xff0c;程序计数器、虚拟机栈、本地方法栈生命…

区块链技术与应用学习笔记(12-13节)——北大肖臻课程

目录 12.BTC-匿名性 一、什么是匿名&#xff1f; 1&#xff0c;有可能破坏比特币匿名性的两个方面 2&#xff0c;如何提高匿名性 一个比特币用户能采用什么样的方法尽量提高个人的匿名性? 分解&#xff1a; 1、网络层怎么提高匿名性? 2、应用层怎么提高匿名性? 零知…

2024年vue 开发环境 Node.js于win10环境下的安装

2024年vue 开发环境 Node.js于win10环境下的安装 导航 文章目录 2024年vue 开发环境 Node.js于win10环境下的安装导航一、下载node.js二、安装node.js三、测试(一)四、环境配置五、测试(二)六、安装淘宝镜像七、安装vue脚手架 一、下载node.js Node.js 官方网站下载&#xff…

cgroup 资源控制介绍

目录 一 cgroup 介绍 1&#xff0c;cgroup 是什么 2&#xff0c;cgroups有四大功能 二 cgroups对 CPU 的控制 1&#xff0c;cpu 的工作原理 2&#xff0c;设置CPU使用率上限 2.1 cgroups对 CPU 的控制 原理 2.2 --cpu-period 2.3 --cpu-quota 2.4 设置…

Linux(Centos)服务器探索ffmpeg笔记 (命令行、Nvidia硬件加速、GPU、CPU、CUDA、h264_nvenc、过滤器、加水印)

目录 前言内容简介为什么会有这篇文章 1、服务器上怎么使用ffmpeg1.1 使用编译好的&#xff08;需要root权限&#xff09;1.2 自己怎么编译&#xff08;需要root权限&#xff09; 2 、非Root用户要怎么安装和使用3、ffmpeg命令的一些使用引导和参数介绍3.1 编译参数3.2 查询支持…

Apache Flink 流处理-[CentOS|Rocky] 镜像

Flink Docker仓库包含了Dockerfiles用于为Flink构建docker images使用&#xff0c;这些 Dockerfile 由 Apache Flink 社区维护&#xff0c;但 Docker 社区负责在 Docker Hub 上构建和托管映像。目前市面上流行的Flink镜像都是基于Ubuntu镜像构建&#xff0c;由于项目需求变化&a…

使用Python,结合Flask框架,创建一个可以处理交易、挖矿新区块、验证区块链有效性,并能在网络节点间同步的区块链网络。(持续更新)

目录 前言 二、代码注释 1.添加新交易到区块链 2.连接新节点 3、替换区块链为最长链 总结 前言 本篇文章将从一个实践者的角度出发&#xff0c;通过构建一个简单的区块链系统&#xff0c;揭开区块链技术的神秘面纱。我们将使用Python语言&#xff0c;结合Flask框架&…

uniapp H5实现签名

第一种&#xff1a;跳转签名页面 1、创建审核页面audit.vue <template><view><uni-section title""><view class"auditClass"><uni-forms :model"baseFormData" ref"baseFormRef" :rules"rules&quo…

【Flink入门修炼】2-3 Flink Checkpoint 原理机制

如果让你来做一个有状态流式应用的故障恢复&#xff0c;你会如何来做呢&#xff1f; 单机和多机会遇到什么不同的问题&#xff1f; Flink Checkpoint 是做什么用的&#xff1f;原理是什么&#xff1f; 一、什么是 Checkpoint&#xff1f; Checkpoint 是对当前运行状态的完整记…

elementui el-date-picker禁止选择今年、今天、之前、时间范围限制18个月

1、禁止选择今年之前的所有年份 <el-date-pickerv-if"tabsActive 0":clearable"false"v-model"yearValue"change"yearTimeChange"type"year"placeholder"选择年"value-format"yyyy":picker-options…

03 OLED显示屏实现

文章目录 前言一、软件模拟IIC协议1.开启IIC协议2.结束IIC协议3.传输数据 二、OLED的操作1.传输数据的准备2.写入命令3.写入数据4.初始化函数5.设置光标6.显示字符7.显示字符串8.清屏9.显示汉字10.显示图片11.显示动图 三、完整代码总结 前言 这一章主要是上一节没有讲完的项目…

前端项目中使用插件prettier/jscodeshift/json-stringify-pretty-compact格式化代码或json数据

同学们可以私信我加入学习群&#xff01; 正文开始 前言一、json代码格式化-选型二、json-stringify-pretty-compact简单试用三、prettier在前端使用四、查看prettier支持的语言和插件五、使用prettier格式化vue代码最终效果如图&#xff1a; ![在这里插入图片描述](https://im…

中文语音识别实战(ASR)

写在前面的话 本博客主要介绍了 1. 语音识别基础知识 2. 中文语音识别数据集 3. 语音识别常用模型方法 4. 自己训练一个中文语音识别模型 主意: 代码中所涉及的模型及数据集,均可从huggingface下载得到,代码中的路劲,需要根据自身实际情况稍做调整。 目录 语音识别基…

服务器之间传递数据脚本

服务器之间的数据复制传递 准备 Python 环境&#xff1a; 确保你的计算机上安装了 Python&#xff0c;并安装了 Paramiko 库。你可以使用 pip 命令来安装 Paramiko&#xff0c;如下所示&#xff1a; pip install paramiko 修改脚本&#xff1a; 将脚本中的以下变量替换为你的…

LLM应用实战:当KBQA集成LLM(二)

1. 背景 又两周过去了&#xff0c;本qiang~依然奋斗在上周提到的项目KBQA集成LLM&#xff0c;感兴趣的可通过传送门查阅先前的文章《LLM应用实战&#xff1a;当KBQA集成LLM》。 本次又有什么更新呢&#xff1f;主要是针对上次提到的缺点进行优化改进。主要包含如下方面&#…

多客圈子交友系统 uniapp+thinkphp6适配小程序/H5/app/api全开源,多款插件自选,支持个性定制!

网上交友的优点包括&#xff1a; 1. 方便&#xff1a;网上交友可以随时随地进行&#xff0c;不受时间和空间的限制&#xff0c;方便且高效。 2. 匿名性&#xff1a;网上交友可以实现匿名性&#xff0c;用户可以匿名地搜索、聊天或交换信息&#xff0c;保护个人隐私和安全。 3.…

COOIS 生产订单显示系统增强

需求说明&#xff1a;订单系统显示页面新增批量打印功能 增强点&#xff1a;CL_COIS_DISP_LIST_NAVIGATION -->TOOLBAR方法中新增隐式增强添加自定义打印按钮 增强点&#xff1a;BADI-->WORKORDER_INFOSYSTEM新增增强实施 实现位置&#xff1a;IF_EX_WORKORDER_INFOSYS…