我使用MagicLeap耳机和MLCamera应用程序接口来捕获一个原始视频捕获,它的输出是YUV_420_888,我假设它是YUV420P。接口分别返回yBuffer、uBuffer和vBuffer。我在没有位图的情况下在c#上组合这些通道有问题,因为我使用的是unity,我使用的是单声道。我正在尝试做的是组合这些通道,并将其发送到我的远程python服务器,以处理我捕获的图像。为了处理图像,它需要是一个完整的图像。我已经尝试使用Y平面并创建灰度图像,但是服务器无法处理它,所以我需要在客户端合并所有3个通道,然后将其压缩为更好的jpeg,因为它的大小急剧减小,我正在处理420x420大小的图像,尽管相机输出为1920x1080。在过去的一周半里,我尝试了不同的方法,但找不到像样的东西。有几种方法特别适用于安卓系统,但如果没有必要的话,我不想把它转换成NV21。我也看到过一个带有ARCore的,但我也不能使用那个,因为我使用的是MagicLeap。
PS:延迟和处理时间非常重要,所以如果有一种方法可以直接将YCbCr转换为jpeg,而不是将其转换为RGB,我认为这会对我的情况更有帮助,但我不知道是否可能。总的来说,我认为我缺乏一些基础知识,这阻碍了我更进一步的发展。
任何帮助都是非常感谢的!
发布于 2021-06-12 12:27:44
我以前也尝试过类似的东西,在YUV420的东西上敲了几个星期的头,但还是解决不了。最后,我买了这个库OpenCV for Unity。它有专门为MagicLeap定制的部件,包括从降低分辨率的摄像头读取帧以提高速度。我不确定它是如何做到实时的。也许在降低的分辨率下,是的。
https://stackoverflow.com/questions/62431023
复制相似问题