unity使用Texture在内存中切割图片

在unity2018中使用摄像头的WebCamTexture tex获取到图像后,需要对获得的图像进行切割处理,参考网上的代码进行了简单的切割处理,具体过程如下:

一、打开摄像头

 public RawImage m_orinalImage;
    public RawImage m_orinalImage2;
    WebCamTexture tex;
    byte[] imageDataBytes;//图像的buffer

void autoOpenVideo()
    {

        if (!gameObject.activeSelf)
            return;
        bool isOpenFlag = false;

        if (tex == null)
            isOpenFlag = true;
        else if (!tex.isPlaying)
        {
            isOpenFlag = true;
        }
        if (isOpenFlag)
        {
            m_orinalImage.texture = null;
            StartCoroutine(OpenVideo());
        }
    }
    IEnumerator OpenVideo()
    {
        yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);

        if (Application.HasUserAuthorization(UserAuthorization.WebCam))
        {
            WebCamDevice[] devices = WebCamTexture.devices;
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Texture Render是Unity的一个组件,它可以将相机所见的画面渲染到一个Texture,以供后续处理使用。以下是Texture Render的使用方法: 1. 创建一个Render Texture 在Unity的Project视图,右键点击空白处,选择Create->Render Texture,创建一个Render Texture。 2. 创建一个相机 在Hierarchy视图,右键点击空白处,选择Create Empty,创建一个空的GameObject,然后在Inspector视图,点击Add Component按钮,选择Camera,创建一个相机。 3. 配置相机 在Inspector视图,选择刚刚创建的相机,然后将Target Texture属性设置为刚刚创建的Render Texture。 4. 创建一个Quad 在Hierarchy视图,右键点击空白处,选择Create->3D Object->Quad,创建一个Quad。然后在Inspector视图,将Quad的Material属性设置为新建的Render Texture。 5. 渲染到Texture 在脚本使用以下代码将相机的画面渲染到Render Texture: ``` [SerializeField] private RenderTexture renderTexture; [SerializeField] private Camera renderCamera; void Update() { renderCamera.targetTexture = renderTexture; renderCamera.Render(); } ``` 其,renderTexture和renderCamera分别是步骤1和2创建的Render Texture和相机。 6. 使用渲染后的Texture 可以使用以下代码在UI显示渲染后的Texture: ``` [SerializeField] private RawImage rawImage; [SerializeField] private RenderTexture renderTexture; void Update() { rawImage.texture = renderTexture; } ``` 其,rawImage是一个RawImage组件,用于显示Texture。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值