如何辨别颜色名称

颜色一共有1600多万种,人类能够分辨的颜色大概有7000多种,但是精确地分辨出每一个颜色,挑战依然很大,目前市面上的颜色方案都分的很细,对于实际的应用场景来说其实用处不大。因为人们并不关心这个颜色的专业名称是什么,只关心它们属于哪个色系,叫什么。
目前还没有找到关于颜色识别很好的方案,这里开源一下自己的颜色解决方案,就当是抛砖引玉。希望有大牛能够指导一下颜色的问题要怎么解决,目前颜色的识别的准确率大约是80%左右,因为数据集中缺少灰色的数据,所以会把灰色识别为其他颜色。
我的解决方案如下:我有一份20万种颜色的数据集,里面的20万种颜色被分别命名为27种颜色,我将这些颜色的名称和数值送到knn中进行训练,然后输入新的数值进行预测。
代码如下:

import os
import sys
from sklearn.neighbors import KNeighborsClassifier
path3="color_name.txt"

file=open(path3)

list_color=[]
x=[]
y=[]
neigh = KNeighborsClassifier(n_neighbors=27)

for i in range(0,196600):
    color=[]
    line=file.readline()
    str1=line.split("]")[-1]
    if str1 not in list_color:
        list_color.append(str1)
        print str1
    str2=line.split(",")[0].split("[")[-1]
    str3=line.split(",")[1]
    str4=line.split("]")[0].split()[-1]
    color.append(int(str2))
    color.append(int(str3))
    color.append(int(str4))
    x.append(color)
    y.append(str1)


color_name=[]    

neigh.fit(x, y)
predict = neigh.predict([[50,20,20]])
print predict
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值