unity3d的Texture2D与opencv的Mat之间的相互转换

时间:2016-08-08 12:46:32   收藏:0   阅读:3433

1. Texture2D to Mat

    1.1 通过png编码

int w=...
int h=...
...
Texture2D tex=new Texture2D(w,h,TextureFormat.RGB24,false,false);
Mat frame = new Mat(h,w, MatType.CV_8UC3);
...
//the key code
tex.LoadImage (mat.ToBytes(".png"));

   1.2 通过原始像素矩阵(数组)

 

2.Mat to Texture2D

    2.1 通过png编码

int w=...
int h=...
...
Texture2D tex=new Texture2D(w,h,TextureFormat.RGB24,false,false);

...
//the key code
Mat mat=Mat.FromImageData(img.EncodeToPNG());

    2.2 通过原始像素矩阵(数组)

int w=...
int h=...
...
Texture2D tex=new Texture2D(w,h,TextureFormat.RGB24,false,false);

//key code
Mat mat= new Mat(h, w, MatType.CV_8UC3, img.GetRawTextureData());
Cv2.CvtColor(tmp, tmp, ColorConversion.BgrToRgb);
 Cv2.Flip(tmp, tmp, FlipMode.X);

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!