我正在尝试从Unity接收摄像头图像,并将其作为图像消息(如sensor_msgs.msg.CompressedImage)发送到ROS2。在TO DO:部分,我需要定义一个函数,将字节数组转换为图像消息。ByteArrayToImage函数应该是什么?
``` Texture2D snapshot = new Texture2D(resWidth, resHeight, TextureFormat.RGB24, false);
snapCam.Render();
RenderTexture.active = snapCam.targetTexture;
snapshot.ReadPixels(new Rect(0,0,resWidth, resHeight), 0, 0);
byte[] bytes = snapshot.EncodeToPNG();
sensor_msgs.msg.CompressedImage ImageMsg = new sensor_msgs.msg.CompressedImage();
// TO DO : ImageMsg.Data = ByteArrayToImage(bytes);
image_pub.Publish(ImageMsg); ```
1条答案
按热度按时间hi3rlvi21#
您是否查看了正在使用的库的文档?
从this page about compressedImage开始,如果有一个包含png编码图像的字节数组,则只需将其设置为data,并指定格式:
请注意,我对ROS2和Unity都一无所知。