首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

使用PIL计算直方图并展示

2013-10-19 
使用PIL计算直方图并显示什么是直方图?直方图就是统计图像中像素点为某个颜色值的个数。下面是python代码#

使用PIL计算直方图并显示
什么是直方图?

直方图就是统计图像中像素点为某个颜色值的个数。
下面是python代码

# -*- coding: utf-8 -*-from PIL import Imagefrom PIL import ImageDrawim = Image.open('code1.png')im = im.convert('L')width, height = im.sizepix = im.load()a = [0]*256for w in xrange(width):for h in xrange(height):p = pix[w,h]a[p] = a[p] + 1s = max(a)print a,len(a),s #长度256,a保存的分别是颜色范围0-255出现的次数image = Image.new('RGB',(256,256),(255,255,255))  draw = ImageDraw.Draw(image)  for k in range(256):#print k,a[k],a[k]*200/sa[k] = a[k]*200/s#映射范围0-200source = (k,255)   #起点坐标y=255, x=[0,1,2....]target = (k,255-a[k])#终点坐标y=255-a[x],a[x]的最大数值是200,x=[0,1,2....]draw.line([source, target], (100,100,100))image.show()

?例子分别是经典的雷娜图和纯图的直方图统计
使用PIL计算直方图并展示
?
使用PIL计算直方图并展示
?

热点排行