优草派  >   Python

Python如何提取图片颜色?Python提取图片颜色方法是什么

罗西汉            来源:优草派

python中可以通过各种第三方库和模块来对图片进行操作,而彩色图片上是有着各种不同颜色的,那么就有小伙伴想要知道有没有什么方法可以将这些颜色都提取出来。那么下面就会来详细讲解一下,python提取图片颜色方法的使用教程,感兴趣的话就往下看看吧。

Python如何提取图片颜色?Python提取图片颜色方法是什么

1.python之中用来提取图片颜色的模块是extcolors,而该模块调用方法提取图片颜色只需要传入图片路径和参数即可,代码示例如下所示:

import extcolors
colors_x = extcolors.extract_from_path(img_url, tolerance=12, limit = 12)
([((3, 107, 144), 180316),
  ((17, 129, 140), 139930),...)

从上面代码之中就可以看出来该模块提取图片颜色需要传入图片路径、公差以及颜色数量三个参数。而公差指的就是颜色之间的差异,因为图像中颜色可能很相似接近但是不同,那么这个公差参数就指的是在一定范围内折中获取该类颜色。

最后的参数limit表示获取多少种颜色,它也是需要和公差参数配合使用才可以。返回的结果是元组列表,其中每个颜色都是以元组类型RGB值保存的。

2.那么这样获取到的RGB值实际上还是无法直接去使用以及转为具体颜色的,需要将其转为十六进制类似于#000000这样的格式才可以。那么这个就需要用到colormap模块了,将颜色转为该格式之后保存到映射表之中,详细代码示例如下所示:

colors_pre_list = str(colors_x).replace('([(', '').split(', (')[0:-1]
df_rgb = [i.split('), ')[0] + ')' for i in colors_pre_list]
df_color_up = [rgb2hex(int(i.split(", ")[0].replace("(", "")),int(i.split(", ")[1]),
int(i.split(", ")[2].replace(")", ""))) for i in df_rgb]

因为图片颜色提取出来之后会保存在多重嵌套的元组以及列表之中,所以需要先将其拆解开取出来具体数据之后才能够来获取值将其转为十六进制颜色代码。

以上就是关于“Python如何提取图片颜色?Python提取图片颜色方法是什么”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行