原文来自:

这段代码主要用来从图片提取其主要颜色,类似Goolge和Baidu的图片搜索时可以指定按照颜色搜索,所以我们先需要将每张图片的主要颜色提取出来,然后将颜色划分到与其最接近的颜色段上,然后就可以按照颜色搜索了。 代码转自:http://www.pythontab.com

在使用google或者baidu搜图的时候会发现有一个图片颜色选项,感觉非常有意思,有人可能会想这肯定是人为的去划分的,呵呵,有这种可能,但是估计人会累死,开个玩笑,当然是通过机器识别的,海量的图片只有机器识别才能做到。 那用python能不能实现这种功能呢?答案是:能 利用python的PIL模块的强大的图像处理功能就可以做到,下面上代码:

import colorsys

def get_dominant_color(image):

#颜色模式转换,以便输出rgb颜色值

image = image.convert('RGBA')

#生成缩略图,减少计算量,减小cpu压力

image.thumbnail((200, 200))

max_score = 0//原来的代码此处为None

dominant_color = 0//原来的代码此处为None,但运行出错,改为0以后 运行成功,原因在于在下面的 score > max_score的比较中,max_score的初始格式不定

for count, (r, g, b, a) in image.getcolors(image.size[0] * image.size[1]):

# 跳过纯黑色

if a == 0:

continue

saturation = colorsys.rgb_to_hsv(r / 255.0, g / 255.0, b / 255.0)[1]

y = min(abs(r * 2104 + g * 4130 + b * 802 + 4096 + 131072) >> 13, 235)

y = (y - 16.0) / (235 - 16)

# 忽略高亮色

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

end.

个人总结:

载入一张lena以后,

print(get_dominant_color(Image.open('lena.jpg')))

(171, 65, 79)

看过这种颜色以后,觉得基本符合预期,程序可以采用。

为了用在树叶识别上,先做一个简单的实验:

在上述代码中,添加一行:

if ((r>200)&(g>200)&(b>200)):

continue

也就是说把白色,或者接近白色的部分去除,再提取颜色,这才是我预期的结果,实验结果为:

提取出的颜色是

符合预期,还可以再提高,以后再尝试:先提取树叶的区域,再算主要颜色

用python提取图片主要颜色_用Python提取图片主要颜色相关推荐

  1. python 提取图片的某个颜色_使用python提取图片中的主体颜色

    上次国庆节去谷歌开发者大会,体验了很多有趣的人工智能项目. 其中有一个颜色匹配的环节,叫做"AI调色板,解码缤纷艺术世界",让我觉得很有意思,回来后,我计划自己实现一个类似的功能. ...

  2. python改变图像颜色_通过python改变图片特定区域的颜色详解

    首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便找一个编程语言的数学库,里面一定有和他名字相关的一堆函数. ...

  3. python改图片颜色_通过python改变图片特定区域的颜色详解

    首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便找一个编程语言的数学库,里面一定有和他名字相关的一堆函数. ...

  4. python怎么换背景颜色_用opencv给图片换背景色的示例代码

    图像平滑 模糊/平滑图片来消除图片噪声 OpenCV函数:cv2.blur(), cv2.GaussianBlur(), cv2.medianBlur(), cv2.bilateralFilter() ...

  5. python词云改颜色_使用Python创建一个与图像颜色匹配的词云

    原标题:使用Python创建一个与图像颜色匹配的词云 来自:https://www.linuxmi.com/ 我用Python造了一个词云.不过这次创建的是与图像颜色匹配的词云. 使用Python w ...

  6. python图片转文字_【收藏】图片转成文字的方法总结,python批量图片转文字信息参考源码...

    在日常办公或者学习中,往往存在这样一个工作场景,比如,"老王,我这里有一张图片,你把里面的文字信息给我整理出来",都2021年了,你真的还在手敲图片文字信息么?那么还不赶紧收藏这篇 ...

  7. python 图片处理模块_(python)图片处理Pillow模块的使用

    Pillow中最重要的类就是Image,该类存在于同名的模块中.可以通过以下几种方式实例化:从文件中读取图片,处理其他图片得到,或者直接创建一个图片. 还有一个类为ImageDraw,用来画图. 1. ...

  8. python解除windows锁屏_用python获取win10锁屏图片

    本文教你如何用python提取win10近期推送的锁屏图片并存储到指定文件夹. 首先保证在个性化页面中的锁屏里选定windows聚焦如下图, 1.png win10近期推送的图片都存储在C:\User ...

  9. python软件长什么样子图片高清_手把手:扫描图片又大又不清晰?这个Python小程序帮你搞定!...

    大数据文摘作品 编译:HAPPEN.于乐源.小鱼 一位乐于分享学生精彩笔记的大学教授对于扫描版的文件非常不满意--颜色不清晰并且文件巨大.他因此用python自己写了一个小程序来解决这个问题. 这个程 ...

最新文章

  1. href=javascript 显示开发中_折叠屏iPhone原型机开发中:铰链连接 双屏独立显示
  2. 对称加密、工作模式和填充模式
  3. linux看门狗树莓派,给树莓派安装看门狗
  4. 简历要避开哪些坑,资深面试官告诉你!
  5. 综合素质计算机考点,教师资格证小学综合素质考点及考试真题:信息处理能力...
  6. Python3网络爬虫开发实战分析Ajax爬取今日头条街拍美图
  7. SAP License:SAP中的产量法折旧计算
  8. sigar 网络 java_使用Sigar获取服务器内存、IP、CPU、IO、MAC地址、操作系统等信息...
  9. phpdesigner怎么写php,phpdesigner
  10. 陈玉琴老师的中医理学
  11. 2017计算机基础教学大纲,《计算机应用基础》教学大纲
  12. 各种音视频编解码学习详解之 编解码学习笔记(九):QuickTime系列
  13. python第一次操作ES The client noticed that the server is not Elasticsearch and we do not support this unk
  14. win7建WLAN热点
  15. 孟德尔随机化——如何选择工具变量
  16. 大鹏教你数据分析系列--运动员身材都是完美的吗
  17. mysql数据库表损坏修复方法(适用虚拟主机)
  18. Java全套面试题及答案整理(2022版)
  19. 汇编–从数据类型看WORD与DWORD
  20. Kafka index 和 log文件

热门文章

  1. Ubuntu 安装Samba(Linux与Windows共享文件)
  2. 深度学习自学(三十二):半监督焦点人物检测
  3. 和是java语言字符常量吗_在 JAVA 语言中,下列正确的字符型常量是_电路原理答案_学小易找答案...
  4. ftrace跟踪内核_用Ftrace跟踪内核模块
  5. ppct各代表什么_股票大盘分时图中白线和黄线各代表什么?/石嘴山 同花顺复盘...
  6. Tcl Tutorial 笔记6 ·while
  7. python和matlab的区别_我为什么选择Python,不是Matlab和R语言呢?
  8. python中相对路径_Python中的绝对路劲和相对路径
  9. mysql 对索引limit_【业务学习】关于MySQL order by limit 走错索引的探讨
  10. python代码范文_Python any()用法及代码示例