small_image
=
image
.
resize
(
(
80
,
80
)
)
result
=
small_image
.
convert
(
"P"
,
palette
=
Image
.
ADAPTIVE
,
colors
=
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
)
)
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],