python获取图片像素矩阵,python查看图片像素
介绍了Python如何利用PIL获取图像的主色,并与颜色库进行比较。分享出来供大家参考。具体分析如下:
这个代码主要用于从图像中提取主色。搜索时可以指定按颜色搜索Goolge、百度等图片。所以,首先我们需要提取每张图片的主色,区分最近色段的颜色,然后按颜色进行搜索。
使用谷歌或百度搜索时,会发现有图片颜色选择。我觉得很有趣。可能有人会觉得这一定是人为划分的。啊,有可能。但是,我觉得人会累的。就算是开玩笑,当然也会被机器识别。大量的图像只有机器才能识别。
可以用python实现这个功能吗?答案是肯定的
只要利用python的PIL模块强大的图像处理功能。请参见下面的代码。
代码如下:
导入颜色系统
defget_dominant_color(图像) :
用于输出rgb颜色值的颜色模式转换
image=image.convert(rgba)).
#生成缩略图,减少计算量,减轻cpu压力
image.thumbnail ((200,200))
max _ score=无
dominant _ color=无
对于count,(r,g,b,a)in image . getcolors)image . size[0]* image . size[1]):
#跳过纯黑色
如果a==0:
连续不断地
饱和度=颜色系统。RGB _ to _ HSV (r/255.0,g/255.0,b/255.0 ) [1]
y=min(ABS(r * 2104g * 4130 b * 8024096131072)13,235)
y=(y-16.0 )/(235 - 16)).
#忽略明亮的颜色
如果y为0.9:
连续不断地
#计算分数,优先选择高饱和度的颜色.
#向saturationsowedon tcompletelyignoregrayscale添加0.1
# colorsbymultiplyingthecountbyzero,但仍然给他们一个低
#微信。
sore=(饱和度0.1 ) *计数
如果分数max_score:
max _ score=分数
dominant_color=(r,g,b)
返回主色_颜色
用法:
从pil导入图像
get _ dominant _ color(image . open logo . jpg ))
这将返回rgb的颜色,但该值在精确的范围内。如何实现类似百度图片的色域?
其实方法很简单。r/g/b都是0-255的值。我们只需要把这三个值分成相等的区间,组合起来得到近似值。比如可以分为0-127和128-255自由组合,可以有8种组合从中选择代表色。
当然,这只是一个例子,你可以更精细的分享。这样,显示的颜色会更准确。让我们试一试。
希望这篇文章对大家的python编程有所帮助。
时间:2015年3月16日
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。