C# EmguCV Image.setValue(...) 方法的 C++ OpenCV 等效项

Posted

技术标签:

【中文标题】C# EmguCV Image.setValue(...) 方法的 C++ OpenCV 等效项【英文标题】:C++ OpenCV equivalent for C# EmguCV Image.setValue(...) method 【发布时间】:2012-05-03 07:58:16 【问题描述】:

如果有人可以分享代码

什么是 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);

谢谢。

【问题讨论】:

【参考方案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);

【讨论】:

以上是关于C# EmguCV Image.setValue(...) 方法的 C++ OpenCV 等效项的主要内容,如果未能解决你的问题,请参考以下文章

[C#]emgucv教程1:摄像头读取

如何使用 EmguCV 和 C# 绘制直方图

使用 emgucv (c#) 查找人脸的位置

有没有办法在 C# 中使用 emguCV 比较两张脸?

VS2010+C#+EmguCV 配置详解

C# EmguCV图像处理实例