4.0中使用RequestTargetTexture 回调得到的RenderTexture 能够用于二维码识别吗? 我吧他转换成Texture2D保存出来的图片是空白的?
回调实现如下:
private CameraImageRenderer imgRender;
imgRender.RequestTargetTexture(CallBackFun);
public void CallBackFun(Camera camara,RenderTexture texture)
{
Debug.Log(camara);
Debug.Log(texture);
if (texture == null)
return;
imgShow.texture = camara.targetTexture;
RenderTexture.active = texture;
Texture2D tex = new Texture2D(texture.width, texture.height);//新建纹理存储渲染纹理
tex.ReadPixels(new Rect(0, 0, texture.width, texture.height), 0, 0);//把渲染纹理的像素给Texture2D,才能在项目里面使用
tex.Apply();//记得应用一下,不然很蛋疼
byte[] bytes = tex.EncodeToPNG();//拿到图片的byte
File.WriteAllBytes("c:\\hihi\\111.png", bytes);//写入本地 这里保存出来的图片只有几十K 没有内容
}
如上所示, 我需要对画面进行二维码识别, 但是Texture2D 图片没有内容, 请问怎么才能 获取摄像机实时画面并转换成Texture2D ?
另外在 Session.FrameChange 里面也可以获取到 图片Buffer 但是格式是 BGR888 请问怎么才能转换为 png 图片呢, 网上没有查询到相关资料。