我是靠谱客的博主 火星上哈密瓜,最近开发中收集的这篇文章主要介绍【CeleX5事件相机使用系列】第一个c++程序1. 头文件2. 链接库3. CMakeLists编译4. 配置文件5. 遇到的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

对照官方手册翻阅了提供的源代码,总体感受代码非常工整,风格也非常统一,命名通俗易懂,甚至代码间没有两行以上的空行看着真的舒服。

基本了解了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. 遇到的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部