首页 > 解决方案 > 调用 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);

调试使用 dll 的 UWP 应用程序时出错: 在此处输入图像描述

标签: c#c++opencvdlluwp

解决方案


所以我发现了问题:我已经在一些答案中读到了问题是调试的构建。我无法为 Release 构建的问题是,在设置 -> 链接器 -> 常规中,“附加库”或它的英文调用方式仅为调试模式设置。

只需将此设置从调试复制到发布,它将适用于发布,并且可以毫无问题地使用 dll :) 我希望这对任何人都有帮助。


推荐阅读