使用Python进行图像直方图均衡化的4个步骤

news2024/9/9 4:32:09

大家好!今天我们要一起探索一个神奇的图像处理技术——直方图均衡化,它能让你的照片变得更加鲜明生动。准备好了吗?让我们踏上这段Python与OpenCV的旅程吧!

步骤1:导入所需库
首先,我们需要加载一些必要的库,就像烹饪时要准备好食材一样。打开你的Python编辑器,输入以下代码:

import cv2
import numpy as np
from matplotlib import pyplot as plt

这里,cv2是OpenCV库,用于图像处理;numpy用于处理数组;matplotlib.pyplot则用于图像显示。

步骤2:加载图像并查看直方图
现在,让我们加载一张图片,并查看它的原始直方图。假设我们有一张名为image.jpg的图片,可以这样做:

img = cv2.imread('image.jpg', 0)  # 加载灰度图像
plt.hist(img.ravel(), 256, [0, 256]);  # 计算直方图
plt.show()

这段代码将图片转换为灰度,然后计算像素值在0到255之间的分布,最后展示直方图。

步骤3:执行直方图均衡化
直方图均衡化是通过重新映射像素值来扩展图像的对比度。在OpenCV中,我们可以使用cv2.equalizeHist()函数实现。代码如下:

eq_img = cv2.equalizeHist(img)  # 应用直方图均衡化

这个函数会改变图像的像素值分布,使得图像的对比度得到提升。

步骤4:比较并展示结果
最后,让我们对比原始图像和均衡化后的图像,看看效果如何:

# 创建一个子图来显示原图和均衡化后的图
fig, axs = plt.subplots(1, 2, figsize=(10, 5))
axs[0].imshow(img, cmap='gray')
axs[0].set_title('Original Image')
axs[1].imshow(eq_img, cmap='gray')
axs[1].set_title('Equalized Image')
plt.show()

这行代码创建了一个包含两个子图的图表,分别显示原始图像和均衡化后的图像。

现在,运行你的代码,你会发现均衡化后的图像对比度显著提高,颜色层次更加丰富。这就是直方图均衡化的魅力所在!

总结一下,我们通过四个简单的步骤完成了图像直方图均衡化:

  1. 导入库
  2. 加载图像并查看直方图
  3. 应用直方图均衡化
  4. 比较并展示结果

这次旅行是不是很有趣呢?希望你对Python和OpenCV有了更深的理解,下次当你想让照片更加生动时,记得试试直方图均衡化哦!

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

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

相关文章

使用SDL库以及C++实现的简单的贪吃蛇:AI Fitten生成

简单使用AI代码生成器做了一个贪吃蛇游戏 设计的基本逻辑都是正确的,能流畅运行 免费准确率高,非常不错!支持Visual Studio系列 Fitten:https://codewebchat.fittenlab.cn/ SDL 入门指南:安装配置https://blog.csdn.n…

高效数据抓取:Scrapy框架详解

一、Scrapy框架简介 Scrapy是一个为了爬取网站数据、提取结构性数据而编写的爬虫框架。它支持异步处理,能够快速抓取大量网页,并且易于扩展。Scrapy使用Twisted这个事件驱动的网络引擎,可以处理大量的并发请求,从而提高数据抓取的…

C语言分支结构作业

作业 输入你的身高和体重,测试你的健康状况。 计算bmi的值, bmi (体重/身高的平方) 如果bmi 小于18.5,则显示“偏瘦,注意加强营养” 如果bmi 在18.5和23.9之间,则显示“体重指数良好,注意保持…

【全栈实战】大模型自学:从入门到实战打怪升级,20W字总结(二)

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本栏讲解【全栈实战】大模型自学:从入门到实战打怪升级。 🔔专栏持续更新,适合人群:本科生、研究生、大模型爱好者,期…

基于单片机的电梯控制系统的设计

摘 要: 本文提出了一种基于单片机的电梯控制系统设计 。 设计以单片机为核心,通过使用和设计新型先进的硬件和控制程序来模拟和控制整个电梯的运行,在使用过程中具有成本低廉、 维护方便、 运行稳定 、 易于操作 、 安全系数高等优点 。 主要设计思路是…

聚焦全局应用可用性的提升策略,详解GLSB是什么

伴随互联网的快速发展和全球化趋势的深入,企业对网络应用的需求日渐增长。为满足全球范围内用户大量的访问需求,同时解决容灾、用户就近访问以及全球应用交付等问题,GLSB(全局负载均衡)也因此应运而生。那么GLSB是什么…

Axure RP:打造动态交互的大屏可视化设计利器

Axure大屏可视化是指使用Axure RP这款原型设计工具来创建具有视觉冲击力和数据展示功能的大屏幕界面。Axure以其强大的交互设计和丰富的组件库,成为了实现大屏可视化的重要工具之一。以下是对Axure大屏可视化的详细阐述: 一、Axure在大屏可视化中的优势 …

​易能医药董事长易跃能博士荣获“湖湘药学领航奖”

近日,湖南省药学会主办的“湖南省药学会70周年庆典暨第六届湖南药学大会”在湖南长沙隆重召开。易能医药董事长易跃能博士荣获由湖南省药学会颁发的“湖湘药学领航奖”。此次“湖湘药学领航奖”由湖南药学大会学术委员会组织评选,湖南省全省仅有八个名额…

六、3 PWM 舵机代码

目录 1、通道选择 2、参数计算 3、代码部分 1、通道选择 PA1对应通道2 注意:同一个定时器不同通道输出PWM的特点 同一个定时器的不同通道输出的PWM,频率相同(因为它们共用一个计数器),占空比可以各自设定&#xff…

Kubernetes 学习记录

https://note.youdao.com/ynoteshare/index.html?idbc7bee305611b52d6900ba209a92bd4d&typenote&_time1694072007342 概览 K8S官网文档:https://kubernetes.io/zh/docs/home/ K8S 是Kubernetes的全称,源于希腊语,意为“舵手”或“…

ITSS:IT服务工程师

证书亮点:适中的费用、较低的难度、广泛的应用范围以及专业的运维认证。 总体评价:性价比良好! 证书名称:ITSS服务工程师 证书有效期:持续3年 培训要求:必须参加培训,否则将无法参与考试 发…

Aboboo一些操作

常用快捷键⌨ 快捷键/操作方式 功能 鼠标中键/Esc 进入/退出全屏 空格/Tab 暂停/恢复播放 左/右箭头 快退/快进 Ctrl-左/右箭头 30秒快退/快进 Alt-左/右箭头 60秒快退/快进 Ctrl-Alt-左/右箭头 播放速率调节 PageUp/PageDown 上一句/下一句 上下箭头/滚轮 …

WSL配置镜像网络使用本地端口调试Linux程序

一、安装WSL 二、配置WSL为镜像 在C:\Users\XXUser目录下添加.wslconfig文件 [wsl2] networkingModemirrored # 开启镜像网络 dnsTunnelingtrue # 开启 DNS Tunneling firewalltrue # 开启 Windows 防火墙 autoProxytrue # 开启自动同步代理重启WSL wsl --shutdown wsl三、…

计算机毕业设计选题推荐-音乐播放系统-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

计算机网络04

文章目录 IP 基本认识**IP 地址的基础知识****IP 地址的分类**无分类地址 CIDR公有 IP 地址与私有 IP 地址IP 地址与路由控制IP 分片与重组IPv6 基本认识IPv4 首部与 IPv6 首部 IP 协议相关技术DNS 域名解析ARP 与 RARP 协议DHCP 动态获取 IP 地址NAT 网络地址转换ICMP 互联网控…

NACOS保姆笔记(5)——Nacos的集群教程

前面我们介绍过: NACOS保姆笔记(1)——NACOS的安装和启动NACOS保姆笔记(2)——Spring Cloud Alibaba Nacos服务注册与发现以及负载均衡NACOS保姆笔记(3)——Spring Cloud Alibaba Nacos配置中心NACOS保姆笔记(4)——Spring Cloud Alibaba Nacos鉴权本篇主要介绍下Na…

5种IO模型简述

文章目录 前言什么是IO模型?阻塞IO非阻塞IO多路复用IO信号驱动IO异步IO 结语 前言 最近学netty,当然无法避免IO模型这部分知识。 我尽量用最简洁的语言来讲清楚这个东西。 什么是IO模型? 既然最近学netty,就拿它来举例子。 比如…

ITPUB专访 | 张宏波:一场关于编程语言速度与效率的深度对话

ITPUB专访 | 张宏波:一场关于编程语言速度与效率的深度对 随着 AI 大语言模型(LLM)不断突破和开源社区活跃程度达到前所未有的高度,以 OpenAI 的 GPT-4、Meta-LLaMA 等为代表的重量级产品和服务相继发布,AI 技术的蓬勃…

视频VIP收费会员播放帝国CMS模板HTML5自适应手机多种运营模式

采用帝国CMS最新版核心制作,自适应响应式手机平板浏览,手机浏览器非常舒服哦!多种运营模式。用户中心逻辑和页面,都已经制作完整,可以搭建后稍微修改即可使用! 模板特点: 支持多集和单集播放&…

【2024】Datawhale AI夏令营 Task2笔记——Baseline代码详细解读

【2024】Datawhale AI夏令营 Task2笔记——Baseline代码详细解读 本文对可完成赛事“逻辑推理赛道:复杂推理能力评估”初赛的baseline代码进行详细解读,该baseline代码由Datawhale AI夏令营提供,核心内容是调用灵积模型服务平台的大语言模型…