当前位置: 首页 > news >正文

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
http://www.jsqmd.com/news/99893/

相关文章:

  • 靠谱做会议资料打印、会场布置的知名企业
  • 91n推荐:最适合生产环境的TensorRT镜像部署方式
  • vLLM 0.11.0 发布:全面移除 V0 引擎,性能与多模态支持再升级
  • Langchain-Chatchat 0.3.1 Windows本地部署指南
  • 职业本科与高职专科低空专业就业方向全景对比
  • Windows下TensorFlow 2.5 GPU环境配置指南
  • 题目:字符串逆序
  • 44、Linux 相关工作许可与工具索引全解析
  • 使用两个栈来实现一个队列
  • MIL-STD-1553B总线仿真应用解析
  • Conda-forge构建SD3.5 FP8推理环境的正确姿势
  • 32、Linux系统磁盘管理与打印操作全解析
  • 2026中专直播电商,考什么证书找工作有优势?
  • 零基础部署Wan2.2-T2V-A14B:本地化视频生成全指南
  • 45、Linux系统使用指南:文件、多媒体与网络操作全解析
  • Ascend C高性能LayerNorm融合算子开发实战
  • 35、Linux实用技巧:日程管理、联系人管理与数学计算
  • EmotiVoice社区版与商业版功能对比指南
  • 开发者必看:LobeChat源码结构与二次开发入门路径
  • 告别听不清困境,声网STT让每一次沟通都被精准捕捉
  • [特殊字符] 如何让自定义音量条生效?彻底解决“按音量键只显示系统默认音量条”的问题
  • GitHub项目实践:Fork并定制你的个性化Anything-LLM前端界面
  • Fifth Assignment——Alpha Sprint
  • PaddlePaddle在企业级AI应用中的优势分析:开发便捷性与模型丰富性
  • IP地址信息查询API合集
  • YOLOv8 Pose姿态估计功能实战演示
  • BioSIM抗人TNFSF2/TNFα抗体SIM0348:专业品质与品牌保障
  • CodeSys执行G代码的CNC功能
  • 机房预约系统
  • PCB打板是否需要SMT贴片?——从工程实战角度看清本质