Opencv | 直方图均衡化

import cv2 #opencv 读取的格式是BGR
import numpy as np
import matplotlib.pyplot as plt #Matplotlib是RGB
%matplotlib inline
def cv_show(img,name):cv2.imshow(name,img)cv2.waitKey()cv2.destroyAllWindows()

cv2.calcHist(images,channels,mask,histSize,ranges)
- images: 原图像图像格式为uint8 或 float32。当传入函数时应用中括号[]括来例如[img]
- channels: 如果灰度图它的值就是[0],如果是彩色图像的传入的参数可以是[0][1][2],它们分别对应着BGR。
- mask: 掩模图像。统整幅图像的直方图就把它为None。但是如果你想统图像某一分的直方图的你就制作一个掩模图像并使用它。
- histSize: BIN 的数目。也应用中括号括来
- ranges: 像素值范围常为[0256] 

 cat.jpg

img = cv2.imread('cat.jpg',0)#0表示灰度图
hist = cv2.calcHist([img],[0],None,[256],[0,256])
hist.shape
plt.hist(img.ravel(),256);
plt.show()

可视化运行结果:

 

直方图均衡化:

equ = cv2.equalizeHist(img)
plt.hist(equ.ravel(),256)
plt.show()

 

res = np.hstack((img,equ))
cv_show(res,'res')

 运行结果:

 自适应直方图均衡化:

clahe = cv2.createCLAHE(clipLimit=2.0,tileGridSize=(8,8))
res_clahe = clahe.apply(img)
res = np.hstack((img,equ, res_clahe))
cv_show(res,'res')

运行结果: 

 

 

 

 

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

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

相关文章

Gitee-PicGo-Typora

Gitee-PicGo-Typora 问题引出 问题1:根据相关法律法规和政策,您的部分文件因存在敏感信息而无法显示 就在昨晚, 我在记笔记的时候,发现之前配置的七牛云图床出了问题: 1、根据相关法律法规和政策,您的部…

JAVA进阶之路JVM-3:JVM内存模型,运行时数据区域划分,程序计数器,虚拟机栈,本地方法栈,堆,元空间,字符串常量池

JVM内存模型 对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像 C/C 程序开发程序员这样为每一个操作去写对应的 delete / free 操作,不容易出现内存泄漏和内存溢出问题。正是因为 Java 程序把内new存控制权利交给JVM虚拟机。一旦…

JS动态转盘可自由设置个数与概率

让我为大家介绍一下转盘的实现过程与原理&#xff0c;介绍都放在下面代码块中&#xff0c;一步一步的教会你。 我们转盘使用线段来实现 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title></title><style type&quo…

【理解ARM架构】异常处理

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《理解ARM架构》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 目录 ⚡ARM系统中异常与中断处理流程&#x1f362;向量表&#x1f362;保存现场&#x1f362;恢…

对一个预算有限的创业者来说,应该选择哪些形式的办公场地

对于一个预算有限的创业者来说&#xff0c;选择合适的办公场地是一个重要的决策。不同的办公场地形式有各自的优缺点&#xff0c;需要根据创业者的具体情况和需求来权衡。 一般来说&#xff0c;有以下几种常见的办公场地形式&#xff1a; - 家庭办公&#xff1a;这是最节省成本…

觉得可视化地图太难做?那你是没用过它!

后台一直有粉丝私信老李&#xff0c;问到现在各大企业对数据可视化越来越看重&#xff0c;但是感觉那些高大上的图表做起来一定很复杂甚至可能还需要一些编程基础&#xff0c;希望老李可以推荐一些简单好上手的数据可视化工具。   作为一名数据分析爱好者&#xff0c;我也尝试…

STM32之定时器--超声波测距

1、模块介绍 型号&#xff1a;HC-SR04 超声波测距模块是用来测量距离的一种产品&#xff0c;通过发送和收超声波&#xff0c;利用时间差和声音传播速度&#xff0c; 计算出模块到前方障碍物的距离。 2、超声波模块的使用方法 怎么让它发送波 Trig &#xff0c;给Trig端口至…

面试篇之微服务(一)

目录 概览 1.什么是微服务&#xff1f; 2.微服务带来了哪些挑战&#xff1f; 3.现在有哪些流行的微服务解决方案&#xff1f; 这三种方案有什么区别吗&#xff1f; 4.说下微服务有哪些组件&#xff1f; 注册中心 5.注册中心是用来干什么的&#xff1f; 6.SpringCloud可…

损失函数总结(十六):NRMSELoss、RRMSELoss

损失函数总结&#xff08;十六&#xff09;&#xff1a;MSLELoss、RMSLELoss 1 引言2 损失函数2.1 NRMSELoss2.2 RRMSELoss 3 总结 1 引言 在前面的文章中已经介绍了介绍了一系列损失函数 (L1Loss、MSELoss、BCELoss、CrossEntropyLoss、NLLLoss、CTCLoss、PoissonNLLLoss、Ga…

亚马逊云科技 re:Invent 2023:引领科技前沿,探索未来云计算之窗

文章目录 一、前言二、什么是亚马逊云科技 re:Invent&#xff1f;三、亚马逊云科技 re:Invent 2023 将于何时何地举行四、亚马逊云科技 re:Invent 2023 有什么内容&#xff1f;4.1 亚马逊云科技 re:Invent 2023 主题演讲4.2 亚马逊云科技行业专家探实战 五、更多亚马逊云科技活…

二十章 多线程

线程简介 在 Java 中&#xff0c;并发机制非常重要。在以往的程序设计中&#xff0c;我们都是一个任务完成后再进行下一个任务&#xff0c;这样下一个任务的开始必须等待前一个任务的结束。Java 语言提供了并发机制&#xff0c;程序员可以在程序中执行多个线程&#xff0c;每一…

基于Webserver的工业数据采集控制小项目

主要用到的知识点&#xff0c;http协议&#xff0c;modbus协议&#xff0c;以及进程间通信&#xff0c;消息队列&#xff0c;共享内存等 框架 数据采集 #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #…

vue+uniapp校园寻物失物招领平台 微信小程序1f6z5

系统中的核心用户是管理员&#xff0c;管理员登录后&#xff0c;通过管理员菜单来管理后台系统。主要功能有&#xff1a;首页、个人中心、用户管理、物品分类管理、物品信息管理、物品归还管理、留言板管理、系统管理等功能。管理员用例如图3-7所示。 对于本网上失物招领小程序…

Linux—进程状态

目录 一.前言 1.1.通过系统调用获取进程标示符 1.2.通过系统调用创建进程 二.进程状态 三.Z(zombie)-僵尸进程 四.僵尸进程危害 一.前言 学习进程的状态&#xff0c;我们首先了解一下进程的基本数据 1.1.通过系统调用获取进程标示符 由getpid&#xff08;&#xff09…

【Python】plt库详解和示例

plt 是 Python 中 Matplotlib 库的一个常用别名&#xff0c;它表示 pyplot&#xff0c;这是一个用于创建图形和图形的可视化表示的工具。下面是一些 plt 函数的详解和示例&#xff0c;以帮助大家理解和使用。 目录 plt.subplots&#xff08;&#xff09;plt.savefig&#xff0…

前端算法专栏-数组-75.颜色分类

介绍 Hi 大家好。我是程序员库里&#xff0c;今天新开一个前端算法专栏。 接下来会分类给大家分享常考算法题目。 很多朋友也是看着这套系列算法拿到很多offer&#xff01;所以也是想分享给更多朋友&#xff0c;帮助到有需要的朋友。 分类 数组-三路快排 题目 75. 颜色分…

Html网页threejs显示obj,ply三维图像实例

程序示例精选 Html网页threejs显示obj,ply三维图像实例 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《Html网页threejs显示obj,ply三维图像实例》编写代码&#xff0c;代码整洁&#xff0…

uniapp上架app store详细攻略

​ 目录 uniapp上架app store详细攻略 前言 一、登录苹果开发者网站 二、创建好APP 前言 uniapp开发多端应用&#xff0c;打包ios应用后&#xff0c;会生成一个ipa后缀的文件。这个文件无法直接安装在iphone上&#xff0c;需要将这个ipa文件上架app store后&#xff0c;才…

c语言-数据在内存中的存储

文章目录 1. 整数在内存中的存储2. 大小端字节序和字节序判断3. 浮点数在内存中的存储 1. 整数在内存中的存储 1.整数的2进制表示方法有三种&#xff0c;即 原码、反码和补码 2. 三种表示方法均有符号位和数值位两部分&#xff0c;符号位都是用0表示“正”&#xff0c;用1表示“…

客服管理者如何有效管理客服团队,有哪些高效方式?

在如今的市场竞争中&#xff0c;客户服务是企业成功的关键因素之一。因此&#xff0c;客服团队的有效管理至关重要。客服管理者需要了解如何有效地管理客服团队&#xff0c;以确保客户的满意度和忠诚度&#xff0c;从而提高企业的竞争力。 以下是客服管理者如何有效管理客服团队…