Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在x64平台上使用C#的OpenCV和Windows应用商店应用程序_Opencv - Fatal编程技术网

在x64平台上使用C#的OpenCV和Windows应用商店应用程序

在x64平台上使用C#的OpenCV和Windows应用商店应用程序,opencv,Opencv,我们试图将OpenCV C++ Windows运行时组件与C×Windows存储应用程序集成。我们目前正在Windows 8(x64)平台上工作,并使用Visual Studio 2012和OpenCV 2.4.5。实际目标是在x64平台上运行的C#Windows应用商店应用程序中检测人脸。我们使用Visual Studio 2012(x64平台)成功地安装了OpenCV 2.4.5,并将OpenCV的所有dll复制到“system32”文件夹,以便我们能够在上述平台上构建和运行OpenCV项目

我们试图将OpenCV C++ Windows运行时组件与C×Windows存储应用程序集成。我们目前正在Windows 8(x64)平台上工作,并使用Visual Studio 2012和OpenCV 2.4.5。实际目标是在x64平台上运行的C#Windows应用商店应用程序中检测人脸。我们使用Visual Studio 2012(x64平台)成功地安装了OpenCV 2.4.5,并将OpenCV的所有dll复制到“system32”文件夹,以便我们能够在上述平台上构建和运行OpenCV项目

以下是我们面临的问题:

我们成功地构建了包含Windows检测代码的C++ Windows运行时组件。但只要我们将其与商店应用程序集成,并尝试使WinRT的类成为对象。它抛出一个异常
  • 但是,如果我们对我们试图处理图像和级联的行进行评论,整个项目就可以正常工作
  • 仅使用上述代码,我们就能够在Win32控制台应用程序中检测人脸。但无法完成这项任务

    我给我们正在进行的项目的链接。 “”

    关于该项目: 1.“FACEDETCOWTININT”是C++ Windows运行时组件项目,它包含“Calp1.CPP”和“Cult1.H.”,其中包含用于人脸检测的代码。 2.“FaceDetectStoreApp”是C#Windows应用商店应用程序项目,它引用了上述项目,并被声明为“启动”项目。
    3.在“MainPage.xaml.cs”类下的“FaceDetectStoreApp”中有一个按钮,单击该按钮可调用“FaceDetectVirt”项目的函数“face”,该函数在工作时应返回检测到的面的坐标

    我做了同样的事情,结果非常相似。我在ARM设备上部署WinRT应用程序时获得了成功。您需要:

  • 将OpenCV DLL包含在C#项目中,标记为“内容”
  • 不要忘记highgui dll。objdetect dll依赖于它
  • 确保引用所有OpenCV.lib文件,每个OpenCV dll一个
  • 在configuration Manager中将配置切换到ARM
  • 部署到运行ARM的设备(即表面),通常通过远程调试器完成

  • 我还没有在x86设备(即Surface Pro)上成功运行该应用程序。我认为问题在于objdetect dll依赖于highgui dll。highgui dll的ARM构建只依赖于几个标准库。x86构建依赖于WinRT无法使用的几个附加库。我认为您可以通过在不使用highgui的情况下为x86构建OpenCV来实现它。您可以通过将BUILD\u opencv\u highgui CMake变量设置为OFF来完成此操作。

    long post,但缺少基本信息;(-调用opencv代码时,会出现什么异常?