簡體   English   中英

使用CameraGLSurfaceView以縱向模式顯示camera2預覽

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM