我正在尝试评估OpenCvsharp中的ForEachAs方法,但我不确定如何使用该方法。
我已将灰度图像加载到Mat类型中。然后我尝试在此图像上使用ForEachAsInt16方法。 ForEachAsInt16 metod将MatForeachFunctionInt16操作作为输入。所以我需要实例化这种类型的函数指针(委托)。我该怎么做?
答案 0 :(得分:1)
您需要在不安全的上下文中将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);
}
有关详细信息,请查看: