你可知道什么是直方图.doc_第1页
你可知道什么是直方图.doc_第2页
你可知道什么是直方图.doc_第3页
你可知道什么是直方图.doc_第4页
你可知道什么是直方图.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

什么是直方图?直方图(Histogram)也叫柱状图,是一种统计报告图,由一系列高度不等的纵向条纹表示数据分布的情况。假设我们有一堆硬币,如下图所示,我们想知道一共有多少钱。我们当然可以一枚一枚地数,但这样如果硬币多了可能会搞乱,因此我们需要先把硬币分类,然后分别统计每种硬币的数量。把统计的结果图示出来,就成了直方图。下图的横向数轴标示出硬币的面额(Kind of Coins),纵向标示出硬币的数量(Number of Coins)。图像的直方图以灰度图为例,假设我们的图中一共只有0,1,2,3,4,5,6,7这8种灰度,0代表黑色,7代表白色,其它数字代表07之间不同深浅的灰度。统计的结果如下,横轴标示灰度级别(07),纵轴标示每种灰度的数量。Photoshop(PS)中的显示。直方图统计数据Photoshop CS提供了动态的直方图面板,CS之前的版本要通过图象直方图来察看。横轴标示亮度值(0255),纵轴标示每种像素的数量。像素(Pixels) - 图像的大小,图像的像素总数。5*3=15色阶、数量、百分位这三项根据鼠标指针的位置来显示横坐标当前位置的统计数据。色阶(Level) - 鼠标指针所在位置的亮度值,亮度值范围是0255。181数量(Count) - 鼠标指针所在位置的像素数量。4百分位(Percentile) - 从最左边到鼠标指针位置的所有像素数量图像像素总数。(1+2+1+2+3+4)/15 = 13/15 = 0.8667 = 86.67%当鼠标拖动,选中直方图的一段范围时,色阶、数量、百分位将显示选中范围的统计数据。下面举个简单的例子来说明平均值、标准偏差、中间值。例如图像A只有4个像素,亮度分别是200、50、100、200。平均值(算术平均数,Mean,Average) - 图像的平均亮度值,高于128偏亮,低于128偏暗。平均值的算法是:图像的亮度总值图像像素总数。平均值公式:公式中,(读作X拨,X-bar)代表X的平均值,(读作西格玛,Sigma)代表总和,n代表X的总数。图像A的平均值 = (200+50+100+200)/4 = 550/4 = 137.5中间值(中值,中位数,Median) - 中间值是把图像所有像素的亮度值通过从从小到大排列后,位置处在中间的数。(如果有偶数个像素,就有两个位于中间的数,取前面的一个)图像A的中间值:亮度排序后50=100=200预置内存与图像高速缓存(Edit Preferences Memory and image cache)。Photoshop CS2的缓存级别默认值为6,适用于处理高质量的数码相机照片。注 Photoshop CS2之前的版本有一个“使用直方图高速缓存”(Use Cache for histogram)的选项,可以提高直方图的绘制速度,但会降低精确度。建议不要勾选此项,否则当你缩小视图时,Photoshop就会使用相应的缓存小图来生成直方图。缓存级别的算法取上一级的四个相邻像素的平均值来获得一个像素,像素数是它上一级的1/4。例如有张图片的大小是8*8,缓存级别2的大小为4*4,级别3为2*2,级别4为1*1。下图是一张2*2像素的棋盘格图片,缓存级别2的灰度值取原图的平均值(0+255+255+0)/4=500/4=128。直方图面板中的缓存级别当图片较大时,为了提高直方图的刷新速度,Photoshop会自动选择适当的缓存级别来生成直方图。现在来研究一下直方图面板中的缓存级别。新建一个2*2像素的图片,画成棋盘格图案,然后执行编辑定义图案。新建一个1000*1000像素的图片,灰度模式。使用编辑填充命令和前面定义的图案来填充这张图片。这时看一下直方图面板,会发现右上角多了一个警告图标。这是缓存级别2的图片。通过直方图我们可以看出缓存级别2是张纯灰色的图片,灰度值128,像素数量250000,正好是原图的1/4。单击那个警告图标,现在已经更新为原图的直方图。像素数量为1000*1000=1000000,有0和255两种灰度,平均值为255/2=127.50。这些都是原图的正确数据,正是我们所期望的。对于一般的图像,为了提高速度而使用缓存生成直方图基本上是可行的,但要注意原图相邻像素的亮度变化越大,缓存小图造成的误差就越大。直方图的Y轴范围前面我们已经知道,Photoshop直方图的X轴标示亮度值,Y轴标示每种像素的数量。X轴的数值范围是0255,现在来讨论一下Y轴的范围。以bracket.bmp的蓝色通道为例,注意看下图中所显示的数据。这幅图像的像素总数为19200。当鼠标光标移到直方图最左边(色阶为0)时,显示出数量的最大值684,这个最大值应该就是最长的一条竖线。当鼠标向右移动到色阶2时,数量为526,但竖线仍是同样长度,这说明色阶0的竖线被Photoshop裁去了一部分。那么Photoshop是如何确定该裁去多少呢?我们可以给Y轴一个固定的范围,例如01120,这时的直方图显示如下。可以看出,最大值684以上的部分都是空白,而图形下部很纤细,看不清细节。我们也可以把Y轴的范围缩小到0135,这时图形被纵向拉长了,我们可以看出很多图形下部的细节,但图形的上部有太多被裁掉了。比较常见的一种方法是把图形缩短或拉长到正好适合视图的大小,此时范围是0684(最大值)。大多数软件都使用这种方法,Photoshop在一般情况下也是这样。上面的方法有一个最大的缺陷就是如果有几条特别长的竖线的话,其它的竖线会变得很短而不利于我们观察它们的细节,所以Photoshop会把这些长竖线裁去一些。Photoshop确定Y轴范围的原则是如果最大值超过像素总数的64分之一,那么就用像素总数64作为Y轴范围的上限,否则以最大值作为上限。bracket.bmp的像素总数为19200,19200/64=300,因为最大值684300,所以Y轴的范围是0300。直方图的算法看到论坛上有人认为计算直方图开销最大的是标准偏差,还有人认为有必要取消标准偏差的显示项以提高速度。其实标准偏差的计算量并不大,就看你怎么去计算了。前面讲过的一些算法的确会让人误以为计算这些数据时要对每个像素都进行加减乘除乘方等运算,所以我觉得有必要讨论一下直方图的具体计算过程。要绘制直方图,首先要建立一个储存每种灰度数量的数据表(GrayTable),GrayTable是一个大小为256的数组。然后要对图像的每一个像素进行统计,把每种灰度的像素数量记录到GrayTable中。这一步是必须的,不能偷工减料,这部分的计算量与像素的数量成正比,因此图像越大,计算的速度就越慢。要想提高速度,唯一的方法就是使用缓存中的小图进行计算,但这样会降低精确度,不过对于实时更新的动态直方图来说,这么做还是很有必要的。数据表GrayTable准备好了已后,平均值、中间值和标准偏差都可以利用GrayTable里的数据来计算,也就是说没必要再对每个像素进行计算了。无论图像有多大,GrayTable里都只存放256个数字,所以计算起来相当快。举例来说,例如GrayTable中存放了以下的数据。平均值 = (0*3 + 1*2 + 2*1 + 3*5 + 0 + 255*1) / (3+2+1+5+0+1) = 274/12 = 22.8看到了吧,用乘法就行了,灰度值数量再相加。标准偏差也是用类似的方法计算。GrayTable的灰度值是从小到大排列的,所以计算中间值也很方便。对于动态直方图来说,也可以利用GrayTable来优化。有些时候,我们没有必要重新统计整幅图像的像素来更新直方图,只要把先前直方图的GrayTable里的数据调换一下位置就行了,这种方法仅限于单幅图像单像素的处理(点运算)。例如做反色运算后,新的直方图其实就是把原来的直方图左右翻转了一下。这样无论图像有多大,都可以做到精确的实时更新。Photoshop图像菜单的功能几乎都可以使用这种优化,但Photoshop目前还没做到这一点,估计是怕麻烦吧。一些高画质数码照片处理软件可以考虑把这个功能加进去。上文书转载自:灰鹿色彩笔记 /graydeer 感谢灰鹿同志超一流的教学水准!-下文书寥寥数字,却更堪称经典。“直方图”里的色阶为什么只有225级?而不是255相关引用 /thread-2892954-1-1.html关于直方图的显示225的错误修改方法:如果发现了有显示错误的现象,先关闭Photoshop,用记事本打开Photoshop安装目录下Required子目录中的tw10428.dat文件。在打开的tw10428.dat中查找$/HistogramPalette/StatText/Cache=高速缓存级别:,其位于第7667行。将高速级别4个字删除,只保留缓

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论