# 缩小图片,否则计算机压力太大 small_image = image . resize ( ( 80 , 80 ) ) result = small_image . convert ( "P" , palette = Image . ADAPTIVE , colors = 10 # 10个主要颜色的图像 # 找到主要的颜色 palette = result . getpalette ( ) color_counts = sorted ( result . getcolors ( ) , reverse = True ) colors = list ( ) for i in range ( 10 ) : palette_index = color_counts [ i ] [ 1 ] dominant_color = palette [ palette_index * 3 : palette_index * 3 + 3 ] colors . append ( tuple ( dominant_color ) ) # print(colors) return colors image_path = r "../city.jpg" color = get_dominant_colors ( image_path ) print ( color ) 一、需求:从一张图片里提取主要的几种颜色二、效果:三、代码from PIL import Image, ImageDraw, ImageFontdef get_dominant_colors(infile): image = Image.open(infile) # 缩小图片,否则计算机压力太大 small_image = image.resize((80, 80)) result = small_image.convert( "P" 这段代码 主要 用来从 图片 提取 主要 颜色 ,类似Goolge和Baidu的 图片 搜索时可以指定按照 颜色 搜索,所以我们先需要将每张 图片 主要 颜色 提取 出来,然后将 颜色 划分到与其最接近的 颜色 段上,然后就可以按照 颜色 搜索了。  代码转自:http://www. python tab.com ‘aliceblue’: ‘#F0F8FF’, ‘antiquewhite’: ‘#FAEBD7’, ‘aqua’: ‘#00FFFF’, ‘aquamarine’: ‘#7FFFD4’, ‘azure’: ‘#F0FFFF’, ‘beige’: ‘#F5F5DC’, ‘bisque’:
目前在计算机视觉领域存在着较多类型的 颜色 空间(color space)。HSL和HSV是两种最常见的圆柱坐标表示的 颜色 模型,它重新影射了RGB模型,从而能够视觉上比RGB模型更具有视觉直观性。 HSV 颜色 空间      HSV(hue,saturation,value) 颜色 空间的模型对应于圆柱坐标系中的一个圆锥形子集,圆锥的顶面对应于V=1. 它包含RGB模型中的R=1,G=1,B...
文章目录前言一、Opencv是什么:二、代码1.引入库2.读入数据3.对 图像 进行预处理(滤波去噪,灰度处理,阈值分割)3.用find、draw contours函数 提取 小物块轮廓并画出,getpixel函数拾取轮廓内像素值4.在结果 图像 上标识5.利用matplotlib库使整个处理过程可视化6.Run 最近做了个识别物块 颜色 的小demo,迫不及待分享出来。 一、Opencv是什么: OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Wind.
1.先介绍我做的 颜色 识别的功能,简单的说,就是该脚本可以打开 图片 ,在 图片 上点击某个区域,可以识别某个区域的 颜色 颜色 识别准确度很高,很多时候 颜色 识别是辅助物体的 颜色 识别,但这个代码你们可以随意修改,就比如你们使用深度学习识别了车子,然后让自动让鼠标点击车子,识别车子 颜色 ,诸如此类。 2.读入 图片 ,使用opencv- python 库,安装opencv- python 命令 pip install opencv- python 没有设置下载源的使用命令 pip install opencv- python -i ht
颜色 是一张 图像 最具代表性的特征,那么如何去对一张 图像 进行主 颜色 提取 呢?这是今天所要解决的问题。 通过查阅相关资料发现,最常使用的主 颜色 提取 方法是利用Kmeans聚类的方法进行 颜色 提取 颜色 提取 方法流程: import numpy as np from scipy.cluster.vq import vq, kmeans, whiten import matplotlib.pyplot as plt fe = np.array([[1.9,2.0], [1.7,2.5], [1.6,3.1], [0.1,0.1],