簡體   English   中英

如何在 Unity 中將 IplImage 轉換為 Texture2d

[英]How to covert IplImage to Texture2d in Unity

我在 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);

但它不起作用。 如何正確轉換它?

最簡單的解決方案是將圖像保存到本地,然后使用 WWW class 將其加載回 Texture2d object。 它總是可以正常工作,並且假設它是一台 PC,它不會導致性能下降。

有一條艱難的路要走。 如果您仍然需要它,我會發布樣本。

PS:使用 WWW 從本地加載的紋理將像正常的 function 調用一樣執行,因此甚至不需要 www。 這僅適用於獨立。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM