通过Python得到一张图片或logo的主要颜色

看到一篇博客Pick the dominant colour from a logo using Python,一段代码实现了该功能, 效果还不错, 我把代码稍微完善了一下, 方便测试 🙂

python pick_dominant_color.py -f xxx.gif

[cc lang=”python”]#!/usr/bin/env python
# -*- coding: utf-8 -*-

import colorsys
from PIL import Image
import optparse

def get_dominant_color(image):
“””
Find a PIL image’s dominant color, returning an (r, g, b) tuple.
“””

image = image.convert(‘RGBA’)

# Shrink the image, so we don’t spend too long analysing color
# frequencies. We’re not interpolating so should be quick.
image.thumbnail((200, 200))

max_score = None
dominant_color = None

for count, (r, g, b, a) in image.getcolors(image.size[0] * image.size[1]):
# Skip 100% transparent pixels
if a == 0:
continue

# Get color saturation, 0-1
saturation = colorsys.rgb_to_hsv(r / 255.0, g / 255.0, b / 255.0)[1]

# Calculate luminance – integer YUV conversion from
# http://en.wikipedia.org/wiki/YUV
y = min(abs(r * 2104 + g * 4130 + b * 802 + 4096 + 131072) >> 13, 235)

# Rescale luminance from 16-235 to 0-1
y = (y – 16.0) / (235 – 16)

# Ignore the brightest colors
if y > 0.9:
continue

# Calculate the score, preferring highly saturated colors.
# Add 0.1 to the saturation so we don’t completely ignore grayscale
# colors by multiplying the count by zero, but still give them a low
# weight.
score = (saturation + 0.1) * count

if score > max_score:
max_score = score
dominant_color = (r, g, b)

return dominant_color

def main():
usage = ‘usage: %prog -f filepath’
parser = optparse.OptionParser(usage)
parser.add_option(‘-f’, ‘–filepath’, dest=’filepath’, help=’-f filepath’, type=’string’)
(options, args) = parser.parse_args()
if options.filepath == None:
parser.error(‘must has -f option!’)
try:
img = Image.open(options.filepath)
except:
print(“can not open the file”)
return

print ‘#%02x%02x%02x’ % get_dominant_color(img)

if __name__ == ‘__main__’:
main()[/cc]

Python编程语言的创始人Guido van Rossum

  Guido van Rossum是Python编程语言的创始人,从2005年开始就职于Google公司。

  Python是线上和线下的一种重要的编程语言。Python社区的人赋予他“仁慈大君” 的称号,这一称号直接来自英国肥皂剧《Monty Python飞行马戏团》。Guido当初之所以选中Python作为程序的名字,是因为他太喜欢这部肥皂剧了。

  Guido原居荷兰,1995移居到美国,并遇到了他现在的妻子。在2003年初,Guido 和他的家人,包括他2001年出生的儿子Orlijn一直居住在华盛顿洲北弗吉尼亚的郊区。随后他们搬迁到硅谷,现在Guido在为Google工作(其中有一半时间是花在Python上)。

  Guido在1982年获得阿姆斯特丹大学的数学和计算机科学的硕士学位,并于同年加入一个多媒体组织CWI,做调研员。1989年,他创立了Python语言。

一日为极客 永远是极客

硅谷神童、连续创业家Max对极客的定义,相信对所有人,特别是创业者们都会是一种启发和激励

一件印有Slide公司Logo的T-Shirt,鸭嘴帽,再加上蓝色牛仔裤,35岁的MaxLevchin一身标准的(Geek)极客穿着。

出生于乌克兰的他在23岁时乘车来到帕洛阿尔托,向投资人推销他关于首个网上支付系统Paypal.com的主意。在eBay于2007年以15亿美元的价格买下这个网站后,这个技术天才很快又创立了新公司Slide.com。现在,Max是硅谷著名的思想家,他早期在Yelp.com等热门公司的投资也受到同行关注。

在硅谷早期,极客特指那些有极高的技术能力,对计算机与虚拟世界无比痴迷的天才或鬼才,而如今,像Max这样的新一代极客不再自我封闭、游离于主流人群之外,而是努力用技术手段、创新能力和源源不断的想象力不断地创造出更好的生活方式。

Max似乎相当内向,除了演讲和接受采访,他更喜欢独自坐着。而当他接受采访的时候,他又变得非常健谈,你感觉不到他作为一名成功创业家常有的咄咄逼人的气势,更多是一种极客独有的气质。

在国内,除了在自己的圈子里,所有的站长几乎都不再称自己为站长了。但从Max身上,我看到是一名极客的骄傲,因为他说“Onceageek,foreverageek”;还看到一种精神,“保持一颗好奇心,不要害怕去尝试各种事情”。

1.你的事业应该说已经非常成功了,现在你认为自己还是极客么?

Max:是的。曾经是极客,永远都会是极客。

2.你认为极客精神的核心是什么?

Max:好奇心。如果你做一件事情的唯一目的在于赚钱,那么我相信最终你会觉得无聊而丧失热情的。因为一旦你变得非常富有,你所感兴趣的东西就只有一样,就是继续赚钱;但是如果你做事的目的在于不断学习,那么你会不断发现很多引起你兴趣的东西,因为总有值得你学习的东西,学习无止境。所以,我想好奇心对于极客来说是一种非常重要的精神。这也是我创业,并且不断创业的原因,我一直对很多东西感到好奇。我对金钱很好奇,所以我创立了Paypal;我对虚拟世界好奇,所以创立了Slide.com.

3.美国的极客文化为什么对IT业影响如此之大?

Max:首先我觉得极客文化并不是美国独有的,中国我相信也会有很多极客。很多人觉得很多美国的公司都是极客创立的原因,也许仅仅是因为美国的极客总是起步很早。美国的极客觉得自己很聪明,对很多事情好奇,觉得他们可以去做任何事情,所以无所顾忌地不断去尝试,因此人们更容易看到一些美国极客成功的例子。

4.看看现在中国的互联网行业,很难找到由真正极客创立的大公司,中国是不是缺少一种极客文化?

Max:对于中国来说,这种极客文化我想这只是个时间的问题。我相信会有越来越多的极客比如程序员开始创立他们的公司,而其中一些也会非常成功。我个人认为,马云也算是非常极客了,虽然他是一个英语老师出身。

10年之内,中国会出现很多由极客而不是商务人士创立的公司。这一定是一种趋势。

5.人们常常认为极客往往缺乏商业头脑而不适合创业,那么你对极客创业有什么看法和建议呢?

Max:首先我想再次强调不断对很多事情好奇对于极客来说非常重要。当我开始创业的时候,我对商业没有任何概念,我只知道如何写代码。那时候,我只想编一些程序供其他人使用。最开始我们做了好些产品,但是大多数都最终失败了。

许多次失败让我开始反省失败的原因。我终于意识到我一直都只是在为我自己编写程序,而我是个极客,我的需求全然不是大众的需求。所以有一天,我对我自己说,我应该为普通用户开发产品而不是只为所谓的极客们。我开始改变自己的思路,最终成功了。

我想,要获得这些经验其实并不难,在经历几次失败以后你就应该体会得到了。从你第一天创业开始,这些经验你都会自然而然的逐渐领会到。

极客能够创造出伟大的公司,这已经不容置疑了。虽然我知道还是有很多人对此持怀疑态度。

6.中国的创业环境能培育出美国式的极客吗?

Max:我绝大部分时间都在关注硅谷这边,对中国的整体创业环境并不非常了解。但我了解到中国的创业环境并不十分好,因为有许多来自各方面的政策和条款,这些对于创业者来说并不有利。

但是我想这是需要时间积累的。最开始的环境总归是不好的,但是只要这个市场在发展,很快你就会发现整个环境也会随之改善,比如说更多资金的进入,更多创业孵化器的出现,更多天使投资人的关注等等,整个环境中的各种因素都会逐渐变好。

当然,(我持这种看法的原因也许是因为)我这个人对任何事情都很乐观。

7.是极客改变了美国?

Max:可能这样说更准确一些:是创业家改变了美国。任何一个社区最重要的组成部分就是创业家,因为他们在一直不断推动变革。

对任何一个国家,创业家精神都是一种非常强大的力量在不断创造价值,所以我认为美国的变化正是这些美国创业家的功劳。20世纪当世界重心从欧洲向美洲迁移的时候,所有最好的发明创造和伟大的想法都来自美国,而大部分这些伟大的想法都是由创业家建立起来的,或者由他们最终商业化的。

8.你对中国个人站长的建议是什么?

Max:跟随你的好奇心。不断尝试许多事情,千万不要害怕这些尝试带来的失败。对于创业者,记住一点,做任何事,了解清楚这件事的运作方式至关重要。

(卢刚博士系国际知名中英文独立科技博客Mobinode和视频博客Mobinode.tv联合创始人,TechCrunch、ReadWriteWeb特邀作者,KUUKIE趣奇网联合创始人) (本文来源:创业家 作者:卢刚)