我正在开发一个使用OpenCV库的项目,它使用Emgu.CV.Image作为从相机捕获的图像。
我正在尝试将代码移动到Microsoft Azure Worker Role中以处理云中的图像处理。
我目前的解决方案中有一行代码
//Get the current frame from capture device
_currentFrame = _grabber.QueryFrame().Resize(320, 240, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC);
这行代码从相机抓取当前帧并返回类型>的图像。 Emgu.CV.Image
当我将此代码移至云端时,我将无法访问相机设备来抓取帧。
所以我想在我的代码需要来自当前帧的Emgu.CV.Image图像时,从base64图像字符串转换为.Net Image或Byte Array。
我遇到的挑战是我的代码想要使用Emgu.CV.Image,但我现在只有.Net Image,Byte Array或base64图像字符串。我需要将它转换为Emgu.CV.Image,我不太清楚如何去做。
请允许任何人按照正确的方向推动我。
答案 0 :(得分:3)
这是我最终选择的解决方案
public Emgu.CV.Image<Bgr, Byte> imageToEmguImage(System.Drawing.Image imageIn)
{
Bitmap bmpImage = new Bitmap(imageIn);
Emgu.CV.Image<Bgr, Byte> imageOut = new Emgu.CV.Image<Bgr, Byte>(bmpImage);
return imageOut;
}