灰度直方图及直方图均衡化

简介: 灰度直方图及直方图均衡化
文章和代码以及样例图片等相关资源,已经归档至【Github仓库: digital-image-processing-matlab】或者公众号【AIShareLab】回复 数字图像处理 也可获取。

一、实验目的

1.直方图的显示

2.计算并绘制图像直方图

3.直方图的均衡化

二、实验内容

灰度直方图用于显示图像的灰度值分布情况,是数字图像处理中最简单和最实用的工具。

MATLAB中提供了专门绘制直方图的函数 imhist()

1.直方图的显示

imshow('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif');
title('原图像')
% 显示原图像
A=imread('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif ','tif');
figure;
imhist(A);
title('对应直方图')

2.计算并绘制图像直方图

A:用 bar 函数显示

A=imread('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif ','tif');
h=imhist(A);
h1=h(1:10:256);
horz=1:10:256;
bar(horz,h1)% 用bar 函数显示
axis([0 255 0 15000])% 设置水平轴和垂直轴的最大值和最小值
set(gca,'xtick',0:50:255)
set(gca,'xtick',0:2000:15000)

B:用 stem 函数显示

A=imread('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif ','tif');
h=imhist(A);
h1=h(1:10:256);
horz=1:10:256;
stem(horz,h1,'fill')% 用stem 函数显示
axis([0 255 0 15000])% 设置水平轴和垂直轴的最大值和最小值
set(gca,'xtick',[0:50:255])
set(gca,'xtick',[0:2000:15000])

C:用 plot 函数显示

A=imread('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif ','tif');
h=imhist(A);
plot(h)
axis([0 255 0 15000])% 设置水平轴和垂直轴的最大值和最小值
set(gca,'xtick',[0:50:255])
set(gca,'xtick',[0:2000:15000])

3.直方图均衡化

imshow('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif');
title('原图像')
I=imread('D:\pic\DIP3E_CH02\Fig0221(a)(ctskull-256).tif ','tif');
figure;
imhist(I),title('对应直方图')
% 从得到的直方图可以看出,图像的对比度很低,灰度级集中在70-160 范围内,如果只取
% 这个范围内的灰度,并扩展到[0,255],则会明显增强图像对比度
J=imadjust(I,[70/255 160/255],[]);
figure;imshow(J),title('经灰度级调整后的图')
figure;imhist(J),title('灰度级调整后的直方图')
% MATLAB 还提供了histeq 函数(自动直方图均衡化)
K=histeq(I);
figure;
imshow(K),title('经直方图均衡化后的图')
figure;
imhist(K),title('直方图均衡化后的直方图')
目录
相关文章
|
12月前
|
数据采集 JSON JavaScript
如何通过PHP爬虫模拟表单提交,抓取隐藏数据
本文介绍了如何使用PHP模拟表单提交并结合代理IP技术抓取京东商品的实时名称和价格,特别是在电商大促期间的数据采集需求。通过cURL发送POST请求,设置User-Agent和Cookie,使用代理IP绕过限制,解析返回数据,展示了完整代码示例。
261 3
如何通过PHP爬虫模拟表单提交,抓取隐藏数据
|
8月前
|
资源调度 JavaScript 前端开发
Pinia 如何在 Vue 3 项目中进行安装和配置?
Pinia 如何在 Vue 3 项目中进行安装和配置?
635 4
|
人工智能 运维 双11
2024阿里云双十一云资源购买指南(纯客观,无广)
2024年双十一,阿里云推出多项重磅优惠,特别针对新迁入云的企业和初创公司提供丰厚补贴。其中,36元一年的轻量应用服务器、1.95元/小时的16核60GB A10卡以及1元购域名等产品尤为值得关注。这些产品不仅价格亲民,还提供了丰富的功能和服务,非常适合个人开发者、学生及中小企业快速上手和部署应用。
|
12月前
|
人工智能 数据可视化 API
AI Agents Loop异步执行可视化Tutorial 借助AgentBoard工具可视化工作流
本文介绍了AI Agent的异步执行循环(Agent Loop),并展示了如何利用开源框架agentboard可视化这一过程。通过分析不同框架(如AutoGen、LangGraph、AutoAgent)对Agent Loop的抽象,文章详细说明了从简单的功能调用到复杂的多阶段执行流程的设计。此外,还提供了使用agentboard进行日志记录与流程可视化的具体示例,包括安装步骤、代码实现及运行方法,帮助开发者更高效地调试和优化AI Agent的应用。
AI Agents Loop异步执行可视化Tutorial 借助AgentBoard工具可视化工作流
|
数据采集 算法 大数据
大数据中缺失值处理填充法
【10月更文挑战第21天】
1224 2
|
监控 开发工具 Android开发
Android平台实现RTSP拉流转发至轻量级RTSP服务
为满足Android平台上从外部RTSP摄像头拉流并提供轻量级RTSP服务的需求,利用大牛直播SDK实现了相关功能。SDK支持开始与停止拉流、音频视频数据回调处理及RTSP服务的启动与发布等操作。拉流仅需将未解码数据回调,对性能影响小。音频和视频数据经由特定接口传递给发布端进行处理。此外,SDK还提供了获取RTSP会话数量的功能。此方案适用于监控和巡检等低延迟应用场景,并支持二次水印添加等功能。
341 1
|
消息中间件 搜索推荐 Java
消息中间件JMS介绍、入门demo与spring整合
消息中间件JMS介绍、入门demo与spring整合
581 87
消息中间件JMS介绍、入门demo与spring整合
|
消息中间件 存储 缓存
【Alibaba中间件技术系列】「RocketMQ技术专题」Broker服务端自动创建topic的原理分析和问题要点指南
【Alibaba中间件技术系列】「RocketMQ技术专题」Broker服务端自动创建topic的原理分析和问题要点指南
1897 82
【Alibaba中间件技术系列】「RocketMQ技术专题」Broker服务端自动创建topic的原理分析和问题要点指南
|
Java Maven
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
314 0
|
安全 编译器 程序员
【C++ 泛型编程 进阶篇】C++ 可变参数模板的妙用:解决参数不足问题
【C++ 泛型编程 进阶篇】C++ 可变参数模板的妙用:解决参数不足问题
554 0