当前位置: 首页 > news >正文

【计算机视觉(8)】

基于Python的OpenCV基础入门——图像直方图

  • 直方图
    • 图像直方图
  • 图像直方图代码以及实现效果

直方图

直方图是一种用于描述图像亮度分布的统计工具。它将图像的像素亮度值按照不同的亮度等级进行计数,并以直方图的形式呈现出来。图像直方图可以显示图像中每个亮度级别的像素数量,从而用于分析图像的亮度分布情况。

图像直方图

hist = cv2.calcHist([img], [channels], Mask, [histSize], ranges)
参数:
[img]: 必须用方括号括起来,表示被计算的图像,可以是多幅。
[channels]: 用于计算直方图的通道,这里使用灰度图计算直方图,所以就直接使用第一个通道,多幅图像相当于多通道;
Mask: 与原图维度相同,被计算的区域,1 计算,0 不计算,不使用该参数用 None。
[histSize]: 表示这个直方图分成多少份(即多少个直方柱的数量)。
ranges: 表示直方图中各个像素的值,[0.0, 256.0]表示直方图能表示像素值从 0.0 到 256 的像素。

图像直方图代码以及实现效果

import cv2  
import matplotlib.pyplot as pltimg = cv2.imread("img/cat.jpg")  img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) #将BGR 格式转换为RGB 格式  # 绘制图像直方图  
plt.subplot(2,1,1) # 2 * 1布局的 上面   
hist1=plt.hist(img.ravel(), 256, [0, 256]) #numpy 的ravel 函数功能是将多维数组降为一维数组  # 画三通道图像的折线图  
plt.subplot(2,1,2)  
color = ('b', 'g', 'r') #这里画笔颜色的值可以为大写或小写或只写首字母或大小写混合  
for i , color in enumerate(color):   hist = cv2.calcHist([img], [i], None, [256], [0, 256]) #计算直方图  plt.plot(hist, color)  plt.xlim([0, 256])  plt.show()

图像直方图的实现效果如下:
在这里插入图片描述

http://www.lryc.cn/news/365441.html

相关文章:

  • Linux操作系统:Redis在虚拟环境下的安装与部署
  • 哈希表和二维矩阵的结合-2352. 相等行列对(新思路、新解法)
  • 深度学习中无监督学习
  • JVM基础知识
  • 618网购节,电商能挡住恶意网络爬虫的攻击吗?
  • Codeforces Round 951 (Div. 2) C、D(构造、线段树)
  • elmentUI el-table 总结行
  • 【大数据】计算引擎:Spark核心概念
  • Python | C# | MATLAB 库卡机器人微分运动学 | 欧拉-拉格朗日动力学 | 混合动力控制
  • Signac|成年小鼠大脑 单细胞ATAC分析(1)
  • 【POSIX】运行时so库动态加载
  • 爱普生SG2520CAA汽车电子中控专用晶振
  • Vue——监听器简单使用与注意事项
  • OpenCV的“画笔”功能
  • uniapp封装picker选择器组件,支持关键字查询
  • 智慧城市的规划与实施:科技引领城市运行效率新飞跃
  • Linux——内存管理代码分析
  • 手机自动化测试:4.通过appium inspector 获取相关app的信息,以某团为例,点击,搜索,获取数据等。
  • 个人项目———密码锁的实现
  • 关于Input【type=number】可以输入e问题及解决方案
  • zabbix“专家坐诊”第241期问答
  • 了解Kubernetes-RKE2的PKI以及证书存放位置
  • 利用大语言模型进行事实匹配
  • 【Stable Diffusion】(基础篇一)—— Stable Diffusion的安装
  • 维纳运动的概念
  • 毫秒级查询性能优化实践!Apache Doris 在极越汽车数字化运营和营销方向的解决方案
  • vllm 大模型量化微调推理使用: lora、gptq、awq
  • WPS/Office(Word、Excel、PPT) 自动测评方法
  • ArrayList——简单洗牌算法
  • springboot vue 开源 会员收银系统 (6) 收银台的搭建