5

我正在尝试从另一个图像中减去 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>类型。但我不知道该怎么做。

4

1 回答 1

9

文档中引用:

颜色和深度转换

在不同颜色和深度之间转换图像很简单。比如你有Image img1,你想把它转换成Single的灰度图,你需要做的就是

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

所以,在你的情况下,你可以使用

result = firstImage.Convert<Gray, float>() - secondImage;
于 2012-05-24T05:42:23.677 回答