首页 > 学院 > 开发设计 > 正文

阴影错觉Optical illusion

2019-11-06 07:57:33
字体:
来源:转载
供稿:网友

阴影错觉(Optical illusion)的例子有很多,我们这里列举一个edward adelson的例子,首先观察下面的图像

请问棋盘上A和B两个方格哪个更亮?

相信大家的答案都是A方格更亮,毕竟看上去B方格是处在绿色圆柱体的阴影中。

但是实际的结果却出人意料,如果把这张图放到图像编辑软件,如photoshop中,你会发现A和B的是一样的。

还有一种证明方法,就是放置两个长条在棋盘上,这两个长条均通过A和B,并且长条的颜色是不变的,如下图所示:

我们用Opencv来验证,基于边缘的定义,我们可以假想,如果A和B具有不同的亮度,那么对于颜色不变的长条在A或者B中肯定会存在边缘,我们用如下代码测试:

Mat srcImg = imread("shadow-illusion2.jpg");Mat srcImg_gray, cannyImg;cvtColor(srcImg, srcImg_gray, CV_BGR2GRAY);Canny(srcImg_gray, cannyImg, 10, 100);imshow("src", srcImg);imshow("canny", cannyImg);waitKey(0);其中shadow_illusion2是显示的上一张图,代码运行结果如下图所示:

请注意上图中红色的矩形框,这里面并没有包含边缘信息,所以可以肯定的是A和B具有相同的亮度。(红色矩形框是代码生成效果图后附加的)。

为什么我们的人眼视觉会告诉我们A和B具有不同的亮度呢?

一种解释是因为大脑以往的经验造成了大脑进行了某些特殊处理。以上图来说,因为绿色圆柱体的阴影挡住了B而没有挡住B,从我们以前的经验来说,由阴影方向可以判断光源位置,认为光源在右上角,也就认为B的亮度肯定不如A的亮度。

其实还有很多视觉错误的图片可以找到,有兴趣的人可以找找看。参考链接:http://www.businessballs.com/shadow-optical-illusion.htm


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表