[英]Android camera surfaceTexture - How to preserve previous frames?
[英]Android Camera2 API preprocessing and writing frames in SurfaceTexture
嘗試在SurfaceTexture中顯示之前更改像素。
在OnFrameAvailableListener上簽名的SurfaceTexture:
@Override
public void onFrameAvailable(SurfaceTexture surfaceTexture)
{
...
}
據我了解這種方法,並想要更改像素,但是如何? 非常感謝您的任何回答和評論!
首先,如何繪制SurfaceTexture的輸出? 您是在使用TextureView類,還是使用實際的GLSurfaceView或類似的控件以及一組用於繪制預覽的OpenGL ES繪圖調用?
如果您使用的是TextureView,那么您無能為力-它會處理圖形,並且您無法將自己插入中間。
使用GLSurfaceView,您基本上是在編寫自己的OpenGL程序,該程序可以通過片段着色器等執行各種圖像處理。 但是您需要為此學習OpenGL編程的基礎知識,或者至少找到一個設置所有樣板的示例。
如果您使用的是camera2,則還可以考慮使用RenderScript進行處理。 Google的官方示例應用程序HdrViewfinder使用RS進行預覽時的實時處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.