图像的灰度级数越多越好_MATLAB-数字图像处理 图像直方图归一化

87bcbcd78834710fe27652e0e7f2c356.png

图像直方图归一化

图像直方图概念:

图像直方图是反映一个图像像素分布的统计表,其实横坐标代表了图像像素的种类,可以是灰度的,也可以是彩色的。纵坐标代表了每一种颜色值在图像中的像素总数或者占所有像素个数的百分比。图像是由像素构成,因为反映像素分布的直方图往往可以作为图像一个很重要的特征。

图像灰度直方图:一副数字图像有[0~255]灰度级,直方图定义如下:

其中,是第k个灰度级(如:255),是该灰度级的个数。
归一化直方图定义如下:

即:第k个灰度级出现的数量,比上所有灰度级数量总和,也就是概率

获得图像直方图

t=imread('a1.jpg')
subplot(1,2,1),imshow(t),title('原图')
subplot(1,2,2),imhist(t),title('图像直方图')

效果图:

75bb0d03c6e4dab3fe62860d350266bc.png

Imhist
该函数用于获取图像数据直方图。在图像增强技术中,图像灰度级直方图有着重要的意义,是直方图修改技术、直方图均衡化等一些图像处理技术的基础。在matlab 的命令窗口中键入doc imhist或help imhist即可获得该函数的帮助信息。

调用格式:

imhist(I,n)
imhist(X,map)
[counts,x] = imhist(I)
说明:imhist(I,n)其中,I为灰度的输入图像,n为指定的灰度级数目,缺省值为256;imhist(X,map)计算和显示索引色图像X的直方图,map为调色板。用stem(x,counts)同样可以显示直方图。counts和x分别为返回直方图数据向量和相应的彩色向量。

这里着重说一下imhist(I,n)的用法:
验证代码:

t=imread('a1.jpg')
subplot(2,3,1),imshow(t),title('原图')
subplot(2,3,2),imhist(t),title('灰度级数默认:256')
subplot(2,3,3),imhist(t,128),title('灰度级数:128')
subplot(2,3,4),imhist(t,64),title('灰度级数:64')
subplot(2,3,5),imhist(t,32),title('灰度级数:32')
subplot(2,3,6),imhist(t,16),title('灰度级数:16')

结果图

5683326ce848d2bb638712997b56ee51.png


总结imhist(I,n):

n的定义是灰度级数,这里我们可以理解为将0~255分成几份,比如默认为256,就是分成256份,一份是1,所以灰度值每隔1就统计一次;又n为128,则把0-255分成128份,一份为2,灰度值每隔2统计一次,所以从对比图像看,n为128的看起来比n为256的更稀疏。

[counts,x] = imhist(I)这句话的意思是,获取直方图的横坐标和纵坐标,即各个像素级,以及每个像素级上的像素出现的次数,这个有个易错点,就是,counts其实是直方图的纵坐标值,而x才是直方图的横坐标。

那么获得这两个值有什么用呢? 这里是可以利用这两个值,用stem函数绘出统计图像

上代码:

F=imread('a1.jpg');
I=rgb2gray(F);
subplot(1,3,1),imshow(I),title('原图')
subplot(1,3,2),imhist(I),title('原图的图像直方图')
[count,x]=imhist(I)
% 获取直方图的横坐标和纵坐标,即各个像素级,以及每个像素级上的像素出现的次数 counts:纵坐标 x:横坐标
subplot(1,3,3),stem(x,count),title('根据图像直方图绘制的统计图')
% 通过刚才得到的值,绘制条形图。

效果图:

a70b826dac11f49731891d6804fb71cb.png


这里看出stem绘出的图像和imhist绘出的图像其实是一样的,只是stem绘出的图像统计了次数。

如果这里我们需要将图像直方图归一化,其实就是将纵坐标变成当前次数占总次数的概率,这个也很简单,就需要将stem的counts先除以总像素数量就行。
代码:

F=imread('a1.jpg');
I=rgb2gray(F);
[m,n]=size(I)
subplot(1,4,1),imshow(I),title('原图')
subplot(1,4,2),imhist(I),title('原图的图像直方图')
[count,x]=imhist(I)
subplot(1,4,3),stem(x,count),title('根据图像直方图绘制的统计图')
count=count/m/n
% 获取直方图的横坐标和纵坐标,即各个像素级,以及每个像素级上的像素出现的次数 counts:纵坐标 x:横坐标
subplot(1,4,4),stem(x,count),title('图像直方图归一化')

效果图:

ea6bdfb71b32aa641ca4eea19bd62977.png

25c5d94c7c8cb1278392f88d6b09d108.png

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

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

相关文章

JDK 13:什么是AggressiveOpts?

JVM 11中已弃用Java VM标志-XX:AggressiveOpts [请参见JDK-8199777和JDK-8199778 ]“因为其行为是不明确的。” JDK-8199778的“问题”部分进一步说明了(我添加了重点 ): AggressiveOpts已被用作实现各种实验性能功能的包罗万象的方法&#…

擦地机器人修理_自带眼睛还有嘴,喷水式擦地机器人效果实测

小时候家里大扫除时,我最喜欢抢着扫把扫地,因为扫地相对比较轻松,快速扫完灰尘和垃圾就能跑出去玩。而擦地板相比扫地就麻烦多了,大面积的地板需要蹲下来一块一块擦,还要来回清洗擦布,现在父母年龄大了&…

pv实现前趋图_Excel 数据透视图实现简易交互式数据面板

美国Ebay公司成立于1995年的圣何塞,是一家可让全球民众上网买卖物品的线上拍卖及购物网站。本文将结合Ebay(某类体育用品的)在线拍卖数据,主要使用Excel数据透视表为工具,来实现简易的交互式数据面板以求对数据进行可视…

input不可编辑属性_谁不喜欢图文并茂呢:基于多模态信息的属性抽取

0. 前言最近做属性抽取,并且基于多模态信息(文本图片)那种,然后发现了一个比较经典的论文“Multimodal Attribute Extraction”。正好就顺着这个论文的思路,捋一下这个任务,复现一下,再记录一下…

HDMI高清光端机产品介绍

HDMI高清光端机对视频音频发布等起到传输作用,HDMI光端机由发送器和接收器组成,能通过单根光纤把计算机主机的音频,视频,USB延长到远端,用户可以在远端实时收听到电脑主机的图像和声音,并使用电脑控制。接下…

全局变量求平均分最高分最低分_想去江苏读大学,2021届山东考生需要多少分?...

点击链接查看详情:https://mp.weixin.qq.com/s/A1-e97_D4jbC_BRJtPIN2A​mp.weixin.qq.com江苏省2020年在山东普通批次本科招生66所院校。1027个专业;共4310人,最低分南通理工学院的船舶与海洋工程专业,464分,位次2437…

Thymeleaf的Spring数据

介绍 今天,我将讨论更具体的问题。 这次没有设计模式或算法:-)。 我们并不总是从头开始设计软件组件。 通常,我们必须尝试使现有软件组件协同工作。 Spring Boot是Java世界上最好的免费软件之一。 它解决了Spring的许多配置问题。 它非常灵活…

如何有效维护PDH光端机的常见故障?

众所周知,在PDH光端机的使用过程中,出现的故障可分为永久性故障和间断性故障。而永久性故障是指反映告警一直保持;间断性故障则是指故障时有时无,有时还可自动恢复。但无论是哪种故障,都与传输网有着密不可分的关系。接…

转为字符数组_数组的20种常用的方法?

1.shift 删除数组中的第一个元素2.pop 删除数组中的最后一个元素3.unshift 增加元素在数组的前面4.push 增加元素在数组的后面5.map 循环,并且返回新的数组6.forEach 循环,遍历7.filter 过滤,筛选出数组中的满足条件的,并且返回新…

Profibus-DP光端机产品功能特点及技术参数详解

Profibus DP总线光端机,符合Profibus DP协议,采用大规模FPGA设计,采用独创技术,可同时支持1路Profibus-DP到光纤中继,通信速率0-12Mpbs。支持多种光纤网络拓扑结构:点对点通讯、链型网络、星型网络及冗余环…

jenkins编译java_在Window上使用Jenkins自动发布Java工件

jenkins编译java这篇文章将展示如何使用Jenkins Continuous Integration自动执行Java Web应用程序(使用MYSQL DB和基于Hibernate ORM在基于REST的Jersey2 Spring环境中开发的学生申请应用程序)的发布过程-上载发布工件到发布存储库。 如上一篇文章《在Wi…

工业级光纤收发器九大技术优势介绍

光纤收发器主要是通过光纤来进行传输的那些100M以太网或1000M以太网,不过也被大家称之为光纤交换机,简而言之,可以将我们要发送的电信号转换成光信号发送出去,同时将接收到的光信号转换成电信号,输入到我们的接收端&am…

TellDontAsk的扩展

五年多来,Martin Fowler在他著名的TellDontAsk文章中指出了面向对象编程中的最大问题之一。 在他的著作中,他提醒程序员,他们应该信任自己的对象来为他们执行工作,而不是要求对象提供以后可以使用的数据。 我非常同意这一点&…

网管型光纤收发器产品功能特性详解

飞畅科技生产的网管型光纤收发器机架,吸收了国内外同类产品的优点,产品更具灵活性和实用性。网管光纤收发器采用结构灵活的机架模块化设计,十六槽2U机箱、电源模块及标准的热插拔模块组成,机箱内置双容错电源及无源背板总线&#…

使用函数_使用TEXT函数生成中文大写金额

为满足《中华人民共和国票据法》中对中文大写金额的书写要求,可以使用TEXT函数将数字格式转换为中文大写金额。图中A列是小写的金额,需要在B列使用公式将其转换为中文大写金额。生成中文大写金额在B2单元格中输入以下公式,向下复制到B6单元格…

光端机各种类型的接口介绍

光端机的接口类型还是比较多的,常见的物理接口类型有BNC接口、光纤接口、RJ-45接口、RS-232接口、RJ-11接口。那么,你对这五种典型的物理接口类型是否有所了解呢?接下来就由飞畅科技的小编一起来详细了解下吧! 光端机的典型物理接…

五金反引号

五种琴弦 从Java 1.0开始,我们就有了字符串文字"like this" 。 我们还想要其他什么字符串? 其他编程语言为我们提供: 表达式插值: s"I am ${age - 10} years old." 插值格式: f"Price: $pr…

多功能视频光端机_多业务光端机的功能特性

视频光端机,就是把1到多路的模拟视频信号通过各种编码转换成光信号通过光纤介质来传输的设备,由于视频信号转换成光信号的过程中会通过模拟转换和数字转换两种技术,所以视频光端机又分为模拟光端机和数字光端机。光端机原理就是把信号调制到光…

curl_exec() 执行的时候发送不出去_为什么端口明明开着,nmap却扫描不出来,看老司机怎么指点迷津...

大家应该都知道,nmap是用来扫描端口的标杆级神器,我们经常在运维工作或安全评估中使用到它。在使用的时候,我们可能会碰到明明目标IP端口有开着,但是nmap却死活扫描不出来,等了大半天却得到一些不可靠的结果。那到底是…

4路视频+4路百电(物理隔离)+8路电话+开关量+串口+电话光端机 武警光端机

产品描述 本系列产品,是在该公司研制的专用超大规模集成电路的基础上,研发的点对点多业务光传输设备。此款产品提供4路视频,1-8路电话接口;1-16路开关量接口/1-8路RS232-422-485接口;4路百兆以太网接口,4路…