我在Unity中使用opencvsharp。
我想将iplImage转换为Texture2D。我想这样做:
Texture2D alphaTexture = new Texture2D(1024, 768, TextureFormat.Alpha8, false);
alphaTexture.wrapMode = TextureWrapMode.Clamp;
alphaTexture.filterMode = FilterMode.Point;
IplImage originIplImageAAA = Cv.CreateImage(new CvSize(1024, 768), BitDepth.U8, 1);
Cv.Zero(originIplImageAAA);
int imgSize = originIplImageAAA.ImageSize;
IntPtr aa;
int step;
CvSize rawSize;
originIplImageAAA.GetRawData(out aa, out step, out rawSize);
byte[] imageData = new byte[imgSize];
Marshal.Copy(aa, imageData, 0, imgSize);
alphaTexture.LoadImage(imageData);
但它不起作用。如何正确转换?
答案 0 :(得分:0)
最简单的解决方案是将图像保存到本地并使用WWW类将其加载回Texture2d对象。它始终工作正常,并假设它是一台PC,它不会是性能下降。
有一个艰难的方法。如果您仍然需要,我会发布样本。
PS:从WWW本地加载的纹理将像普通函数调用一样执行,因此不需要www。这仅适用于独立。