我在图像上使用不同的彩色图像边框作为产品的唯一标识符。
我要做的是允许用户拍摄其中一张图片的照片,然后使用图像识别确定拍摄的图像,将照片与所有可能的照片进行比较不同的图像(即不同的边框颜色)。
我有OpenCV,我正在使用Android,但我对OpenCV和图像识别完全陌生。任何人都可以帮我解决问题吗?
答案 0 :(得分:0)
这是一个问题,因为你可以在解决方案中进一步,可能不会想要。
首先,您必须知道照片不会是一个精确形状的正方形,由于Homography的概念,它甚至不会产生源图像的并行性。 homography。因此,您必须从相机图像中提取一些特征,然后猜测图像所遭受的变换,以便了解相机图像是否适合您的任何模型(源图像)。
这在某种程度上更好地解释了here。
反正!虽然这是计算机视觉中一个有趣且实际的主题(我强烈建议你去研究),如果你可以选择一个近似红色或蓝色的(近似)方形,你仍然可以得到一个粗略的解决方案。尝试用纯色思考大的相关组件......
我希望这对你有所帮助!
答案 1 :(得分:0)
首先,你听说过二维码吗?这些将完成你想要的工作,并且有强大的读者可用。
这些半色调QR码非常酷 http://vecg.cs.ucl.ac.uk/Projects/SmartGeometry/halftone_QR/halftoneQR_sigga13.html
现在关于你的具体问题,我会尝试大致遵循这个管道:
//https://github.com/Itseez/opencv/blob/master/samples/cpp/squares.cpp
Find set of Box like shapes
Find largest Box from set
Find colour of largest box
现在,你肯定会遇到一些鲁棒性方面的问题,但是这个简单的管道应该向你揭示困难的情况,然后你就可以从中获取它。