繁体   English   中英

如何在OpenCVsharp中使用Mat.ForEachAsDouble方法

[英]How to use Mat.ForEachAsDouble method in OpenCVsharp

我正在尝试评估OpenCvsharp中的ForEachAs方法,但不确定如何使用该方法。

我已将灰度图像加载为Mat类型。 然后,我尝试在此图像上使用ForEachAsInt16方法。 ForEachAsInt16方法采用MatForeachFunctionInt16操作作为输入。 因此,我需要实例化这种类型的函数指针(委托)。 我怎么做?

您需要在不安全的上下文中传递带有适当签名的unsafe命名函数作为ForEachAsInt16()参数,并使用/unsafe关键字编译您的项目。

具有适当签名的函数示例:

unsafe static void Operation(short* pixel, int* position)
{
    // Get or set pixel value.
    short intencity = *pixel;
    var row = position[0];
    var col = position[1];
}

您可以将其作为参数传递:

unsafe
{
    mat.ForEachAsInt16(Operation);
}

有关更多信息,请检查:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM