视觉欺骗:你绝不会相信A和B颜色相同!

视觉欺骗:你绝不会相信A和B颜色相同!心理导读:图中标为A和B的两个方格其实具有相同的颜色。明明一黑一白的方格,EdwardH.Adelson却说它们颜色一样!到底应该相信科学家还是自己的眼睛?——www.xinli001.com要证明其实很简单,请下载这张图片,然后用任何可以取色的图像处理软件打开它,接着用取色工具提取A、B方格的颜色值。下图是本图在Paint.NET里面的取色结果。可以看出,A、B方格的

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

心理导读:图中标为A和B的两个方格其实具有相同的颜色。明明一黑一白的方格,Edward H. Adelson 却说它们颜色一样!到底应该相信科学家还是自己的眼睛? ——www.xinli001.com

视觉欺骗:你绝不会相信A和B颜色相同!

要证明其实很简单,请下载这张图片,然后用任何可以取色的图像处理软件打开它,接着用取色工具提取A、B方格的颜色值。下图是本图在 Paint.NET 里面的取色结果。可以看出,A、B方格的颜色同为RGB(120, 120, 120)。

视觉欺骗:你绝不会相信A和B颜色相同!

如果再用两条颜色值同为RGB(120, 120, 120)的竖条将A、B方格连接起来,就能非常明显地看出A、B方格一般货色。

视觉欺骗:你绝不会相信A和B颜色相同!

 

可是,这是为什么呢?本人翻译了Edward H. Adelson的解释。

人类视觉系统的一项重要任务就是辨识物体的颜色。本案例阐释了当它辨识平面上不同色块的灰度值时遇到的问题。

当大脑辨识颜色时,仅仅测量物体表面的反射光线(亮度)是不够的:影子会使物体的表面变得暗淡,从而使得阴影中的白色表面反射的光线反而少于完全光照下的黑色表面。我们的视觉系统玩了几个小把戏来弥补这个不足,以更精确地识别物体表面的阴影。

把戏一、大脑基于对比度的猜想:

无论色块是否在阴影之中,只要它比相邻色块都要亮,大脑就认为它的亮度肯定高于所有色块亮度的平均值。本图中,看似较亮的色块B被暗色块包围着,这样即使它实际的颜色是暗的,大脑仍然认为它比较亮。相反,看似较暗的色块A被比它亮的色块包围,因而大脑认定它比较暗。

把戏二、大脑对于阴影的边缘通常是柔和的,而色块的边缘通常是锐利的假想:

视觉系统总是倾向于忽略亮度上的渐变,以便于识别物体表面的真实颜色而不至于被阴影的效果所误导。本图中的人造阴影之所以看上去像真的阴影,就是因为它的边缘是模糊的,而且造成阴影的圆柱也很明显。但其实它不是阴影,于是我们的视觉系统被欺骗了,在并没有阴影的表面上启动了“忽略亮度上的渐变”的程序。

本图采用 “X交叉-四相邻” 模式构图,这种构图方式给大脑信号是物体表面真正的颜色改变而非阴影或亮度造成的颜色改变。

上述种种错觉产生的效果实际上证明了视觉系统的优点而非缺陷。虽然从物理学角度来说,我们的视觉系统并不是台称职的摄像机,对于测量实际的亮度和色彩很多时候力不从心。但精确测量并不是它的目标,视觉系统的终极目标是把接收到的图像转换成有意义的独立信息,然后再重新筛选、组合重要信息,从而让人类更好地感知自然界。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230782.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA 什么是多态?

    JAVA 什么是多态?面向对象编程有三大特性:封装、继承、多态。封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么,什么是多态呢?1.定义:多态:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象…

    2022年7月8日
    24
  • 提升效率的秘密,仅需这一篇吃透负载均衡

    提升效率的秘密,仅需这一篇吃透负载均衡写在前面写本文的目的: 对负载均衡的理解零零散散,不成体系。 阅读这篇文章需要的条件: 对OSI模型有些许了解 有耐心。本文涉及大量的知识点,且只能用文字才能讲清楚,所以文字比较多。 收获: 读完此篇文章,从宏观的角度理解了负载均衡的原理以及实现机制。加深对分布式架构的了解 主要内容: 本文首先从概念开始,讲解什么是负载均衡,以及负载均衡在分布式系统中所承担的角色以及提供的功能。 讲解负载均衡的分类。分别从软硬件角度、地域范围角度以及…

    2022年7月19日
    12
  • C#单纯的字母数字ASCII码转换

    字母转换成数字byte[]array=newbyte[1];//定义一组数组arrayarray=System.Text.Encoding.ASCII.GetBytes(string

    2021年12月27日
    45
  • axisfault 解析报文异常_fail to decode request due to

    axisfault 解析报文异常_fail to decode request due toAxisfaultfaultcode:Server.userException异常

    2025年9月1日
    7
  • PropertyDescriptor属性描述类学习

    PropertyDescriptor属性描述类学习1构造方法通过调用getFoo和setFoo存取方法,为符合标准Java约定的属性构造一个PropertyDescriptor publicPropertyDescriptor(StringpropertyName, Class<?>beanClass) 该构造函数使用简单属性的名称,以及读取和写入属性的方法名称publicPropertyDes…

    2022年9月28日
    5
  • sstream相关用法

    sstream相关用法 ①将数字转换为字符串       ②字符串转换为数字输入1234,输出1234输入123456分别输出12,34,56③把一行字符串放入流中,单词以空格隔开。之后把一个个单词从流中依次读取到字符串…

    2022年6月4日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号