我正在尝试构建一种解决方案,可以区分高度约为200微米的3D纹理表面和常规的文本打印。
下图是带纹理的曲面。这里的黑色是基面。
常规文本打印将是相同3D纹理表面的2D打印。

编辑
解决这个问题的最初想法可能是这样的:
这里的一般想法是,在3D对象的不同角度拍摄的图像与在类似条件下拍摄的2D对象的图像相比,彼此之间的相关性较小。
一种可能的验证方法是: 1.拍摄2张照片,周围有足够的光线(相机的闪光灯)。这些图像的拍摄角度应该尽可能远离物体平面。比方说,一张在相机前拍摄,左侧45度,另一张在右侧,角度相同。
提取ROI,透视校正它们。找到这两个图像合成的GLCM。如果GLCM的对比度低,那么它将是3D图像,否则是2D图像。请原谅语言,开放供编辑建议。
发布于 2017-01-15 06:28:55
这里的一般想法是,在3D对象的不同角度拍摄的图像与在类似条件下拍摄的2D对象的图像相比,彼此之间的相关性较小。
一种可能的验证方法是: 1.拍摄2张照片,周围有足够的光线(相机的闪光灯)。这些图像的拍摄角度应该尽可能远离物体平面。比方说,一张在相机前拍摄,左侧45度,另一张在右侧,角度相同。
请原谅语言,开放供编辑建议。
发布于 2017-01-17 08:59:41
如果你能得到不同角度或更锐利的角度或不同的光照条件的另一幅图像,你可能会得到结果。然而,使用两个不同角度的图像与校准相机可以得到立体视觉图像,这很容易解决您的问题。
发布于 2017-01-17 23:48:46
这是一个非常复杂的问题,没有一个即插即用的解决方案。使用光线(结构或激光)或阴影来探测0.2毫米的高度几乎肯定不会以可接受的置信度工作,无论你拍摄了多少“照片”。(这只是我个人的直觉,在计算机视觉中,我们通过实际测试来验证某些东西是否工作)。
GLCM是一个很好的描述纹理的功能,但据我所知,它是用来验证纹理中是否有模式的,所以,如果有某种重复的模式,我相信它会为2D打印文本输出一个正值。
我会让计算机学习什么是文本,什么是纹理。只需提取大量的3D和2D数据,并使用机器学习引擎来了解哪些是什么。如果特征空间足够丰富,它可能能够找到一种方法来区分一个和另一个,而我们的大脑无法做到这一点。特征空间应该由边缘和颜色特征组成。
如果系统环境是稳定和可控的,这种方法将特别有效,因为训练数据将与测试数据非常相似。
对于这个问题,我会从计算颜色和边缘特征(不同边缘和颜色通道上的局部图像像素和)开始,然后尝试增强分类器。当涉及到机器学习时,Boosted分类器并不是最先进的,但它们擅长不过拟合(这意味着您可以随心所欲地插入尽可能多的数据),并且很可能在稳定的环境中工作。
希望这能帮上忙
祝好运。
https://stackoverflow.com/questions/41355687
复制相似问题