如何检测物体是否为3D?

arv*_*han 5 3d opencv image-processing

我正在尝试构建一个解决方案,我可以区分具有约200微米高度的3D纹理表面和常规文本打印.

下图是纹理表面.这里的黑色是基面.

常规文本打印将是相同3D纹理表面的2D打印.

在此输入图像描述

[编辑]

关于解决这个问题的初步想法可能如下所示:

这里的一般想法是,在3D对象的不同角度拍摄的图像与在相似条件下针对2D对象拍摄的图像相比将彼此较少相关.

验证的可能方法之一可能是:1.拍摄2张图像,周围有足够的光线(相机闪光灯).这些图像应尽可能远离物平面拍摄.比如说,一个摄像头在左侧拍摄45度,另一个在右侧拍摄相同的角度.

提取ROI,透视更正它们.找到这两个图像的合成的GLCM.如果GLCM的对比度低,那么它将是3D图像,否则是2D.请原谅该语言,打开编辑建议.

arv*_*han 0

这里的总体想法是,与在相似条件下为 2D 对象拍摄的图像相比,以 3D 对象的不同角度拍摄的图像彼此之间的相关性较小。

一种可能的验证方法是: 1. 拍摄 2 张​​图像,周围有足够的光线(相机闪光灯)。这些图像应以距物平面尽可能远的角度拍摄。比如说,一张是在左侧以 45 度角拍摄的,另一张是在右侧以相同角度拍摄的。

  1. 提取投资回报率,透视校正它们。

  2. 找到这 2 个图像合成的 GLCM。如果 GLCM 的对比度较低,则其为 3D 图像,否则为 2D。

请原谅语言,开放编辑建议。