news 2026/5/14 1:31:12

02.02.01.快速开始篇(OpenNI2-SDK案例 使用Eclise开发工具:创建Executable项目方式 ExtendedAPI)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
02.02.01.快速开始篇(OpenNI2-SDK案例 使用Eclise开发工具:创建Executable项目方式 ExtendedAPI)

本页目录

  • 1、创建项目
  • 2、配置
  • 3、测试

基础知识:02.01.01.快速开始篇(OpenCV案例 使用Eclise开发工具:创建Executable项目方式 打开图片 )

创建项目

  • 菜单位置:File》New 》 Other…》C/C++》C/C++ Project


  • 测试一下
    • 清理:右键项目 》Clean Project
    • 编译:右键项目 》Build Project
    • 运行:右键项目 Run As》 Run Configurations … 》C/C++ Application
      • Name:Test Debug
      • C/C++ Application输入列选择按钮:Search Project… 》自动生成Debug/Test
      • 点击运行:Run

配置

OpenNI2-SDK代码复制

根目录获取代码

  • OpenNI2/sdk/libs 》 排除:Android-Arm、Linux-Arm、MacOSX、arm-32、arm-64、Win32、Linux-x86(Linux-x64 同时出现才删除) 其他都要

  • OpenNI2/sdk/Include 》排除:Android-Arm、Linux-Arm、MacOSX、arm-32、arm-64、Win32、Linux-x86(Linux-x64 同时出现才删除) 其他都要

  • OpenNI2/samples/samples/ThirdParty 》排除:Android-Arm、Linux-Arm、MacOSX、arm-32、arm-64、Win32、Linux-x86(Linux-x64 同时出现才删除)demo 其他都要

  • OpenNI2/samples/samples/ExtendedAPI/{main.cpp,Viewer.cpp,Viewer.h} 》删除Src/Test.cpp

  • 源代码

    • 导入: File》Import…》General》Existing Projects into Workspace》选择项目:Test
    • 导入配置:右键项目 Import…》C/C++ 》C/C++ Project Settings》选择项目的配置:Test.xml

Eclipse配置项目

  • 菜单位置:右键项目 Project》Properties》C/C++ Build》Tool Chain Editor》Current builder 选择:Autolools Makefile Generator
  • 菜单位置:右键项目 Project》Properties》C/C++ Build》Settings
  • Binary Parsers》勾选GNU Elf Parser和Elf Parser
  • GCC C++ Compiler 》Miscellaneous》Other Flags:
-c -fmessage-length=0`pkg-config --cflags opencv4 gtk+-3.0 libuvc libusb-1.0 gl`
  • GCC C++ Compiler 》Includes》Include paths(-I)
# pkg-config --cflags opencv4 gtk+-3.0 libuvc libusb-1.0 gl/usr/local/software/opencv/build/install/include/opencv4;/usr/include/gtk-3.0;/usr/include/at-spi2-atk/2.0;/usr/include/at-spi-2.0;/usr/include/dbus-1.0;/usr/lib64/dbus-1.0/include;/usr/include/gtk-3.0;/usr/include/gio-unix-2.0;/usr/include/cairo;/usr/include/pango-1.0;/usr/include/harfbuzz;/usr/include/pango-1.0;/usr/include/fribidi;/usr/include/atk-1.0;/usr/include/cairo;/usr/include/pixman-1;/usr/include/libxml2;/usr/include/freetype2;/usr/include/harfbuzz;/usr/include/libpng16;/usr/include/gdk-pixbuf-2.0;/usr/include/libpng16;/usr/include/libmount;/usr/include/blkid;/usr/include/glib-2.0;/usr/lib64/glib-2.0/include;/usr/include/sysprof-4;/usr/local/include;/usr/local/include/libusb-1.0# 本地.h文件${workspace_loc:/${ProjName}}/sdk/Include/Driver;${workspace_loc:/${ProjName}}/sdk/Include;${workspace_loc:/${ProjName}}/src/ThirdParty/Common;${workspace_loc:/${ProjName}}/src/ThirdParty/d2c/Include;${workspace_loc:/${ProjName}}/src/ThirdParty/GL/GL;${workspace_loc:/${ProjName}}/src/ThirdParty/libuvc/include/libuvc;${workspace_loc:/${ProjName}}/src/ThirdParty/libuvc/include;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenCV420/Linux/include/opencv4/opencv2/calib3d;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenCV420/Linux/include/opencv4/opencv2/core;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenCV420/Linux/include/opencv4/opencv2;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenCV420/Linux/include/opencv4/opencv2/features2d/hal;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenCV420/Linux/include/opencv4/opencv2/flann;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenCV420/Linux/include/opencv4/opencv2/highgui;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenCV420/Linux/include/opencv4/opencv2/imgcodecs;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenCV420/Linux/include/opencv4/opencv2/imgcodecs/legacy;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenCV420/Linux/include/opencv4/opencv2/imgproc/hal;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenCV420/Linux/include/opencv4/opencv2/imgproc;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenCV420/Linux/include/opencv4/opencv2/photo/legacy;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenCV420/Linux/include/opencv4/opencv2/videoio;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenCV420/Linux/include/opencv4/opencv2/videoio/legacy;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenNI2/Include/Driver;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenNI2/Include;${workspace_loc:/${ProjName}}/src/ThirdParty/OpenNI2/Include/Linux-x86;${workspace_loc:/${ProjName}}/src/ThirdParty/PSCommon/XnLib/Include/Linux-x86;${workspace_loc:/${ProjName}}/src/ThirdParty/PSCommon/XnLib/Include;${workspace_loc:/${ProjName}}/src/ThirdParty/UvcSwapper/Include;${workspace_loc:/${ProjName}}/src/ThirdParty/XnLib/Include/Linux-x86;${workspace_loc:/${ProjName}}/src/ThirdParty/XnLib/Include;${workspace_loc:/${ProjName}}/src
  • GCC C++ Linker 》Libraries》Library search path(-L)
# 可以命令:pkg-config --libs opencv4 gtk+-3.0 libuvc libusb-1.0 gl 获得/usr/local/software/opencv/build/install/lib64;/usr/lib64;/usr/local/lib64;/usr/local/lib;/usr/local/software/OpenNI2/sdk/libs;/usr/local/software/OpenNI2/sdk/libs/OpenNI2/Drivers
  • GCC C++ Linker 》Miscellaneous》Linker Flags:
`pkg-config --cflags --libs opencv4 gtk+-3.0 libuvc libusb-1.0`
  • GCC C++ Linker 》Libraries》Libraries(-l)
# 可以命令:pkg-config --libs opencv4 gtk+-3.0 libuvc libusb-1.0 gl 获得opencv_gapi;opencv_stitching;opencv_aruco;opencv_bgsegm;opencv_bioinspired;opencv_ccalib;opencv_cudabgsegm;opencv_cudafeatures2d;opencv_cudaobjdetect;opencv_cudastereo;opencv_dnn_objdetect;opencv_dnn_superres;opencv_dpm;opencv_face;opencv_freetype;opencv_fuzzy;opencv_hfs;opencv_img_hash;opencv_intensity_transform;opencv_line_descriptor;opencv_mcc;opencv_quality;opencv_rapid;opencv_reg;opencv_rgbd;opencv_saliency;opencv_signal;opencv_stereo;opencv_structured_light;opencv_phase_unwrapping;opencv_superres;opencv_cudacodec;opencv_surface_matching;opencv_tracking;opencv_highgui;opencv_datasets;opencv_text;opencv_plot;opencv_videostab;opencv_cudaoptflow;opencv_optflow;opencv_cudalegacy;opencv_videoio;opencv_cudawarping;opencv_wechat_qrcode;opencv_xfeatures2d;opencv_shape;opencv_ml;opencv_ximgproc;opencv_video;opencv_xobjdetect;opencv_objdetect;opencv_calib3d;opencv_imgcodecs;opencv_features2d;opencv_dnn;opencv_flann;opencv_xphoto;opencv_photo;opencv_cudaimgproc;opencv_cudafilters;opencv_imgproc;opencv_cudaarithm;opencv_core;opencv_cudev;gtk-3;gdk-3;pangocairo-1.0;pango-1.0;harfbuzz;atk-1.0;cairo-gobject;cairo;gdk_pixbuf-2.0;gio-2.0;gobject-2.0;glib-2.0;uvc;usb-1.0;GL;glut;OpenNI2

测试

  • 摄像头连接电脑

  • /mnt/D/eclipse/Test/Test.cpp

    • 运行:选择项目 》左上角:>RunCTest Debug
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 1:04:07

33、Linux 系统打印与跨平台转换全攻略

Linux 系统打印与跨平台转换全攻略 在 Linux 系统中,打印和跨平台数据处理是常见的操作需求。本文将详细介绍 Linux 系统下的打印方法、文件打印前的准备工作,以及跨平台数据转换的相关技巧。 打印问题解决与多途径打印方法 当打印机出现问题时,可采取以下步骤解决:先将…

作者头像 李华
网站建设 2026/5/9 1:53:31

震惊!云服务器生产商排名大洗牌,这家竟逆袭成黑马!

震惊!云服务器生产商排名大洗牌,这家竟逆袭成黑马!近年来,全球数字化转型浪潮汹涌澎湃,云计算作为核心基础设施,其市场竞争日趋白热化。传统的市场格局正在被打破,一场深刻的云服务器生产商排名…

作者头像 李华
网站建设 2026/5/12 9:45:12

Cadence Allegro 电子设计 快问快答--05.OrCAD中字体的大小怎么设置?

大家好,本期分享的主题是:在OrCAD中如何设置字体大小。在电路设计与仿真过程中,工程师需要创建清晰易读的原理图,以确保设计的准确性和团队协作的高效性。下面我们分步介绍具体的操作方法:关键操作步骤:打开…

作者头像 李华
网站建设 2026/5/9 1:03:52

40、Linux 网络操作与服务使用指南

Linux 网络操作与服务使用指南 在 Linux 系统中,有许多强大的工具和命令可用于网络操作和使用各种互联网服务。下面将详细介绍这些工具和命令的使用方法。 1. 网页相关操作 1.1 下载文件与查看网页头部信息 使用 wget 命令可以方便地从网络下载文件。例如,使用以下命令…

作者头像 李华