[英]Displaying camera2 preview in portrait mode using CameraGLSurfaceView
我正在尝试使用Camera2 API和OpenCV的CameraGLSurfaceView在Android AR应用程序中使用OpenCV。 在纵向模式下使用应用程序时,图像仍处于横向模式(旋转90度并拉伸)。 在横向模式下使用它时一切正常。
据我所知,问题源于相机始终以横向模式提供帧,而OpenGL部分干扰视图调整为纵向模式。 因此,我尝试在代码的c ++部分中移植和翻转图像,以及将预览大小调整为纵向,但最终变为半黑色并压扁(见图像)。
还有另一种解决这个问题的方法吗?
有没有人有使用
CameraGLSurfaceView
在肖像模式下使用CameraGLSurfaceView的经验,可以帮我解决这个问题吗?
我实际上找到了一个在尝试至少一天之后对我有用的解决方案,可能在尝试之前我应该更多地考虑openGL ...
对于其他遇到同样问题的人,可以在OpenCV的CameraGLRenderBase中更改texCoord2D(您可以通过监听旋转变化并相应地调整坐标来扩展它)。 对于肖像模式,我可以设置它
private final float texCoord2D[] = { 1, 0, 0, 0, 1, 1, 0, 1 };
这种方法的优点是您不需要在OpenCV代码中进行任何翻转,它似乎根本不会影响帧速率。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.