matlab图像的直⽅图,Matlab图像直⽅图相关函数
图像的灰度直⽅图(H是图像a.bmp的数据矩阵)
imhist(H);%显⽰a的直⽅图
histeq(H); %将图像a进⾏直⽅图均衡化
adapthisteq(H); %将图像a进⾏直⽅图均衡化
imhist函数只能处理⼆维数据,因此处理RGB图像,需先转化成灰度图像,显⽰灰度直⽅图。
例1:显⽰图像灰度直⽅图并进⾏直⽅图均衡化。
H=rgb2gray(imread('peppers.png'));
subplot(3,2,1);
imshow(H);
title('原图');
subplot(3,2,2);
imhist(H);
title('原图直⽅图');
subplot(3,2,3);
H1=adapthisteq(H);
imshow(H1);
title('adapthisteq均衡后图');
subplot(3,2,4);
imhist(H1);
title('adapthisteq均衡后直⽅图');
subplot(3,2,5);
H2=histeq(H);
imshow(H2);
title('histeq均衡后图');
subplot(3,2,6);
imhist(H1);
title('histeq均衡后直⽅图');
例2: ⾃⼰设计程序显⽰直⽅图,并实现直⽅图均衡化。
直⽅图均衡化是直⽅图修正技术的⼀种。⼀幅均匀量化的⾃然图像的灰度直⽅图通常在低灰度区域的频率较⼤,这样的图像较暗,区域中的细节常常看不清楚。
直⽅图均衡化可使得图像的灰度间距拉⼤或者使灰度分布均匀,从⽽增加了反差,使图像细节清晰,达到图像增强的⽬的。
x=rgb2gray(imread('peppers.png'));
[m,n]=size(x);
p=zeros(1,256);
for i=0:255
p(i+1)=length(find(x==i))/(m*n);
end
subplot(2,2,1);
bar(0:255,p,'b');
title('原图直⽅图');
subplot(2,2,2);
imshow(x);
title('原图');
s=zeros(1,256);
for i=1:256
for j=1:i
s(i)=p(j)+s(i);
end
end
a=round(s*255);
for i=0:255
GPeq(i+1)=sum(p(find(a==i)));
end
subplot(2,2,3);
bar(0:255,GPeq,'b')
title('均衡化后的直⽅图');
b=x;
for i=0:255
b(find(x==i))=a(i+1);
用subplot函数end
subplot(2,2,4);
imshow(b)
title('均衡化后图像');
【matlab】图像直⽅图
使⽤imhist函数(要先⽤rgb2gray转化为灰度图像) 利⽤matlab计算图像直⽅图函数为imhist() 具体⽤法: imhist( i );直接显⽰图像i的灰度直⽅图: imhist(i, ...
OpenCV成长之路(5):图像直⽅图的应⽤
正如第4篇⽂章所说的图像直⽅图在特征提取⽅⾯有着很重要的作⽤,本⽂将举两个实际⼯程中⾮常实⽤的例⼦来说明图像直⽅图的应⽤. ⼀.直⽅图的反向映射. 我们以⼈脸检测举例,在⼈脸检测中,我们第⼀步往往需要 ...
OpenCV成长之路:图像直⽅图的应⽤
OpenCV成长之路:图像直⽅图的应⽤ 2014-04-11 13:57:03 标签:opencv 图像 直⽅图 原创作品,允许转载,转载时请务必以超链接形式标明⽂章 原始出处 .作者信息和本声明.否 ...
Matlab实现直⽅图均衡化
G=imread('aini555.jpg'); I=rgb2gray(G); J=histeq(I); %直⽅图均衡化,这⼀个函数就可以做到均衡化的效果 figure, subplot(),imsh ...
OpenCV成长之路(4):图像直⽅图
⼀.图像直⽅图的概念 图像直⽅图是反映⼀个图像像素分布的统计表,其实横坐标代表了图像像素的种类,可以是灰度的,也可以是彩⾊的.纵坐标代表了每⼀种颜⾊值在图像中的像素总数或者占所有像素个数的百分⽐. 图 ...
matlab图像类型转换以及uint8、double、im2double、im2uint8和mat2gray等说明
Matlab图像彩⾊转灰⾊
Matlab图像彩⾊转灰⾊ 时间:2014年5⽉7⽇星期三 ⽹上的程序.实现图像彩⾊转灰⾊:
I1=imread('C:\Users\Yano\Desktop\matlab\test1\4.jpg' ...
OpenCV成长之路:图像直⽅图
Python实现图像直⽅图均衡化算法
title: "Python实现图像直⽅图均衡化算法" date: 2018-06-12T17:10:48+08:00 tags: [""] categorie ...
随机推荐
事件EVENT与waitforsingleobject的使⽤
事件event与waitforsingleobject的配合使⽤,能够解决很多同步问题,也可以在数据达到某个状态时启动另⼀个线程的执⾏,如报警. event的⼏个函数: 1.CreateEvent和O ...
关于IE8兼容svg图⽚问题解决
【POJ2949】Word Rings(最⼤平均值环)
题意:给定N个字符串,如果A串的最后两个字母跟B串的前两个字母相同它们就能连接. 求⼀个由字符串组成的⾸尾相连的环,使(字符串总长
度/字符串个数)最⼤. n<=100000 len<=10 ...
C+&plus;中数组求偏移量计算公式
已知数组:type A[10][5]A[0][0] --A[8][4]⾯试常考:数组定义][0...y]已知A[m][n] --求A[k][l]的地址: &A[m][n] ...
Swift互⽤性:与 Cocoa 数据类型共舞(Swift 2.0版)-b
本节内容包括: 字符串(Strings) 数值(Numbers) 集合类(Collection Classes) 错误(Errors) Foundation数据类型(Foundation Data T ...
通过logstash-input-mongodb插件将mongodb数据导⼊ElasticSearch
⽬的很简单,就是将mongodb数据导⼊es建⽴相应索引.数据是从特定的⽹站扒下来,然后进⾏⼆次处理,也就是数据去重.清洗,接着再保存到mongodb⾥,那么如何将数据搞到ElasticSearch中 ...
pyhton之Reportlab模块
reportlab模块是⽤python语⾔⽣成pdf⽂件的模块 安装:pip install reportlab 模块默认不⽀持中⽂,如果使⽤中⽂需要注册 1.注册中⽂字体 下载⾃⼰需要的.ttf字体 ...
.Net Core实现记录接⼝执⾏时间的中间件
项⽬中有时接⼝访问时间过长,但是通过浏览器F12查看时,接⼝访问时间很正常,所以就很奇怪,于是写⼀个中间件,记录所有接⼝访问时间的中间件. ⼀.中间件 中间件是应⽤程序处理管道中的组件,⽤来处理请求和 ...
Spring MVC 异步测试
从spring3.2开始,⽀持servlet3的异步请求,这对于处理耗时的请求如缓慢的数据库查询是⾮常有好处的,不⾄于很快的耗光servlet的线程池,影响可扩展性. 让我们先来了解⼀下servlet ...
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论