MATLAB实现图像增强(直方图均衡化)

直方图均衡化是一种常用的图像增强技术,它通过重新分布图像的像素强度值来增强图像的对比度。以下是MATLAB中实现直方图均衡化的详细方法。

%% 直方图均衡变换
clc;close all;clear all;warning off;%清除变量
rand('seed', 100);
randn('seed', 100);
format long g;%% 读取图片
filename='lenargb.jpg';
img0=imread(filename);
% img1=img0;
img1=imnoise(img0,'salt & pepper', 0.001);% 加椒盐噪声[rn,gn,bn]=size(img1);% 获得每一层每一个像素的RGB数值,并判断
img2=img1;
for t=1:3% 色层G=zeros(1,256);% 每处理完一层,参数初始化为0average=0;for k=1:256count201=0;for i=1:rnfor j=1:gnval201=img1(i,j,t);if val201==kcount201=count201+1;endendendcount201=count201/(rn*gn*1.0);average=average+count201;G(1,k)=average;endG=uint8(255.*G+0.5);for i=1:rnfor j=1:gnimg2(i,j,t)=G(img1(i,j,t)+0.5);endend
end% 绘图
figure;
subplot(1,3,1);
imshow(img0);
title('原始图','fontname','宋体');
subplot(1,3,2);
imshow(img1);
title('加噪后图','fontname','宋体');
subplot(1,3,3);
imshow(img2);
title('增强后图','fontname','宋体');

程序结果:

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

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

相关文章

java15学习笔记-密封类

360:Sealed Classes (Preview) 封闭类(预览) 总结 使用密封类和接口增强Java编程语言。密封类和接口限制了哪些其他类或接口可以扩展或实现它们。这是JDK 15中的预览语言功能。 目标 允许类或接口的作者控制负责实现它的代码。 提供一种比访问…

西门子PLC通过稳联技术EtherCAT转Profinet网关连接baumuller伺服器的配置案例

西门子PLC用稳联技术的EtherCAT转Profinet网关,连上baumuller伺服器的配置例子本案例实现西门子S71200 PLC通过EtherCAT转Profinet网关对baumuller(Baumller)伺服器的实时控制,适用于高精度运动控制场景(如精密机床、自…

Ansible 详细笔记

Ansible 详细笔记 一、Ansible 基础概述 1.1 定义与定位 Ansible 是由 Red Hat 主导开发的开源自动化运维工具,基于 Python 语言实现,专注于简化 IT 基础设施的配置管理、应用部署、任务编排等操作。它采用无代理架构,通过 SSH 协议与被控节点…

【Java 后端】Spring Boot 集成 JPA 全攻略

Spring Boot 集成 JPA 全攻略 一、前言 在 Java Web 开发中,数据库访问是绕不开的话题。 传统方式使用 JDBC 编写 SQL,维护困难、可读性差。后来有了 MyBatis 这种半自动 ORM 框架,再到 JPA(Java Persistence API)这…

pytorch学习笔记-加载现有的网络模型(VGG16)、增加/修改其中的网络层(修改为10分类)

写在前面:有些地方和视频里不一样的是因为官方文档更新了,一些参数用法不一样也很正常,包括我现在的也是我这个时间节点最新的,谁知道过段时间会不会更新呢 建议大家不要一味看视频/博客,多看看官方文档才是正道&#…

RocketMQ 4.9.3源码解读-NameServer组件启动流程分析

作者源码阅读笔记主要采用金山云文档记录的,所有的交互图和代码阅读笔记都是记录在云文档里面,本平台的文档编辑实在不方便,会导致我梳理的交互图和文档失去原来的格式,所以整理在文档里面,供大家阅读交流 【金山文档 | WPS云文档】 namesrv 启动流程 相关重要类介绍说明…

《嵌入式 C 语言编码规范与工程实践个人笔记》参考华为C语言规范标准

《嵌入式 C 语言编码规范与工程实践个人笔记》参考华为C语言规范标准 前言 在电子系统开发领域,C 语言作为底层开发的核心语言,其代码质量直接关系到系统的稳定性、可维护性和扩展性。良好的编码规范不仅是团队协作的基础,更是降低生命周期成…

纯半精度模型和全精度模型的耗时分别为248微秒和1400微秒。混合精度模型371微秒比原始模型快大约四倍!

不过有一点需要注意:在上下文管理器内部生成的任何输出,必然会采用该上下文管理器的数据类型。因此,之后我们必须将这些输出转换回FP32(例如,使用float()函数)。 with torch.autocast(device_type="cuda", dtype=torch.float16): res16 = mixed32(torch.randn…

一款开源的远程桌面软件,旨在为用户提供流畅的游戏体验,支持 2K 分辨率、60 FPS,延迟仅为 40ms。

软件介绍 CloudPlayPlus(云玩加)是一款令人惊艳的开源远程桌面、串流软件,云玩加由个人开发者开发者,具有四大特征:开源、免费、低延迟、安全。 软件使用 客户端支持多个平台,包括 Windows、Mac OS、安卓…

MySql——binlog和redolog的区别

目录一、binlog和redolog的区别一、binlog和redolog的区别 binlog和redolog都是存储修改的新数据,是否保留binlog和redolog中的一个即可。 binlog属于整个mysql,是所有引擎共用的,不是只属于innoDB引擎。而redolog属于InnoDB存储引擎。binlo…

软件著作权产生与登记关键点

知识讲解一、 软件著作权的核心特征与权利内容自动产生原则: 这是软件著作权最核心、最重要的特征。产生时间: 软件著作权自软件开发完成之日起自动产生。法律依据: 《中华人民共和国著作权法》第二条及《计算机软件保护条例》第五条明确规定…

什么是主成分分析(PCA)和数据降维

主成分分析(PCA)和数据降维是机器学习和统计学中处理高维数据的核心工具。下面用清晰的结构解释其概念、原理和应用: 一、数据降维(Dimensionality Reduction) 1. 是什么? 目标:将高维数据&…

图论(4)单源赋权最短路径算法实现(BFS实现)

目录 1. 什么是赋权最短路径 2. 赋权最短路径中的关键概念 3. Dijkstra 算法的基本思想 4. Dijkstra 算法实现(Java) 1. 什么是赋权最短路径 在图论中,最短路径问题是指在图中寻找两点之间路径总权重最小的路径问题。如果图的每条边都带…

【Lua】题目小练9

题目:实现一个简单的“银行账户”类要求:使用 元表 模拟面向对象。支持以下功能:Account:new(owner, balance) 创建账户(初始余额可选,默认为 0)。deposit(amount) 存款(不能为负数)…

【二分图】染色问题

核心思想&#xff1a;为每一个未染色的&#xff0c;对它自己和它的邻居进行染色&#xff0c;看是否会出现冲突时间复杂度O&#xff08;nm&#xff09;#include<bits/stdc.h> using namespace std; using lllong long; const int N200010; int n,m; vector<int>edge…

报数游戏(我将每文更新tips)

今日tips&#xff1a;报数游戏题目描述报数游戏的游戏规则如下&#xff1a;对一个区间内的整数进行报数&#xff0c;若遇到的数字是质数或个位数是 1&#xff0c;则不报数&#xff0c;输出 pass。 给定开始游戏的第一个整数 a&#xff0c;及结束游戏时的最后一个整数 b&#xf…

大模型开发 - 基于Spring AI 借助MCP Client 通过STDIO和SSE协议调用MCP Server (上)

文章目录概述MCP协议&#xff1a;为AI应用连接外部世界的桥梁MCP Server&#xff1a;上下文与能力的提供者基于Spring AI 1.0.0的开发之路1. 使用Spring AI构建MCP客户端2. 使用Spring AI构建MCP服务器Mcp Client 实战整体架构概览技术栈Codepom配置mcp servers(sse&stdio)…

分析三个文件--启动文件、链接文件、map文件

目录 启动文件 链接文件 部分map文件内容 FLASH物理地址(0x08000000开始)的映射关系 0x08000000 之前地址空间 启动文件 ;******************** (C) COPYRIGHT 2016 STMicroelectronics ******************** ;* File Name : startup_stm32f40_41xxx.s ;* Author…

从零开始学Python之数据结构(字符串以及数字)

一、字符串 1.1 怎么定义字符串 字符串是Python最常用的数据结构之一。在 Python 里是用于处理文本数据的&#xff0c;比如存储姓名、文章内容等文本信息 。 定义方式&#xff1a; 单引号&#xff1a;用单引号 包裹文本&#xff0c;如 name Alice &#xff0c;单引号内可…

Navicat 全量增量数据库迁移

在使用 Navicat 进行数据库迁移时&#xff0c;除了常见的“全量迁移”&#xff08;一次性迁移所有数据和结构&#xff09;&#xff0c;有时还需要支持 增量迁移&#xff08;只迁移新增或修改的数据&#xff09;。下面我将详细讲解如何通过 Navicat 实现&#xff1a;&#x1f50…