使用opencv 3.0 findHomography透视转换矩阵进行CALayer CATransform3D转换

时间:2015-08-21 22:51:01

标签: ios opencv perspective catransform3d homography

我目前正在iOS平台上尝试使用opencv。我们的想法是捕获视频源,然后在该Feed中查找图像。我正确地检测图像并且想要使用已知图像和屏幕上的图像之间的单应性来变换包含图像帧的CALayer(以便在图像周围绘制帧)。

我使用findHomography计算了两个图像之间的单应性。我已经验证了这种单应性是有效的,因为使用perspectiveTransform将图像周围的边框绘制成cv :: Mat可以在缩放,平移和旋转相机的3D下完美对齐。我想使用单应性来转换CALayer(iOS上的核心动画)以在捕获图像上绘制HUD。这将用于标记摄像机源中的定位图像。

我尝试过使用Tommy在Converting OpenCV's findHomography perspective matrix to iOS' CATransform3D的回答,但这不起作用。屏幕上没有显示图像。

我正在使用一个自定义CALayer子类,它只是在其框架中绘制一个矩形。我已经测试了这个没有变换,它的工作原理。但是,当我应用生成的CATransformation3D时,屏幕上没有任何内容。

我试图通过使用来自How to get rotation, translation, shear from a 3x3 Homography matrix in c#的汤姆答案来计算调查结果,但这些似乎很奇怪:它们以pi / 2为增量进行旋转,并且规模巨大。同时,perspectiveTransform似乎完美地使用了发现的单应矩阵。

opencv 3.0是否有一些变化使得上述2个问题的答案停止了?任何帮助将不胜感激!

0 个答案:

没有答案