matlab使用imhist、plot、fill画可填充颜色连续直方图
2015-06-25 14:07
1731 查看
在看一篇论文时,发现论文中的图像直方图是连续的,而且还有填充颜色,于是在网上搜索画法原理,没有找到,自己试了下竟然画出了这个效果。
下面是论文中直方图效果:
下面是效果图:
上面的代码中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
下面是论文中直方图效果:
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
相关文章推荐
- Matlab中判断两个矩阵是否相等
- Matlab中plot函数全功能解析
- Matlab数值计算差商与插值
- matlab乘与点乘的区别 (*与.* ^与.^)
- matlab中用imshow()显示double类型图像中出现的问题
- matlab中norm函数的用法
- matlab echo 的用法
- 实验二:FFT算法的MATLAB实现
- 实验一 离散时间序列卷积和MATLAB实现
- Huffman编码用MTLAB的实现及编码注释----------Matlab
- MIMO信道容量及注水算法---------Matlab
- MATLAB实用源代码
- 协方差,方差,期望的意义
- matlab中sum()求和函数
- PCA ( 主成分分析) 详解 ( 写给初学者) 结合matlab
- Matlab常用函数流水账
- 几种简单常用的镜头边缘检测算法(matlab实现)
- matlab中 tic,toc函数的用法
- 利用MATLAB绘制信号时域波形和信号的频谱
- [图像]Canny检测的Matlab实现(含代码)