首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OpenCV + Realsense : 2019错误

OpenCV + Realsense : 2019错误
EN

Stack Overflow用户
提问于 2018-03-17 04:50:02
回答 1查看 1.6K关注 0票数 0

我不能把OpenCV和英特尔Realsense Viewer源代码。集成起来

注意:我现在在Windows 10上。

我用的是2017年的视频工作室。msvc 14.12

opencv版本是3.4.1 (windows ),这是为您预先构建的版本。

我构建并安装了来自github的intel realsense sdk。这是成功的。我还使用OpenCV实例构建并成功安装了openCV I下载

当我尝试将OpenCV链接到realsense查看器项目时,问题就出现了。

我尝试将openCV链接到的步骤如下:

  1. 在visual中打开intel realsense sdk解决方案(这是名为.sln的librealsense2)
  2. 转到visual studio中的“解决方案资源管理器”面板中的realsense-vewier项目。
  3. 右键单击项目“realsense-viewer”,然后选择属性
  4. 确保上面的两个下拉框有“x64”和“所有配置”
  5. 转到C/C++ ->通用选项(从左侧白色框中),然后转到“其他包含目录”
  6. 在目录%OpenCVDownloadRoot%/build/include和%OpenCVDownloadRoot%/build/include/opencv中添加(这是示例OpenCV项目的配置

现在,openCV的一些函数没有在“realsense-viewer”项目中正确链接(这很奇怪,因为SDK中的OpenCV项目中的工作,尽管属性是相同的)。这些错误如下:

因此,我遵循了一些额外的步骤,看看我是否能让它发挥作用。

  1. 在“属性”对话框(刚才所在的对话框)中,选择“Linker”,而不是选择C/C++。
  2. 在“附加库目录”的选择中,添加%OpenCVDownloadRoot%/build/x64/vc15 15/lib
  3. 在“链接器”属性中,搜索输入(链接器->输入)
  4. 在“附加依赖项”选择中添加“opencv_world341d.lib”。

现在我们得到一个完全不同的错误:

现在realsense库没有被识别出来。除上述情况外,没有任何其他属性被修改。我可以确认步骤10导致了所有这些错误。即使在执行完所有步骤后,我也会反转步骤10的操作,但上面的错误仍然是-> --这一定是visual的错误。

对于如何让OpenCV 3.4.1 +realsense-查看器(来自SDK)在VisualStudio2017中工作,有什么帮助或提示吗?

编辑:我已经读过:什么是未定义的引用/未解决的外部符号错误,以及如何修复它?

但是,我已经正确地链接了glfw和所有其他需要链接的东西,以便错误信息消失。我相信问题可能是英特尔有一个bug,或者vs有一个需要解决的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-17 06:04:33

在公园散步后找到的解决方案(假设您使用的是windows 10,visual studio 2017用于该项目):

进入本地librealsense项目文件夹。

转到C:\Users\yourName\to\your\local\realsense\folder\librealsense\tools\CMakeLists.txt

将以下内容添加到文件的末尾:

find_package(OpenCV必需) 列表(追加依赖项realsense2 ${OpenCV_LIBS})

所以整个文件如下:

最低要求的cmake版本: 3.1.0 cmake_minimum_required(版本3.1.0) 项目(RealsenseTools) 将命令行编译命令保存在生成输出集中(CMAKE_EXPORT_COMPILE_COMMANDS 1) 在生成过程中查看makefile命令 设置(CMAKE_VERBOSE_MAKEFILE开启) 此参数用于在生成 保存到磁盘的目标。选项(BUILD_GRAPHICAL_EXAMPLES)“构建图形示例”。( ON) 包含(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++11“COMPILER_SUPPORTS_CXX11) CHECK_CXX_COMPILER_FLAG("-std=c++0x”COMPILER_SUPPORTS_CXX0X) if(COMPILER_SUPPORTS_CXX11)集(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")其他(COMPILER_SUPPORTS_CXX0X)集(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") endif() if(BUILD_GRAPHICAL_EXAMPLES) find_package( OpenGL ) if(非OPENGL_FOUND)消息(FATAL_ERROR "\n\n OpenGL package!\n\n“) endif() set( realsense2 ${OPENGL_LIBRARIES}) if(WIN32) list(追加依赖项glfw3) glfw3()#查找glfw报头find_path(GLFW_INCLUDE_DIR名称为GLFW/glfw3.h路径/usr/X11R6/include /usr/include/X11 /opt/OpenGL/include/opt/图形/OpenGL/OpenGL/opt/图形/OpenGL/cont肋骨/libglfw /usr/local/include/usr/include/GL /usr/include )#查找glfw库find_library(GLFW_LIBRARIES名称glfw glfw3 PATHS /usr/lib 64 /usr/ lib /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} /usr/local/lib 64/usr/本地/lib /usr/ local/lib /${CMAKE_LIBRARY_ARCHITECTURE} /usr/X11R6/lib ) if(APPLE) find_library(COCOA_LIBRARY Cocoa) find_library(IOKIT_LIBRARY IOKit) find_library(COREVIDEO_LIBRARY CoreVideo)列表(附加依赖项${COCOA_LIBRARY} ${IOKIT_LIBRARY} ${COREVIDEO_LIBRARY})endif() list(追加依赖项m{GLFW_LIBRARIES} ${LIBUSB1_LIBRARIES}) include_directories(${GLFW_INCLUDE_DIR}) endif() set()set(依赖项realsense2) if(非WIN32)列表(追加依赖项m ${LIBUSB1_LIBRARIES}) endif() endif() endif() 允许此项目访问opencv find_package(OpenCV必需) find_package(OpenCV REQUIRED)集(依赖项realsense2 ${OpenCV_LIBS}) Add_subdirectory(终端) add_subdirectory(fw-logger) add_subdirectory(枚举设备)add_subdirectory(realsense-查看器)add_subdirectory(数据收集)add_subdirectory(深度-质量)add_subdirectory(ros袋-检查器)

然后使用cmake gui重新构建项目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49332616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档