news 2026/9/28 16:29:32

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/9/28 18:09:31

38、Linux 邮件与网页浏览实用指南

Linux 邮件与网页浏览实用指南 在 Linux 系统中,邮件管理和网页浏览是日常使用中非常重要的功能。下面将详细介绍相关的工具和操作方法。 邮件管理 查看邮件文件夹 可以使用 less 查看邮件文件夹,也能在文本编辑器中编辑。不过,文件夹会显示为一个包含所有邮件的长滚动…

作者头像 李华
网站建设 2026/9/27 11:57:52

41、互联网服务实用指南

互联网服务实用指南 在互联网的使用过程中,我们常常会涉及到文件传输、新闻阅读、系统和用户活动查询以及消息发送等操作。下面将为大家详细介绍这些操作的相关知识和具体方法。 1. 文件传输 在进行文件传输时,FTP(文件传输协议)是常用的工具。默认情况下,本地系统的当…

作者头像 李华
网站建设 2026/9/28 3:00:55

LLaMA-Factory微调与模型中断续训实战

LLaMA-Factory微调与模型中断续训实战 在大语言模型(LLM)日益渗透到企业服务、智能客服和垂直领域应用的今天,如何高效地对开源模型进行定制化训练,已成为开发者构建专属AI能力的关键一步。面对动辄数十GB的模型参数和复杂的分布…

作者头像 李华
网站建设 2026/9/28 8:40:00

GitHub项目实践:Fork并定制你的个性化Anything-LLM前端界面

GitHub项目实践:Fork并定制你的个性化Anything-LLM前端界面 在智能应用开发的浪潮中,如何让大语言模型(LLM)走出命令行、真正融入用户的日常操作体验?这不仅是技术挑战,更是产品思维的跃迁。一个直观、流畅…

作者头像 李华
网站建设 2026/9/27 7:16:05

pythonstudy Day37

MLP神经网络的训练 PyTorch的安装 我们后续完成深度学习项目中,主要使用的包为pytorch,所以需要安装,你需要去配置一个新的环境。 未来在复现具体项目时候,新环境命名最好是python版本_pytorch版本_cuda版本,例如 p…

作者头像 李华
网站建设 2026/9/26 22:24:40

Linly-Talker结合RAG技术实现知识增强型虚拟客服系统

Linly-Talker结合RAG技术实现知识增强型虚拟客服系统 在银行的智能柜台前,一位老人轻声问:“我这个月养老金涨了多少?”屏幕中的虚拟柜员微微一笑,眼神温和地回应:“根据您所在城市的最新政策,2024年起基础…

作者头像 李华