如何使用C#脚本在Unity中将OpenCV Mat转换为Texture2D?

时间:2018-07-30 02:03:50

标签: c# opencv unity3d opencvsharp

我只想将Mat类型变量转换为Texture2D类型。

我可以将texture2D转换为mat,这仅使用EncodeToJPG()函数。 像这样:

Mat mat = Mat.FromImageData(_texture.EncodeToPNG());

Texture2D-> Mat很容易...但是我不能转换“ MAT-> Texture2D”

1 个答案:

答案 0 :(得分:2)

在opencvsharp中,使用df['sum'] = [sumthis(x, y) for x, y in zip(df.a, df.b)] print (df) a b sum 0 1 0 1 1 1 1 2 2 1 2 3 3 1 3 4 获取Mat的字节数组数据,然后根据Mat的高度和宽度在其上循环。在该循环中将素材数据复制到Mat.GetArray,最后使用Color32Texture2D.SetPixels32()设置和应用像素。

Texture2D.Apply()

如果您不是使用opencvsharp,而是使用C ++和C#自己制作插件,请参阅this帖子。