您的位置:首页 > 编程语言 > MATLAB

matlab使用imhist、plot、fill画可填充颜色连续直方图

2015-06-25 14:07 1731 查看
在看一篇论文时,发现论文中的图像直方图是连续的,而且还有填充颜色,于是在网上搜索画法原理,没有找到,自己试了下竟然画出了这个效果。

下面是论文中直方图效果:



clear
close all

I=imread('lena.bmp');%读取灰度图像
histogram=imhist(I);%得到图像累计直方图数据
x=0:1:255;
figure;
plot(x,histogram);%画连续直方图
fill([x,fliplr(x)],[zeros(size(histogram')),fliplr(histogram')],'r');%画填充颜色
title('图像连续直方图');
figure;%显示原图像和原图像直方图
subplot(1,2,1),imshow(I);title('原图像');
subplot(1,2,2),imhist(I,64);title('原图像直方图');


下面是效果图:





上面的代码中plot函数的用法很简单,网上有很多参考资料,fill()函数的用法可以从它的参数中得出,然后fliplr()函数的用法如下:

用法:fliplr(X)

功能:matlab中的fliplr函数实现矩阵的左右翻转。 fliplr(X)使矩阵X沿垂直轴左右翻转。

>> a=[1 2 3 4;5 6 7 8; 9 10 11 12;13 14 15 16]

a =

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

>> fliplr(a)

ans =

4 3 2 1

8 7 6 5

12 11 10 9

16 15 14 13
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: