我正在尝试使用OpenVino推断编译OpenCV,如下所述:
https://github.com/opencv/opencv/wiki/Intel's-Deep-Learning-Inference-Engine-backend
但是当我尝试在Windows上生成MSVC(2017)项目时,出现此错误:
CMake Error at C:/local/Intel/computer_vision_sdk_2018.5.445/deployment_tools/inference_engine/src/extension/cmake/CPUID.cmake:324 (file):
file STRINGS file "C:/local/opencv-build/cpuid.txt" cannot be read.
Call Stack (most recent call first):
C:/local/Intel/computer_vision_sdk_2018.5.445/deployment_tools/inference_engine/src/extension/cmake/feature_defs.cmake:17 (include)
C:/local/Intel/computer_vision_sdk_2018.5.445/deployment_tools/inference_engine/src/extension/CMakeLists.txt:9 (include)
使用的工具:
答案 0 :(得分:0)
我认为您为某些工具安装了不合适的版本。 请尝试使用CMake 3.4或更高版本,这是构建OpenVINO的英特尔®发行版所必需的。
请尝试按照“ https://software.intel.com/en-us/articles/OpenVINO-Install-Windows”中的步骤进行安装,并验证您是否能够使用OpenVino推断编译OpenCV。
答案 1 :(得分:0)
OpenVino上有一个forum post,表明该问题有一些解决方法。这是建议的解决方案:
在...\Intel\computer_vision_sdk_2018.5.456\deployment_tools\inference_engine\src\extension\cmake\CPUID.cmake
中(假设您遵循默认的OpenVino Toolkit安装,否则您首先需要从安装文件的位置找到该文件),请尝试在第251行进行以下更改:
// std::ofstream fo(\"cpuid.txt\"); old line
std::ofstream fo(\"${CMAKE_BINARY_DIR}/cpuid.txt\");
*确保变量名fo
与它后面的代码一致。
当同一文件的第319行获取文本文件时,这样可以避免路径不一致:
set(_CPUID_INFO "${CMAKE_BINARY_DIR}/cpuid.txt")
从堆栈跟踪中,您的${CMAKE_BINARY_DIR}
变量似乎设置为C:/local/opencv-build
,因此您应该期望在那里生成cpuid.txt
。
答案 2 :(得分:0)
我也遇到了此错误,但是我更改了 CPUID.cmake 这一行,如下所示:
if(HAVE_CPUID_INFO)
set(_CPUID_INFO "/home/huihui/intel/computer_vision_sdk_2018.4.420/inference_engine/build/cpuid.txt")
现在,该错误已解决。