遇到个难道,图像识别颜色,然后返回识别对应颜色的别称

2021-05-02 13:08:31 +08:00
 hellogitooxx
我得到一张图片,图片是在视频里截图出来的,如下(类似),
https://i.loli.net/2021/05/02/Ij4FZ86fYtzDgTu.jpg
我得得到识别图像中的颜色,然后返回所对应颜色的别称。
需要反回的的数据:
https://i.loli.net/2021/05/02/J7QECBwdnvW3k29.jpg
刚开始我网上搜索,一般使用的是 opencv 获取图像 RGB 值,但我对 opencv 了解不多,
想请教有什么方法快速识别图片中的颜色然后使用对应的颜色文字
2060 次点击
所在节点    Python
5 条回复
crab
2021-05-02 13:15:33 +08:00
webcolors rgb_to_name ?
pcbl
2021-05-02 13:52:48 +08:00
opencv 自己获取的话对有透明度的 png 图片需要特殊处理,一般获取到的是 rgb 格式的颜色值,需要提前定义目标颜色的 rgb 列表,然后通过计算找到最接近的那个图片名字:计算原理是把颜色值看作 3 维空间的点,两个点距离最近的就是最接近的颜色
imn1
2021-05-02 14:00:01 +08:00
你这题其实是两种解法,一个是未知边缘找出色块分布,一个是实际已知色块的边缘,找出是什么颜色
前者需要一定图片分析功能,所以搜出来 opencv 的文章多
后者获取某个点的 RGB,根据该点所处色块标注,大部分图片类的模块都可以,不需要非用 opencv 不可

所以你的图,是否都是这种方方块块可以通过数学方法,推导求边缘位置的,如果是,用第二种求法。如果不是,就要分析图片了
sadfQED2
2021-05-02 14:07:11 +08:00
如果你方块边框颜色是固定的,直接遍历图片像素点,然后分割边界就行了,根本不用 opencv 。
billlee
2021-05-02 15:49:04 +08:00
这从视频截出来的,色彩信息肯定被压缩过了,识别颜色要在 YCbCr 色彩空间上操作吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/774617

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX