繁体   English   中英

无法从 NumSharp.NDArray 转换为 OpenCvSharp.InputArray

[英]Can not convert from NumSharp.NDArray to OpenCvSharp.InputArray

我正在尝试将我的 Python 代码转换为 C#。我在 Visual Studio 2019 中使用 NumSharp 和 OpenCvSharp。python 代码可以正常工作,但我正在使用这部分代码旅行:

var  kernel = np.ones((9, 9), np.uint8);
Cv2.MorphologyEx(frame2, opening_ori,  MorphTypes.Open, kernel);

错误在

内核

:无法从 NumSharp.NDArray 转换为 OpenCvSharp.InputArray

Python 代码为:

kernel = np.ones((9, 9), np.uint8)
opening_ori = cv2.morphologyEx(frame2, cv2.MORPH_OPEN, kernel)

我将不胜感激任何帮助。 谢谢。

您的 kernel 需要是 InputArray 类型(OpenCV 中有许多隐式转换,例如来自 Mat 或 MatExpr)。 对于像 1 的 9x9 矩阵这样简单的东西,您可以使用 OpenCV 函数来创建一个。

这样的事情应该有效(未经测试):

InputArray kernel = Mat.Ones(9, 9, MatType.CV_8UC);
Cv2.MorphologyEx(frame2, opening_ori,  MorphTypes.Open, kernel);

注意:对于更复杂的编组,您通常可以从一种类型中获取原始 memory 数组,并使用它来创建 Mat。

暂无
暂无

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

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