将 RGB/hex 颜色代码映射到一般颜色类别
Mapping RGB/hex color codes to general color categories
是否有一个数据集将每个 ~16M RGB 或十六进制颜色值映射到一般颜色 family/category - 例如红色、紫色、橙色、米色、棕色等 - 我可以通过编程方式访问或加载到数据库或 JSON 文档中以交叉引用颜色代码?用例是将样本文件的 PIL 颜色检测结果分类到购物网站的一小组颜色选择器中。如果映射更精细一些,比如 100-200 个类别,它也会起作用,因为我自己可以很容易地将这些映射到我的目标 10-15。我对 kNN 分类有一些了解,如果有必要,我会使用它,但是如果静态映射已经存在的话,使用它会容易得多。
您可以使用 table 例如 X11
http://www.astrouw.edu.pl/~jskowron/colors-x11/rgb.html
为了找到颜色接近度,最好先将颜色转换为Lab颜色space,这样欧几里德距离更有意义,然后最近邻会给出很好的结果。
您可以从 RGB 转换为 CIE Lab 颜色 space,其中两种颜色选择之间的欧几里得距离在感知上更有意义。这里是OpenCV的颜色转换方法(cvtColor)中使用的link到所有相关颜色space的转换公式:http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html
由于您的用例是比较两个色板,我建议您除了颜色信息外还使用纹理描述符 (http://www.robots.ox.ac.uk/~vgg/research/texclass/with.html) 以获得更好的结果。
是否有一个数据集将每个 ~16M RGB 或十六进制颜色值映射到一般颜色 family/category - 例如红色、紫色、橙色、米色、棕色等 - 我可以通过编程方式访问或加载到数据库或 JSON 文档中以交叉引用颜色代码?用例是将样本文件的 PIL 颜色检测结果分类到购物网站的一小组颜色选择器中。如果映射更精细一些,比如 100-200 个类别,它也会起作用,因为我自己可以很容易地将这些映射到我的目标 10-15。我对 kNN 分类有一些了解,如果有必要,我会使用它,但是如果静态映射已经存在的话,使用它会容易得多。
您可以使用 table 例如 X11
http://www.astrouw.edu.pl/~jskowron/colors-x11/rgb.html
为了找到颜色接近度,最好先将颜色转换为Lab颜色space,这样欧几里德距离更有意义,然后最近邻会给出很好的结果。
您可以从 RGB 转换为 CIE Lab 颜色 space,其中两种颜色选择之间的欧几里得距离在感知上更有意义。这里是OpenCV的颜色转换方法(cvtColor)中使用的link到所有相关颜色space的转换公式:http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html
由于您的用例是比较两个色板,我建议您除了颜色信息外还使用纹理描述符 (http://www.robots.ox.ac.uk/~vgg/research/texclass/with.html) 以获得更好的结果。