0

如果有人可以分享代码

C# EmguCV 框架中 Image.setValue(...) 方法的 C++(OpenCV) 等效项是什么。emgucv 参考: http ://www.emgu.com/wiki/files/2.3.0/document/Index.html

例如接下来如何用 C++ 编写代码:

 private static Image<Gray, Byte> FilterPlate(Image<Gray, Byte> plate)
 {
  ...
  Image<Gray, Byte> thresh = plate.ThresholdBinaryInv(new Gray(120), new Gray(255));
  using (Image<Gray, Byte> plateMask = new Image<Gray, byte>(plate.Size))
  plateMask.SetValue(255.0);
  ...
  thresh.SetValue(0, plateMask);
  }

尤其是接下来的 C++ 等价物是什么:

  thresh.SetValue(0, plateMask);

谢谢。

4

1 回答 1

1

我没有使用 EmguCV,但正如文档所说

 thresh.SetValue(0, plateMask);

使用特定掩码将 Array 的元素设置为 val

所以,我认为,你可以使用

void cvSet(CvArr* arr, CvScalar 值, const CvArr* mask=NULL)

Sets every element of an array to a given value.

http://opencv.willowgarage.com/documentation/operations_on_arrays.html#set

例子:

cvSet(thresh, CvScalar(0), plateMask);
于 2012-05-03T08:46:27.413 回答