unity emgucv Texture2D转Mat / Mat转Texture2D / Texture 转 Texture2D

这篇具有很好参考价值的文章主要介绍了unity emgucv Texture2D转Mat / Mat转Texture2D / Texture 转 Texture2D。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Mat是emgucv的类,需要导入dll
首先需要导入emgucv要用的dll
免积分下载

Texture2D转Mat

    private Mat Texture2DToMat(Texture2D texture2D)
    {
        using (MemoryStream baseTexture_ms = new MemoryStream(texture2D.EncodeToPNG(), false))
        {    
            Bitmap bitemap = new Bitmap(baseTexture_ms);
            Image<Bgr, byte> imageCV = new Image<Bgr, byte>(bitemap);//注意Image的命名空间是Emgu.CV
            return imageCV.Mat;
        }
    }

Mat转Texture2D

    private Texture2D MatToTexture2D(Mat mat)//Mat转Texture2D
    {
        Image<Bgr, byte> resultImage = mat.ToImage<Bgr, byte>();
        Texture2D resultTexture = new Texture2D(1, 1);
        resultTexture.LoadImage(resultImage.ToJpegData());
        resultImage.Dispose();
        return resultTexture;
    }

这些不需要emgucv的dll,什么都不需要额外导入文章来源地址https://www.toymoban.com/news/detail-612960.html

Texture 转Texture2D

    private Texture2D GetTexture2D(Texture texture)
    {
        Texture2D texture2D = new Texture2D(texture.width, texture.height, TextureFormat.RGBA32, false);

        RenderTexture renderTexture = new RenderTexture(texture.width, texture.height, 32);
        RenderTexture.active = renderTexture;
        UnityEngine.Graphics.Blit(texture, renderTexture);//将纹理从Texture渲染到RenderTexuture

        RenderTexture.active = renderTexture;
        texture2D.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);
        texture2D.Apply();

        RenderTexture.active = null;
        GameObject.Destroy(renderTexture);

        return texture2D;
    }

到了这里,关于unity emgucv Texture2D转Mat / Mat转Texture2D / Texture 转 Texture2D的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Cesium 1.02.0 及以上版本下自定义材质报错:[Cesium WebGL] Fragment shader compile log: ERROR: 0:8: ‘texture2D‘

    2023年4月19日更新— 搞了一个 Cesium 镜像,欢迎使用:沙盒示例 和 API 在看到 Cesium 官方更新的日志, 最新版(1.103.0) 支持平滑缩放,于是升级尝试一下。 结果偶然发现,之前写的 墙体动态效果报错 ,经过调试,找到原因, Cesium 新版对 WebGL2 支持有变化 ,这里记录一下。

    2024年02月11日
    浏览(49)
  • Unity Texture优化和格式统一设置

    主要逻辑,按照项目所需,统一Texture格式和压缩方式,可以举一反三。 Unity - Manual: Texture Import Settings 《Unity性能优化》系列课程笔记——第叁节 - 哔哩哔哩 上门两篇文章可以多看看,了解下原理,了解下怎么降内存和适配移动平台。

    2024年02月15日
    浏览(53)
  • # Unity 如何获取Texture 的内存大小

    在Unity中,要获取Texture的内存文件大小,可以使用UnityEditor.TextureUtil类中的一些函数。这些函数提供了获取存储内存大小和运行时内存大小的方法。由于UnityEditor.TextureUtil是一个内部类,我们需要使用反射来访问它。 导入UnityEditor命名空间和System.Reflection命名空间: 创建一个函

    2024年02月12日
    浏览(43)
  • Unity - 搬砖日志 - Texture.mipmapBias 无效的解决方法

    Unity : 2020.3.37f1 Pipeline : BRP 因为美术发现有些贴图太糊,但是经过研究发现,mipmap0就是完全够精度的 但是不可能还要提升贴图的尺寸,因为经过多方咨询(咨询TA大佬) 发现是 unity 纹理一个 mipmapBias 的 import 属性,但结果设置了一样木有效果 最后TA大佬说,试试 shader 修改

    2023年04月22日
    浏览(42)
  • 【Unity】内存优化之— —Texture的MaxTextureSize以及Format压缩格式

    本人才疏学浅,只是近期略看了一下Texture的内存,如有不对的地方,还望大佬指正。 你所需要了解的几种纹理压缩格式原理 关于图片的内存,是怎么算的呢,就是图片的长乘以宽,乘以每个像素点占的byte大小。 MaxTextureSize,影响的就是基础的长和宽。 图片的压缩格式,影

    2024年03月11日
    浏览(44)
  • 【unity shader】水体渲染基础-基于texture distortion的流体流动材质

    当液体静止时,它在视觉上与固体没有太大区别。 但大多数时候,我们的性能不一定支持去实现特别复杂的水物理模拟, 需要的只是在常规的静态材料的表面上让其运动起来。我们可以对网格的 UV 坐标实现动态变化,从而让表面的纹理效果实现变形的动态变化。 1.1. uv实时

    2024年02月03日
    浏览(57)
  • 【学习笔记】Unity基础(七)【uGUI基础、利用render Texture实现小地图功能】

    转载请注明出处:🔗https://blog.csdn.net/weixin_44013533/article/details/130808689 本篇基本是大纲性质,参考价值不大,只有最后一小节“利用render Texture实现小地图功能”花了点时间,可以看看,不过也用到了上面的canvas、UI image等知识、以及input等脚本功能,也算一个小练手吧 倒是

    2024年02月08日
    浏览(47)
  • 快速解决Spine动画导入Unity后需要设置Straight Alpha Texture的问题

    在导入Spine资源后,Unity会根据不同的后缀,自动化构建出不同格式的资源。导入后,会发现播放的动画和导入前的动画的图片不一样。这时上网查基本都是需要手动吧材质资源的Straight Alpha Texture 勾上。 查看材质的Shader可以看出这个选项是用来选择颜色是否加了透明度的计算

    2024年02月16日
    浏览(37)
  • Unity发布后运行报错:Releasing render texture that is set as Camera.targetTexture!

    在IL 2CPP的编译模式下发布Window程序(支持热更新) A预制体被打到AB包里,A预制体依赖B预制体,而B预制体并未打到AB包里,而B预制体内有个Camera的GameObject对象,Camera的TargetTexture也是从本地拖拽上去的。 主要执行的流程是,运行程序,加载AB包,从AB包中加载资源A,然后通过

    2024年02月16日
    浏览(37)
  • 【学习笔记】Unity基础(八)【镜头camera组件属性(clear flag、target texture、occlusion culling、镜面效果、小地图等)】

    转载请注明出处:🔗https://blog.csdn.net/weixin_44013533/article/details/131071235 参考: 官网手册 Graphics 本人使用的unity版本是2021.3.25f 摄像机所看到的内容由它的Transform和 Camera component来定义。Transform position 定义了视点,其向前的 (Z) 轴定义视图方向。Camera 组件的设置还定义了视图中

    2024年02月13日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包