色弱如何识别色盲检测图
创作时间:
2025-01-22 20:25:23
作者:
@小白创作中心
色弱如何识别色盲检测图
色盲检测是许多色弱人群在体检时面临的一大难题。本文将从色弱人群的视角出发,详细介绍如何识别色盲检测图,包括使用工具辅助识别、自研程序识别以及通过逻辑推理识别等方法。
这难道不是一头鹿嘛?
先看看一张经典老图吧:这难道不是一头鹿嘛?
但是正常人看到的是一头牛,为什么会有这样的差别呢?
不知道大家是否有和我一样的困扰,能看清辨别日常生活中的红橙黄绿蓝青紫,但是体检色盲检测图就是看不清或者看到的和别人看到的不一样,高中体检、大学体检、驾照体检,成绩和技术都过关了,就因为色盲检查卡关,心里可太难受了。
因为咱们色弱视觉上对颜色类型不那么敏感,反而对颜色暗亮敏感。上面这张图的鹿头是偏亮的红色、身体和前腿是偏亮的蓝色绿色、后腿是偏亮的红色,所以我们会觉得他是一头鹿,但却是不同颜色组成。
借助工具识别色盲检测图
一次驾照体检,我为了解决色盲检测这个老大难的问题,一开始想的办法就是:把所有的图都背下来,背了小半天实在记不住,就放弃了。
我又在网上搜到了有一些工具可以辅助,例如:色弱眼睛、windows系统的颜色滤镜。我体验了一下windows颜色滤镜,确实有效果。
现在再重新查看图片,我也能识别出来是一头牛了。
但是windows的颜色滤镜有很多识别不了的图,例如:
自研程序辅助识别
自己动手写一套识别程序吧。每一张图片都是由n*m个点组成,每个点都有自己的rgb颜色,根据这些信息定义自己识别到的颜色。
public enum MyColorEnum {
//基础三色:红绿蓝
RED(new Color(255, 0, 0), BaseColorType.RED),
GREEN(new Color(0, 255, 0), BaseColorType.GREEN),
BLUE(new Color(0, 0, 255), BaseColorType.BLUE),
//混合三色: 黄、紫、青
YELLOW(new Color(255, 255, 0), BaseColorType.GREEN),
PURPLE(new Color(255, 0, 255), BaseColorType.RED),
CYAN(new Color(0, 255, 255), BaseColorType.GREEN),
//变种六色:橙(黄红)、粉红(紫红)、紫蓝、青蓝、青绿、黄绿
ORANGE(new Color(255, 140, 0), BaseColorType.RED),
PINK(new Color(255, 0, 140), BaseColorType.RED),
PURPLE_BLUE(new Color(140, 0, 255), BaseColorType.RED),
CYAN_BLUE(new Color(0, 140, 255), BaseColorType.BLUE),
CYAN_GREEN(new Color(0, 255, 140), BaseColorType.GREEN),
YELLOW_GREEN(new Color(140, 255, 0), BaseColorType.GREEN),
//灰色
GREY(new Color(140, 140, 140), BaseColorType.NONE),
;
private final Color color;
private final BaseColorType type;
}
颜色识别算法:
private MyColorEnum getMyColorEnum(Color color) {
int red = color.getRed();
int green = color.getGreen();
int blue = color.getBlue();
List<Integer> ns = Stream.of(red, green, blue).sorted().collect(Collectors.toList());
int maxN = ns.get(2);
int midN = ns.get(1);
int minN = ns.get(0);
//1. 是否是灰色: 三色较为接近,最大差值小于10,灰色
int d3 = maxN - minN;
if (d3 < 10) {
return MyColorEnum.GREY;
}
//2. 红绿蓝:最大色-第二大色>第二色-第三色
int d1 = maxN - midN;
int d2 = midN - minN;
if (d1 * brightnessColorFactor.getBaseFactor(red, green, blue) > d2) {
return maxN == red ? MyColorEnum.RED : maxN == green ? MyColorEnum.GREEN : MyColorEnum.BLUE;
}
//3. 黄青紫:黄色缺蓝,青色缺红,紫色缺绿;第二色-第三色 > 系数 * (第一色-第二色)
if (d2 > brightnessColorFactor.getMixFactor(red, green, blue) * d1) {
return minN == red ? MyColorEnum.CYAN : minN == green ? MyColorEnum.PURPLE : MyColorEnum.YELLOW;
}
//4. 青绿、黄绿、橙色、紫红、紫蓝、青蓝:取前两色,红色+绿色=橙色,绿色+红色=黄绿,红色+蓝色=紫红,蓝色+红色=紫蓝,蓝色+绿色=绿蓝,绿色+蓝色=青绿
if (maxN == red) {
return midN == green ? MyColorEnum.ORANGE : MyColorEnum.PINK;
}
if (maxN == green) {
return midN == red ? MyColorEnum.YELLOW_GREEN : MyColorEnum.CYAN_GREEN;
}
return midN == red ? MyColorEnum.PURPLE_BLUE : MyColorEnum.CYAN_BLUE;
}
识别到的效果如下:
驾照体检时,如何通过逻辑推理识别图片
- 先识别图片的主题颜色,也就是背景色,图片中处于边缘地带颜色最多的就是背景色。
- 选择数字颜色,技巧:红色是主题色,黄绿色、绿色、青色、蓝色就是数字的颜色;绿色是主题色,红色、粉红、红褐色、紫色、橙色就是数字的颜色。
- 从左至右,找选定的数字颜色块,根据选定的颜色走向挨着识别,大胆猜测,排除法论证:例如:根据颜色线条,猜测一个数字是8,如果缺了左下角,就是9,缺了右上角是6,缺了中间是0,缺了左上右下就是2
例子1:
- 上边、下边、左边、右边有很多的绿色,还有一些黑绿色(黑绿色虽然无法第一时间看出来),且没有红色,那这张图就是绿色主题。
- 主题色是绿色,那数字的颜色就是红色、深红色、红褐色
- 从左至右查找,找到第一个数字有点像8,猜测是8,再按照顺序每块颜色笔画验证,如下图:
- 继续从左至右,找到第二个红色块,如下图。猜测可能得数字2、8、0。按照线条红色块挨个查找,不难笔画出来是2。
- 继续从左至右,找到第三个数字的红色块,如下图。猜测数字0、8、2。按照线条红色块挨个查找出来是0。
- 最终得到的结果就是 820
例子2:
- 上边、下边、左边、右边都是红、橙色,且没有绿色,这张图就是红色主题。
- 选定的数字颜色是:绿色、黄绿色、黄色
- 从左至右,挨个查找。如下图所示:
所有色盲检测图片以及识别结果资源下载
https://download.csdn.net/download/m0_37681914/89013169?spm=1001.2014.3001.5503
图片识别自研程序源码下载
https://download.csdn.net/download/m0_37681914/89013185?spm=1001.2014.3001.5503
热门推荐
高原地区走一走,最怕什么?预防高原反应的3个技巧,收藏备用!
鸳鸯钺:一种融合了八卦的奇门兵器,看着样样精通,实则鸡肋至极
工作两天不给工资合法吗?遭遇工资拖欠怎么办?
系统全面展现中亚民族历史 | 新书《中亚民族史》
揭秘餐厅送餐机器人:六大核心技术详解
拔完牙后棉花应该什么时候取下?有什么注意事项?
《曹刿论战》中的军事战术解析
企业拖欠工资和不缴纳社保如何处理
如何科学解释八字命理的原理与应用
打造未来教育的智慧教室建设方案
河南大学全国排名(含河南大学最强专业解析)
最适合冬天吃的5道家常菜,简单易做,营养满分
傅佩荣教授讲解《道德经》第三十六章:柔弱胜刚强(上)
科普 | 带你了解路由器DHCP功能
软件测试如何写测试方案
时间紧任务重,B端设计改版该如何进行?
行政编处级干部和事业编处级干部有哪些区别?
溧阳:建设品质城市,助力常州万亿之城再出发
在加油站加油时应注意哪些安全事项?这些注意事项如何影响加油体验?
浙贝母:治咳嗽,散肿块
Excel表格文字超出单元格怎么隐藏
洗牙抛光啥意思?有没有必要抛光?多角度解析洗牙抛光和不抛光有 ...
【青医科普】老忘事儿,记忆力衰退是不是认知障碍疾病?
入乡随“服”,美景美服美不胜收
这个年龄一定要戒掉奶瓶,不然会让娃嘴巴外突,影响颜值还难矫正
哪吒三观不正?在《封神演义》的世界观里,他的行为很合理!
如何进行股票的买入和卖出操作?买卖操作的策略有哪些关键因素?
如何确定房子的大小?测量和计算方法详解
PIN限幅二极管在接收机中的应用
朱利叶斯·凯撒:古罗马的传奇与影响