立体图:从图案中解码图像

时间:2014-09-24 10:26:28

标签: matlab image-processing matlab-cvst

在这个模式中,有一个水壶的图像。如果你真正专注,你可以看到它。我想知道我是否可以使用Matlab解码这种模式?给我一些提示或代码示例。

enter image description here enter image description here

3 个答案:

答案 0 :(得分:5)

警告

这个答案不会尝试以编程方式解决这个问题......相反,它专注于让Matlab为你做眼睛交叉*但是你仍然需要决定跨越它们的距离......

* 这个术语听起来不对,但我只是想用它

方法

简单地移动图像并从原始图像中减去它应该会给出合理的结果,但是选择移位是一个棘手的部分,但是一旦你知道像imData-circshift(imData,[shiftY,shiftX,0])这样简单的东西应该给出一个好的图像... < / p> 上面代码行的

Here is a crude but simple GUI wrapper ...(只需运行带有图像文件名作为参数的函数)

对于给定的图片,它没有给出很好的效果,但它在some of these上的效果更好

实施例

初始图片

Unsolved Magic eye

经过一段时间的播放 solved Magic eye

答案 1 :(得分:1)

我认为“如果真的专注,你可以看到它”是不正确的。在我的意见中,你宁愿离焦去看隐藏的图像。您必须专注于图像计划背后的思考对象。

要用matlab提取它,我建议尝试一些立体算法。将图像的每一行与自身相关联并找到重复。这与我们的大脑看到隐藏图像的方式相同。

答案 2 :(得分:0)

这个问题是一个立体视觉问题:如果你正确地穿过你的眼睛,你会看到3D中的物体。我建议你看看视差图:例如视差matlab函数(http://www.mathworks.co.uk/help/vision/ref/disparity.html) 从一对2D图像计算3D图像。