Matlab图像处理转灰度图,绘制直方图,直方图均衡化

灰级窗映射,matlab实现 原理:将灰度值落在一定范围内的目标进行对比度增强,在医学图像处理中用的多 matlab实现: clc; clear; f = imread('1.jpg');%读入图片 figure; imshow(f);%显示图片 f = rgb2gray(f);%将图片灰度化 [row,col] = size(f);%将矩阵image的行赋值给row,列赋值给col %求斜率 fa = 95; ... 阅读详情

1.imread()

MATLAB中图像读取函数与OpenCV一样是imread,可以打开指定路径图片,其路径表示方式与OpenCV中有些许不同如:

srcImage=imread('E:\MatlabWorkSpace\实验一\实验一图一.png');

路径符号为单"\",Opencv为双"\",其函数原型为:

A=imread(filename,fmt);



2.将打开的图像转换为灰度图rgb2gray

grayImage=rgb2gray(srcImage);


3.imwrite

保存图片,一定要注明图片格式如jpg,bmp,png等。原型如下:

imwrite(A,filename,fmt);

保存图片时可指定图片保存路径。如

imwrite(grayImage,'E:\MatlabWorkSpace\实验一\grayImage.jpg');


4.imhist

绘制图像直方图函数,直方图绘制后可直接显示,不需要用imshow进行显示。如:

imhist(grayImage);


5.imfinfo

读取图片信息包括Height、Width、Format、ColorType等信息,可利用此函数判断函数为彩图还是灰度图.如:

info=imfinfo('E:\MatlabWorkSpace\实验一\grayImage.jpg');

***此处貌似必须先将要读取的图片保存下来,之后指定图像所在路径,初学没发现其他方法,欢迎指正。


6.subplot

将图片放到一个窗口,需指定三个参数,原型如下:

subplot(m n p)

m、n、p分别代表该窗口中图像排列的行数、列数以及第几幅图片

可结合title使用


7.adapthisteq()

图像直方图均衡化

H1=adapthisteq(grayImage);

8.imadjust()

该函数用于调节灰度图像的亮度或彩色图像的颜色矩阵。用法如下:

J=imadjust(I);

将灰度图像I中的亮度值映射到J中的新值,使得图像中1%的数据饱和至最低和最高亮度,这可以增加输出图像J对比度值,此用法相当于imadjust(I,stretchlim(I))


J=imadjust(I,[low_in,hing_in],[low_out,high_out])

将图像I中的亮度值映射到J中的新值即将low_in至high_in之间的值映射到low_out至high_out之间的值.low_in以下与high_in以上的值被剪切掉了,也就是说low_in以下的值映射到low_out,high_in以上的值映射到high_out。它们都可以使用空的矩阵[],默认值是[0 1]

low_in、high_in、low_out、high_out的值均在0~1之间,可由已知值除以255算出值。例如low_in为100则,该位置应为:100/255=0.392

J=imadjust(I,[low_in,hing_in],[low_out,high_out],gamma)

其中gamma指定描述值I和J关系的曲线形状。如果gamma小于1,此映射偏重更高数值(明亮)输出,如果gamma大于1,此映射偏重更低数(灰暗)输出,如果省略此参数,默认为(线性映射).如图




示例代码:

%加载第一幅图像对其进行处理
srcImage=imread('E:\MatlabWorkSpace\实验一\实验一图一.png');

%转化成灰度图
grayImage=rgb2gray(srcImage);
imwrite(grayImage,'E:\MatlabWorkSpace\实验一\grayImage.jpg');
info=imfinfo('E:\MatlabWorkSpace\实验一\grayImage.jpg');
%[M,N]=size(grayImage);

%在窗口中显示2*2排列图像
subplot(2,3,1);
imshow(grayImage);
title('原图像灰度图');

%绘制灰度直方图
subplot(2,3,2);
imhist(grayImage);
title('灰度直方图');
%[M,N]=size(hist);

%对灰度直方图均衡化处理
subplot(2,3,3);
H1=adapthisteq(grayImage);
imhist(H1);
title('直方图均衡化');

%调整图像灰度等级
%原图像灰度集中10~120,调整到100~200
dstImage=imadjust(grayImage,[0.039,0.470],[0.392,0.784],0.6);
subplot(2,3,4);
imshow(dstImage);%显式调整后图像
title('灰度级调整后');
subplot(2,3,5);
imhist(dstImage);
title('灰度调整后直方图');


运行结果如图所示:




【matlab图像处理】图像直方图操作和matlab画图 【路漫漫其修远兮,吾将上下而求索】 今天介绍图像的直方图操作以及用matlab画条形图、杆图和折线图。本内容参考自《实用MATLAB图像和视频处理》第9章。 阅读详情

相关推荐

MATLAB直方图均衡化函数的计算及使用

MATLAB直方图均衡化函数的计算及使用 本文针对灰度图像的直方图均衡化函数给出运算方法,所使用的是展开图像频率的直方图均衡化方法。

wyanango的博客 6342

Matlab绘制灰度直方图

从这幅图上你可以看到大米为亮一点的像素,背景颜色下方比上方更暗,所以这副图像的直方图波峰大致有三个:直方图左侧波峰为图像背景底部暗像素灰度,直方图中间波峰代表的是图像背景由中部至上部的稍微偏亮的暗像素灰度,直方图右侧波峰为图像中大米的亮像素灰度。直方图是根据灰图像绘制的,而不是彩色图像通。查看图像直方图时候,需要先确定图片是否为灰度图,使用MATLAB2019查看图片是否是灰度图片,在读取图片后在MATLAB界面的工作区会显示读取的图像矩阵,如果是,那么该图片是灰度图像,如果是,那么该图片是彩色图像。

qq_20660115的博客 3734

直方图均衡化—matlab实现

步骤: 统计原图像素每个像素的个数 统计原图像 家里灰度级得映射规则 将原图每个像素点的灰度映射到新图 代码: clear all I=imread('1.jpg'); %读入JPG彩色图像文件 imshow(I) %显示出来 title('输入的彩色JPG图像') I_gr

5万+

matlab实现灰度直方图及直方图均衡化

灰度直方图表示图像中具有某种灰度级的像素的个数,反映了图像中每种灰度出现的频率。它是图像最基本的统计特征。横坐标:灰度级。纵坐标:该灰度级出现的个数。直方图均衡化(Histogram Equalization)是一种常用的图像增强方法,主要用于提高图像对比度和细节信息。该方法的原理是将图像的灰度直方图进行均衡化,即使得图像中各个像素灰度级之间的分布更加均匀。

anxinbuxinan的博客 4936

直方图均衡化 原理、流程、公式推导及matlab实现

附上按照上述流程实现的MATLAB代码: clc;close all;clear all; H= imread('测试图\lena512.bmp'); H=H(:,:,1); %判断是否为三通道彩色图片 若是 则将其灰度化 if length(size(H))>2 H=rgb2gray(H); end %获取图片的尺寸 便于计算总像素数 即m*n [m,n]=size(H); %生成一个一行256列的矩阵 p=zeros(1,256); % 统计各灰度的像素个数...

weixin_42845306的博客 9958

数字图像处理之灰度图的直方图均衡化

声明:文章中使用的关于直方图函数图里部分来自于电子科技大学 黄捷老师的课件。 在数字图像处理中 对于灰度图像使用直方图均衡化的目的:         如果一幅图像的像素占据的像素区间高低起伏比较大,并且这副图像的像素有占据整个灰度级并且均匀分布,那么图像可以有高的对比度。实现高对比度说白了就是使图像的像素能够尽可能的分布在尽量多的灰度区间内。 根据概率密度等方面的知识, 由上面我们

群峰之巅的博客 8662

【图像处理算法】直方图均衡化

参考文献: Rafael C. Gonzalez, Richard E. Woods,Digital Image Processing (Third Edition) 胡学龙. 数字图像处理(第三版) 左飞. 图像处理中的数学修炼 目录 直方图均衡化的介绍 直方图的概念 直方图均衡化的理论基础 手工实现直方图均衡化 MATLAB上实现直方图均衡化 直方图均衡化的缺点 直方图均衡...

GQ 25万+

【老生谈算法】matlab实现灰度图处理源码——灰度图处理

图5 图6。图3 图4。图2:提取矩阵gm的1-200行,200-444列后的图像。图3:逆序提取矩阵gm的1-492行后的图像。图4:逆序提取矩阵gm的1-444列后的图像。图5:删除矩阵gm的100-200行后的图像。图6:删除矩阵gm的100-200列后的图像。

m0_53407570的博客 661

Matlab实现图像灰度图,绘制直方图,直方图均衡化

1.imread() MATLAB中图像读取函数与OpenCV一样是imread,可以打开指定路径图片,其路径表示方式与OpenCV中有些许不同如: srcImage=imread('E:\MatlabWorkSpace\实验一\实验一图一.png'); 路径符号为单"\",Opencv为双"\",其函数原型为: A=imread(filename,fmt); 2.将打开的图像转换为灰度图r...

qq_41581769的博客 2万+

MATLAB图像处理实战:黑白图像直方图分析与操作

直方图是数字图像处理领域中一种图形化的表示方式,用于展示图像中每个像素强度值(亮度值)的分布情况。具体来说,直方图将图像的整个强度范围划分为若干个小区间(bin),然后统计落在每个小区间的像素点数量。根据这个统计结果,以水平轴表示像素强度值,垂直轴表示相应像素点数,绘制出一系列的矩形条,从而形成直方图。直方图具有以下几个重要的性质:离散性:直方图是像素强度值的离散表示。统计性:直方图提供了图像全局的统计特性,而不包含位置信息。不变性。

weixin_42146230的博客 883

【ESP32-IDF笔记】20-配置以太网网络(W5500)

基于ESP32IDF和官方的ethernet驱动,配置W5500以太网驱动芯片,实现ESP32的有线网络

别看了,就这些信息 3471

数字图像处理Matlab-灰度直方图及直方图均衡化(附代码)

目录1.Objectives:2.Experiment Content:3.Experiment Principle:4.Experiment Steps Result and Conlusion:5.Appendix(programs and images): 1.Objectives: 1、 熟悉灰度直方图的概念及计算方法; 2、 熟悉直方图均衡化的计算过程; 3、 计算并绘制图像直方图,实现...

1万+

基于ADS1299的8通道脑电采集系统硬件设计实战

生物电信号采集是医疗电子与可穿戴设备中的关键环节,微弱信号的高保真放大与数字化处理直接影响系统性能。高精度模数转换器与低噪声模拟前端设计成为工程实践的核心。ADS1299作为专用生物电测量芯片,集成多通道低噪声放大器与24位Δ-Σ ADC,广泛应用于脑电、心电等生理信号检测。本文基于ADS1299构建8通道脑电采集系统,详细阐述硬件架构、电源与参考设计、输入保护、PCB布局布线、固件SPI配置及数据读取,并结合实测数据分享噪声抑制与调试经验,为EEG采集设备开发提供完整参考。

weixin_29169505的博客 224

FPGA与Matlab图像处理之直方图均衡化

图像的直方图是用来表示图像中像素亮度或颜色分布的一种图形表示方法。它通过统计图像中每个亮度值(或颜色值)出现的频率,可以使用直方图均衡化等技术来改善图像的视觉效果。

主要分享学习中的知识和遇到的问题 2379

深度强化学习算法PPO训练Pendulum

returnadv = 0print('状态空间维度:', state_n)print('动作空间维度:', action_n)steps = []if done:breakif done:breakelse:steps = []if done:break。

weixin_43336108的博客 808

MIPI信号的分析--结合示波器实际测试波形

如果排查的思路对你有帮助,请记住 消雨匆匆 or 大吊工。码字和排查很累,仅此而已 ,硬件不是抄电路,拿烙铁,懂点软件,细致分析,找问题和破案搜集线索是一样的。 部分内容来自于此博客的大神总结: http://www.elecfans.com/news/wangluo/20170323499614.html http://www.elecfans.com/yuanqijian/jieko...

消雨匆匆 4万+

数字图像处理---直方图均衡化与规定化(MATLAB实现含源码)

数字图像处理---直方图均衡化与规定化实验(MATLAB实现)

OpenCV学习笔记 1万+

Zephyr,设备树概述

Zephyr使用设备树(DTS)描述硬件配置,通过设备树源码和绑定文件生成C头文件供开发使用。设备树采用树状结构,节点对应硬件设备,属性描述硬件特性。示例展示了I2C总线及其外设的节点层级关系,包括单元地址、兼容性标识等关键属性。构建系统将设备树转换为devicetree.h中的宏,使开发者能通过DT_前缀宏访问硬件信息,同时保留Kconfig覆盖默认值的能力。

汽车电子软件领域知识分享 722

【数字图像处理】MATLAB实现直方图均衡化

直方图均衡化的MATLAB实现 目录回顾----直方图均衡化代码实现 回顾----直方图均衡化 基本原理 直方图均衡化方法的基本思想是: 对在图像中像素个数多的灰度级进行展宽,而对像素个数少的灰度级进行缩减,从而达到清晰图像的目的 因为灰度分布可在直方图中描述,所以该图像增强方法是基于图像的灰度直方图。 直方图均衡化的处理步骤 ①求待处理图像的直方图h ②计算原图的灰度分布概率hs&nbsp...

小羊咩咩的博客 7391

【回答问题】ChatGPT上线了!如何安装python-ipopt?python-ipopt有哪些用法?

python-ipopt是一种基于Python语言的求解非线性最优化问题的软件包。它使用了Interior Point Optimizer(IPOPT)算法来求解最优化问题。这段代码使用python-ipopt求解了一个无约束的非线性最小化问题,其目标函数为(x[0] - 1) ** 2 + (x[1] - 2) ** 2,求解结果为x_opt。求解线性规划问题、二次规划问题、二次范数最小化问题等类型的最优化问题。对于给定的最优化问题,可以设置不同的求解参数来控制求解的精度和效率。

源代码杀手的博客 2144

YOLO11改进|卷积篇|引入SPDConv

YOLO11中添加SPDConv卷积

A1983Z的博客 3696

【图像处理】matlab 实现灰度图像的直方图均衡化算法

实验内容 实现灰度图像的直方图均衡化算法 实验过程 读入一幅灰度图像,存放在图像矩阵F中。(imread函数)。 获得输入图像尺寸M、N、C(size函数)。并将图像矩阵F中的数据由uint8类型转换为double类型以便后续处理。如果颜色通道数C>1,则将彩色图像转化为灰度图rgb2gray 计算图像F的灰度直方图h(imhist函数;或者通过两重循环遍历每个像素点从而得到每个灰度值的累计像素点个数)。 计算计算原图的灰度分布概率hs。hs=h/(M*N) (i=0,1,…,255)

超逸の学习技术博客 7363

巡检机器人的基于ROS系统的任务管理架构设计总结

本文探讨了基于ROS(机器人操作系统)的工业巡检机器人任务管理架构设计,提出分层闭环方案。架构围绕稳、准、活、扩四大目标,分为感知层(多源数据融合)、调度层(智能决策)、执行层(动作控制)和数据层(存储交互)。关键技术包括ROS2实时性优化、功能包复用和多机器人协同调度。实践案例显示,该架构在电力巡检中使任务完成率达99%,在化工园区实现95%覆盖率。当前挑战包括SLAM地图漂移和多机通信延迟,未来可通过语义SLAM和区域通信优化。

start_up_go的博客 464

Matlab实现直方图均衡化(基于自定义函数)

Matlalb实现直方图均衡化直方图均衡化Matlab代码实现 直方图均衡化 直方图均衡化是一种使输出图像直方图近似服从均匀分布的变换算法,其计算步骤如下: 列出原始图像的灰度级fjf_jfj​,j=0,1,…,k,…,L-1,其中L是灰度级的个数。 统计各灰度值的像素数目NjN_jNj​, j=0,1,…,k,…,L-1。 计算原始图像直方图各灰度级的频度Pj=Njn\frac{Nj}{n}nNj​,j=0,1,2,…,k,…,L-1,其中n为原始图像总的像素数目。 计算累计分布函数C(f)=∑i=0k

qq_44310495的博客 5556

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

图像增强之直方图均衡化[MATLAB实现]

此处为方便理解,不使用MATLAB中自带的histeq,手写代码了解内在原理。 原始彩色图片如下: 均衡化后的图像如下: 完整MATLAB代码如下: clc clear %% 1.图片预处理 L = 256; % 划分的灰度级,一般也默认为256 img = imread('西西弗.jpg'); % 读图 img_gray = img(:,:,1)...

SL_World的博客 4193

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: C/C++文件管理fopen()、fread()
下一篇: Matlab之索引图像转化为灰度图和真彩图
梧桐栖鸦
梧桐栖鸦 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄14年 2268粉丝 98原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值