首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从NumSharp.NDArray转换为OpenCvSharp.InputArray

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

Stack Overflow用户
提问于 2020-10-08 15:01:21
回答 1查看 681关注 0票数 1

我正在尝试将我的Python代码转换为C#。我在VisualStudio2019中使用NumSharp和OpenCvSharp。python代码工作时没有错误,但我正在讨论代码的这一部分:

代码语言:javascript
复制
var  kernel = np.ones((9, 9), np.uint8);
Cv2.MorphologyEx(frame2, opening_ori,  MorphTypes.Open, kernel);

错误在

kerner

不能从NumSharp.NDArray转换为OpenCvSharp.InputArray

Python代码是:

代码语言:javascript
复制
kernel = np.ones((9, 9), np.uint8)
opening_ori = cv2.morphologyEx(frame2, cv2.MORPH_OPEN, kernel)

对此,我将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-10-08 16:19:13

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

像这样的东西应该能起作用(未经测试):

代码语言:javascript
复制
InputArray kernel = Mat.Ones(9, 9, MatType.CV_8UC);
Cv2.MorphologyEx(frame2, opening_ori,  MorphTypes.Open, kernel);

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64265346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档