为Windows 10 IoT核心ARM编译OpenCV 3(Raspberry Pi)
使用Windows操作系统上的Visual Studio为Windows 10 IoT核心ARM(Raspberry Pi)编译OpenCV 3.*最简单的方法是什么为Windows 10 IoT核心ARM编译OpenCV 3(Raspberry Pi),opencv,arm,raspberry-pi3,windowsiot,windows-iot-core-10,Opencv,Arm,Raspberry Pi3,Windowsiot,Windows Iot Core 10,使用Windows操作系统上的Visual Studio为Windows 10 IoT核心ARM(Raspberry Pi)编译OpenCV 3.*最简单的方法是什么 我可以在其他contrib模块中使用DNN(深度神经网络)模块吗?我在尝试编译运行于Raspberry Pi 3上的适用于Windows 10 IoT Core(10.0.16299.0)的OpenCV 3.4.1时遇到了一些困难,因此我决定与社区分享我的经验 要求 您只需执行以下操作: OpenCV源代码(来自)opencv用
我可以在其他contrib模块中使用DNN(深度神经网络)模块吗?我在尝试编译运行于Raspberry Pi 3上的适用于Windows 10 IoT Core(10.0.16299.0)的OpenCV 3.4.1时遇到了一些困难,因此我决定与社区分享我的经验 要求 您只需执行以下操作:
- OpenCV源代码(来自)opencv用于核心功能,而opencv_contrib用于附加模块
- cmakegui()
- 使用ARM工具集和Windows10SDK的VisualStudio
- 用于UWP的Windows 10 SDK(10.0.16299.0):C++
- UWP 的VisualC++运行时
- ARM 的Visual C++编译器和库
- 操作系统:WindowsStore
- 版本:10.0
- 处理器:ARM
OPENCV\u EXTRA\u MODULES\u PATH
选项,并向您提供路径OPENCV\u contrib/MODULES
文件夹
再次单击配置
现在,您可以选择希望包含在构建中的模块。
在我的配置中,我有:
- 启用了构建opencv世界单个库(
)BUILD\u opencv\u world
- 禁用构建测试和应用程序(
,构建测试
,构建性能测试
)构建opencv应用程序
- (可选)启用Raspberry Pi NEON和VFP3优化(
,启用VPF3=ON
)。您可以使用Cmake中的“添加条目”(作为布尔值)来添加它们,但目前在处理这些选项时存在一些OpenCV make问题启用NEON=ON
BUILD\u opencv\u line\u descriptor
)和显著性模块(BUILD\u opencv\u salicence
),因为它们与Microsoft特定的popcnt存在问题,而MS编译器在ARM平台上无法使用
我使用了一个技巧来启用Windows的DNN模块。在中,您必须注释前三行:
#if(WINRT)
# ocv_module_disable(dnn)
#endif()
再次配置并单击生成。在Visual Studio中打开项目(.SLN)
默认项目为“全部生成”。这是要生成的项目。选择要生成的配置(发布或调试)。请注意,对于不同的配置,生成的导入库(.lib)和dll(.dll)将具有不同的名称
就这样!这些库可能是针对UWP应用程序(C++/CX)和ARM平台库的链接
此外,您可以使用相同的过程为x64或x86平台构建自己的配置:重新开始Cmake gui,选择不同的生成文件夹,在配置的第一步,选择Visual Studio 15 2017 x64或x86作为生成器,然后在交叉编译选项中选择相应的处理器。配置过程的其余部分看起来相同
要在Windows 10 IoT Core上进一步使用OpenCV,您可以查看Microsoft自己提供的示例,例如…感谢您的分发。为ARM上的IoT Core编译OpenCV 3.4对其他感兴趣的人来说非常有帮助。按照您的指导,我在列表中找不到
启用VPF3
和启用霓虹灯
@PawelIn Cmake gui您可以使用“添加条目”将这些选项添加为布尔值。不幸的是,OpenCV上存在一些未解决的问题,这些问题通常无法按预期工作。