如何使用OpenCv从字节数组转换为IplImage? [英] How to Convert from Byte Array to IplImage using OpenCv?

查看:83
本文介绍了如何使用OpenCv从字节数组转换为IplImage?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用 OpenCv 将转换字节数组转换为 IplImage



是否可以使用 Opencv 进行从字节数组到 IplImage 的转换?

How to from Convert Byte Array to IplImage using OpenCv ?

Is it possible to do the conversion here from byte array to IplImage using Opencv ?

推荐答案

cvSetData(imageFrame,Buffer,Width * 3);



缓冲区字节数组

宽度* 3是IplImage每行中的字节数(我的情况宽度= 640)

imageFrame是一个IplImage *
cvSetData(imageFrame,Buffer, Width*3);

Buffer-Byte array
Width*3 is the number of bytes in each row of IplImage (my case Width=640)
imageFrame is an IplImage*


如果你然后使用以下函数在C#下有用#$ $


//字节到图像

public static Image< bgr,> ConvertByteToImage(byte [] bytes)

{

返回新的图像< bgr,>(新的Bitmap(Image.FromStream(new MemoryStream(bytes)))); < br $>
}



//图像到字节

public static byte [] ConvertImageToByte(Image< bgr,> My_Image)

{

MemoryStream m1 = new MemoryStream();

新位图(My_Image.ToBitmap())。保存(m1,系统.Drawing.Imaging.ImageFormat.Jpeg);

byte [] header = new byte [] {255,216};

header = m1.ToArray();

返回(标题);

}



以上逻辑可能会使用完整。
if you are use then following function useful under C#

//bytes to image
public static Image<bgr,> ConvertByteToImage(byte[] bytes)
{
return new Image<bgr,>(new Bitmap(Image.FromStream(new MemoryStream(bytes))));
}

//image to byte
public static byte[] ConvertImageToByte(Image<bgr,> My_Image)
{
MemoryStream m1 = new MemoryStream();
new Bitmap(My_Image.ToBitmap()).Save(m1, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] header = new byte[] { 255, 216 };
header = m1.ToArray();
return (header);
}

above logic may use full.


这篇关于如何使用OpenCv从字节数组转换为IplImage?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆