概述
对照官方手册翻阅了提供的源代码,总体感受代码非常工整,风格也非常统一,命名通俗易懂,甚至代码间没有两行以上的空行看着真的舒服。
基本了解了CeleX5的API之后,开始自己写一个完整的小程序,熟悉基本配置。
1. 头文件
共需要4个头文件:celex5.h, celex5datamanager.h, celex5processeddata.h, 以及 celextypes.h
需要将前三个文件放到一个文件夹下,而celextypes.h放到文件夹之外。因为在celex5.h头文件中采用以下代码读取了celextypes.h文件
#include "../celextypes.h"
自己的代码中使用时只需要包含celex5.h即可。
2. 链接库
如果直接使用官方提供的链接库会出现问题,因为官方提供的libCeleX.so文件依赖的是opencv330,在CMake进行link时会报错:解决办法就是自己重新编译libCeleX.so。
进入官方提供文件的 Sources下能够发现生成libCeleX.so的Makefile文件。因为用CMakeLists多不太懂Makefile,但看文件内部并没有指定OpenCV的版本而是直接寻找的库,所以直接make编译即可。编译完成后当前目录下生成了新的libCeleX.so。使用这个库便是依赖的当前系统的opencv版本。
3. CMakeLists编译
写一个简单的CMakeLists.txt即可编译通过
cmake_minimum_required(VERSION 2.8.3)
project(celexEx)
set(CMAKE_CXX_STANDARD 11)
find_package(OpenCV REQUIRED)
include_directories(include)
link_directories(/home/larrydong/Desktop/celexEx/libs)
add_executable(celexEx main.cpp)
target_link_libraries(celexEx ${OpenCV_LIBS} CeleX)
4. 配置文件
FPN文件
由于运行时需要载入FPN文件消除Fix Pattern Noise,则需要在运行时指定之前由GUI程序中生成的 FPN_xxx.txt的文件路径。
cfg_mp/cfg_mp_wire文件
在运行程序时出现报错:“Can’t load: Fialed to open file/xxx/cfg_mp”
后来发现需要将cfg_mp和cfg_mp_wire两个文件放到可执行文件运行时的目录,即build路径。之后可成功启动。
5. 遇到的问题
1. 启动程序时需要有sudo权限
2. cfg文件的问题
当不存在两个cfg文件时如果启动了程序,会生成一个"CeleX5_Commands_MIPI.xml"配置文件,但此时这个文件是空的。之后拷入两个cfg后运行,会提示报错:
Error document empty. /xxx/CeleX5_Commands_MIPI.xml
把这个文件删掉再重新运行就好。推测是程序启动时只检测了是否存在xml文件,若不存在则创建,而此时没有cfg所以创建了一个空的,而之后使用时没有重新生成从而用了空文件。
其它
由于官方SDK文件包含了完整的windows和linux的安装包,以及GUI的各种库文件,导致文件非常大有几百M,下载很不方便。我择出了源代码和demo部分,并配了自己校准的FPN文件,上传到了github。主要是为了自己使用方便,但万一能帮到别人呢。https://github.com/LarryDong/CeleX5_source
微信公众号:【事件相机】,交流事件相机的相关科研与应用。欢迎大家关注
最后
以上就是火星上哈密瓜为你收集整理的【CeleX5事件相机使用系列】第一个c++程序1. 头文件2. 链接库3. CMakeLists编译4. 配置文件5. 遇到的问题的全部内容,希望文章能够帮你解决【CeleX5事件相机使用系列】第一个c++程序1. 头文件2. 链接库3. CMakeLists编译4. 配置文件5. 遇到的问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复