matlab histeq函数如何做成直方图规定化?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab histeq函数如何做成直方图规定化?相关的知识,希望对你有一定的参考价值。

参考技术A 严格一点来说,直方图均衡化和直方图规定化是不同的概念。histeq是用来做直方图均衡的。\\x0d\\x0a\\x0d\\x0ahgram是均衡化后的灰度级个数。\\x0d\\x0a比如histeq(I, 16),就是希望均衡化后的直方图只有16个灰度级;\\x0d\\x0ahisteq(I, 64),就是希望均衡化后的直方图只有64个灰度级。\\x0d\\x0a\\x0d\\x0a假设原始图像为256级,共有X个像素,现希望均衡化为N个灰度级,过程如下:\\x0d\\x0a步骤1:计算原始图像I的累积函数A(g),其中g=[0,255]表示256个灰度级。\\x0d\\x0aA(0)就是灰度级为0的元素个数;\\x0d\\x0aA(1)就是灰度级为0和1的元素个数和;\\x0d\\x0aA(2)就是灰度级为0、1和2的元素个数和;\\x0d\\x0a...依次类推...;\\x0d\\x0aA(255)就是X,即原始图像的总的像素个数。\\x0d\\x0a\\x0d\\x0a步骤2:计算原始直方图和均衡化后直方图的映射关系g->G,即将原始图像中的灰度值g变成新的灰度值G。\\x0d\\x0a这里,G=N*A(g)/X\\x0d\\x0a\\x0d\\x0a步骤3:遍历原始图像I,依据步骤2中的映射关系,把所有像素点的灰度值变成新的灰度值,完毕。

matlab histeq函数介绍

Histeq

       Enhance contrast using histogram equalization

       该函数通过直方图均衡化来添加对照度

Syntax

      J = histeq(I,hgram)

Description

      Histeq enhances the contrast of images by transforming the values in an intensity image, or the values in the colormap of an indexed image, so that the histogram of  the output image approximately matches a specified histogram.

      Histeq函数通过改变一副亮度图像灰度值或者一副索引图像的灰度值来添加图像的对照度,以达到输出图像的直方图近似于规定的直方图。

      J = histeq(I,hgram) transforms the intensity image I so that the histogram of the output intensity image J with length(hgram) bins approximately matches hgram. The

vector hgram should contain integer counts for equally spaced bins with intensity values in the appropriate range: [0, 1] for images of class double, [0, 255] for images

of class uint8, and [0, 65535] for images of class uint16. histeq automatically scales hgram so that sum(hgram) = prod(size(I)). The histogram of J will better match

hgram when length(hgram) is much smaller than the number of discrete levels in I.

    J = histeq(I,hgram)改变灰度图像以达到输出图像J的直方图接近于參数hgram(该參数为规定直方图)。

向量hgram应该包括等区间的适当灰度值的数目(就是灰度区间,比方uint8图像,将256个灰度级化为32个区间,每一个区间连续8个灰度级)。灰度值的范围为:双精度图像灰度值范围为[0-1],unit8图像灰度值范围为[0-255],unit16图像的灰度值范围为[0-65535],histeq自己主动调整hgram以达到标准图像hgram的和等于原图像的像素数(也就是说两幅图像的像素数要相等。即将标准图像的像素数目调整的和原图像像素数目一样)。当规定直方图J的长度比原图像I的灰度级数目小时,J的直方图将会更好的匹配规定直方图hgram

       翻译的非常烂,以后还需多多努力,尽管非常多东西可以意会可是还是难以表达。

以上是关于matlab histeq函数如何做成直方图规定化?的主要内容,如果未能解决你的问题,请参考以下文章

如何用histeq函数来增强真彩色图像的对比度

MATLAB与图像处理的那点小事儿~

数字图像处理直方图均衡化与规定化

数字图像处理直方图均衡化与规定化

cv::equalizeHist 和 matlab histeq() 有啥区别

图像增强基于matlab直方图均衡化图像增强含Matlab源码 960期