c# - 调用 findcontours UWP 时 OpenCV 崩溃
问题描述
我正在尝试创建一个稍后应在 HoloLens 上运行的 .dll。目前它只在 UWP 应用程序上运行。当我没有删除“findContours”行时,我遇到了一个问题。我已经尝试为 Release Build 构建它,但它不再找到 .dll,因为我使用 OpenCV-HoloLens NuGet-Package 让它工作,但似乎只有 Debug .dll。数据不会损坏或为空,因为 Canny 算法无法正常工作,也不会给出正常结果。
C++ .dll 代码:
cvtColor(datamat, gray, COLOR_BGRA2GRAY);
blur(gray, gray, Size(3, 3));
Canny(gray, canny, 50, 200);
vector<vector<Point>> contours;
findContours(canny.clone(), contours, RETR_EXTERNAL, CHAIN_APPROX_SIMPLE);
解决方案
所以我发现了问题:我已经在一些答案中读到了问题是调试的构建。我无法为 Release 构建的问题是,在设置 -> 链接器 -> 常规中,“附加库”或它的英文调用方式仅为调试模式设置。
只需将此设置从调试复制到发布,它将适用于发布,并且可以毫无问题地使用 dll :) 我希望这对任何人都有帮助。
推荐阅读
- html - 无法使用 If else 更改 context.FillStyle 颜色?
- pdf - 用 ghostscript 替换 PDFTK
- c# - 如何列出游戏对象上的所有组件排除变换以及如何销毁(删除)组件?
- python - 不明白这个 numpy ValueError 的原因
- linux-kernel - 如何在 I2C_SMBUS ioctl 的帮助下模拟 I2C_RDWR ioctl?
- javascript - Javascript中的“ + i + ”是什么?
- python-3.x - 使用 2 个堆栈创建一个队列
- c++ - 程序忽略 cin.get() 之后的所有内容并跳回菜单
- flutter - 带有用户进度指示器的 Flutter 自定义 AppBar 显示
- javascript - 使用graphQL和sequelize查找排序查询中相对于父查询的先前条目的值