matlab_2_histogram and histogram equation
2017-11-16 11:32
274 查看
(一) 绘制直方图
概念:这里的直方图,主要指图像灰度直方图,它在图像处理中有一定的应用。比如用直方图均衡来增强图像的对比度。
图像灰度直方图:一副数字图像有[0~255]灰度级,直方图定义如下:
h(gk)=nk
其中,gk是第k个灰度级(如:255),nk是该灰度级的个数。
归一化直方图定义如下:
p(gk)=h(gk)n=nkn
即:第k个灰度级出现的数量,比上所有灰度级数量总和。
MATLAB中绘制图像灰度直方图:
函数imhist():
h=imhist(img,b);
其中:img是输入图像,b是容器,容器简单说就是分几块显示。设置2,则分成两块显示。设置3,则3块。默认为256即256个灰度级。
若要得到归一化后的图像,那么可利用如下语句。
h_normal=imhist(img,b)/numel(img);
其中numel(img)是求出所有灰度级数量总和,即图像总像素数。
接下来,让我们实际生成一副直方图。
代码如下:
(二)直方图均衡化 histogram equation
。
将 设有 图像共有4个灰度级且归一化,为1/4占50个,2/4占50个,3/4占100个,1占50个。直方图归一化1/4~0.2,2/4~0.2,3/4~0.4,1~0.2。
首先1/4灰度级为,s1=0.2,约等于1/4,即灰度级为1/4的对应0.2。
2/4灰度级,s2=0.2+0.2,等于1/2,即灰度级为1/2的对应0.2。
3/4灰度级,s3=0.2+0.2+0.4,等于1,即灰度级为1的对应0.4(3/4的灰度级)。
1灰度级 ,s4=0.2+0.2+0.4+0.2=1,等于1,即灰度级为1的对应0.4+0.2=0.6。
最后求解的灰度级为1/4~0.2,2/4~0.2,1~0.6。
在MATLAB中,函数histeq(f,nlev)可以完成此功能。其中个f为输入图像,nlev为输出图像灰度级。
实例如下:
概念:这里的直方图,主要指图像灰度直方图,它在图像处理中有一定的应用。比如用直方图均衡来增强图像的对比度。
图像灰度直方图:一副数字图像有[0~255]灰度级,直方图定义如下:
h(gk)=nk
其中,gk是第k个灰度级(如:255),nk是该灰度级的个数。
归一化直方图定义如下:
p(gk)=h(gk)n=nkn
即:第k个灰度级出现的数量,比上所有灰度级数量总和。
MATLAB中绘制图像灰度直方图:
函数imhist():
h=imhist(img,b);
其中:img是输入图像,b是容器,容器简单说就是分几块显示。设置2,则分成两块显示。设置3,则3块。默认为256即256个灰度级。
若要得到归一化后的图像,那么可利用如下语句。
h_normal=imhist(img,b)/numel(img);
其中numel(img)是求出所有灰度级数量总和,即图像总像素数。
接下来,让我们实际生成一副直方图。
代码如下:
f=imread('Moon Phobos.tif');%读入图片 imhist(f)%图像直方图
(二)直方图均衡化 histogram equation
。
将 设有 图像共有4个灰度级且归一化,为1/4占50个,2/4占50个,3/4占100个,1占50个。直方图归一化1/4~0.2,2/4~0.2,3/4~0.4,1~0.2。
首先1/4灰度级为,s1=0.2,约等于1/4,即灰度级为1/4的对应0.2。
2/4灰度级,s2=0.2+0.2,等于1/2,即灰度级为1/2的对应0.2。
3/4灰度级,s3=0.2+0.2+0.4,等于1,即灰度级为1的对应0.4(3/4的灰度级)。
1灰度级 ,s4=0.2+0.2+0.4+0.2=1,等于1,即灰度级为1的对应0.4+0.2=0.6。
最后求解的灰度级为1/4~0.2,2/4~0.2,1~0.6。
在MATLAB中,函数histeq(f,nlev)可以完成此功能。其中个f为输入图像,nlev为输出图像灰度级。
实例如下:
f=imread('Moon Phobos.tif'); figure,imshow(f),title('原图'); figure,imhist(f),title('直方图') g=histeq(f,256); figure,imshow(g),title('增强后'); figure,imhist(g),title('直方图均衡');
相关文章推荐
- Matlab实现——Jacobi Iteration and Gauss-Seidel Iteration
- 图像检索:FCTH(Fuzzy Color and Texture Histogram)算法
- Sergey E. Lyshevski, «Engineering and Scientific Computations Using MATLAB» (Reupload)
- Matlab-vision包学习-Feature Detection,Extraction and Matching-BRISK角点检测
- Matlab-vision包学习-Image Registration and Geometric Transformation
- Matlab-vision包学习-Tracking and Motion Estimation-创建Kalman滤波器
- Deep Learning for Computer Vision with MATLAB and cuDNN(译文)
- Compute Mean Value of Train and Test Dataset of Caltech-256 dataset in matlab code
- Examples of Hough Transfer and FFT(MATLAB)
- The Predator-Prey Equation in Matlab
- FCTH(Fuzzy Color and Texture Histogram)算法
- B. Little Dima and Equation
- Matlab-vision包学习-Feature Detection,Extraction and Matching-提取HOG描述子
- Python and Matlab绘制曲线图
- Intel® MKL with Numpy, Scipy, Matlab, C#, Python, NAG and more
- 颜色直方图的计算、显示、处理、对比及反向投影(How to Use Histogram? Calculate, Show, Process, Compare and BackProject)
- 《Robotics, Vision and Control — Fundamental Algorithms in MATLAB》第二章课后习题
- Website for the introduction to Matlab and Java
- Solution of difference equation with Matlab
- Deep Learning for Computer Vision with MATLAB and cuDNN