帮忙解答一下MATLAB直方图规定化程序

帮忙解答一下MATLAB直方图规定化程序,第1张

I=imread('girl.jpg') % 读取图像

J=histeq(I,32)% 对图像 I 直方图均衡化,得到的 J 为新图像,它在0~255范围内有32个离散值

[counts,x]=imhist(J) % 按256等级绘制 J 的直方图,counts统计直方图各个bin中的值,x为各个bin的位置

Q=imread('girl.jpg')

figure

imshow(Q) % 显示图像Q

A=rgb2gray(Q) % 彩色图像Q转换为灰度图像A

figure

imhist(A)

M=histeq(A,counts)% 对A进行直方图规定化,规定的直方图为counts,即得到的图像M的直方图类似于counts所指定的, 一般来说得到的图像 J 和 M 是相同的

figure

imshow(M) % 显示图像M

figure

imhist(M) % 显示M的直方图

不同的数据会显示不同的直方图,以imhist为例,直方图及代码如下。

利用matlab计算图像直方图函数为imhist()

具体用法:

imhist(i)直接显示图像i的灰度直方图;

imhist(i,n)n为指定灰度级显示直方图;

[count,x]=imhist(i)获取直方图信息,count为每一级灰度像素个数,x为灰度级,x也可以在imhist(i,x)中指定,可以通过stem(x,count)画相应直方图;

代码应用:

i=imread('F:\Myfile\Matlab\Test_picture\0_1.jpg')

imshow(i)

figure

imhist(i)

figure

imhist(i,32)

figure

[count,x]=imhist(i,32)

stem(x,count)

用MATLAB的bar( )函数,可以画直方图。对于本例:

>>X=rand(1,10)  %10个数据的随机向量

>>bar(X)

运行结果


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7775033.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存