如何将Image <gray,byte =“”>转换为Image <gray,float =“”>?</grey,> </gray,>

时间:2012-05-24 05:35:31

标签: c# emgucv

我试图从另一个图像中减去1个图像,有点像这样:

Image<Gray, float> result, secondImage;
Image<Gray, byte> firstImage;
result = firstImage - secondImage;

但它给出了错误

Operator '-' cannot be applied to operands of type 'Emgu.CV.Image<Emgu.CV.Structure.Gray,byte>' and 'Emgu.CV.Image<Emgu.CV.Structure.Gray,float>'

也许我需要将firstImage转换为Image<Gray, float>类型。但我不知道该怎么做。

1 个答案:

答案 0 :(得分:7)

引用the documentation

  

颜色和深度转换

     

在不同颜色和深度之间转换图像很简单。例如,如果您有Image img1并且想要将其转换为Single的灰度图像,那么您需要做的就是

Image<Gray, Single> img2 = img1.Convert<Gray, Single>();

因此,在您的情况下,您可以使用

result = firstImage.Convert<Gray, float>() - secondImage;