三十度角阳光的问候
乘风破浪会有时,直挂云帆济沧海
展开
-
10 自研rgbd相机基于rk3566之OPENCL加速库测试与开发
opencl是可以直接调用gpu资源进行加速的库,除英伟达外的gpu调用方法。例如mali gpu,适用于多种arm64架构芯片。OpenCL (Open Computing Language) 是一种由 Khronos Group 开发的并行计算平台和编程模型,主要用于加速高性能运算,如图形处理、科学计算、机器学习等。它的设计目标是跨设备编程,能够在各种硬件平台上运行,包括GPU、CPU、FPGA和ASIC等。原创 2024-09-06 06:00:00 · 341 阅读 · 0 评论 -
9 自研rgbd相机基于rk3566之qt框架开发主线程与opengl_widget点云显示
主要用qt opengl QOpenGLWidget类,此类是qt自带的。处理效率高,可以调用rk3566/rk3588的opengl GPU资源。QOpenGLWidget类包含的主要功能有:初始化 initializeGL()画图功能 paintGL()鼠标与滚轮事件接口顶点设置 QOpenGLVertexArrayObject着色器渲染管线 QOpenGLShaderProgram更新点云接口函数 update()画线以及视角变换旋转等功能。原创 2024-09-05 06:00:00 · 460 阅读 · 0 评论 -
9 自研rgbd相机基于rk3566之qt框架开发rgbd融合线程
3 qt 处理部分,与界面主线程交互部分,从共享内存拿图,对rgb tof图进行颜色与深度对齐。1 线程构造函数启动后等待rgb/tof线程的共享内存信号,接收图像数据。2 同时接收rgb tof的共享内存图像,rgb是颜色图tof是深度图。4 输出颜色与深度对齐后的点云和颜色到opengl处理后送主线程显示。利用双目标定的外参以及rgb tof的内参,找到深度图对应的颜色值。2 对rgb tof图像深度数据进行颜色与深度对齐。1 创建与声明rgb tof的共享内存。对rgb tof图进行颜色与深度对齐。原创 2024-09-04 06:00:00 · 99 阅读 · 0 评论 -
9 自研rgbd相机基于rk3566之qt框架开发tof图像处理线程
qt框架开发tof图像处理线程tof线程功能及处理流程1 tof线程分为如下几个功能:2 tof线程的处理流程如下:tof线程qt程序详解1 接收界面启动停止信号。2 qt线程运行tof线程程序示例1 线程头文件:pthread_tof.h2 线程源文件:pthread_tof.cpptof线程功能及处理流程1 tof线程分为如下几个功能:1 v4l2采图部分,将v4l2采图功能放到qt框架中,分别实现单次调用和连续采图。2 获取到的tof四相位raw图像放到共享内存中,用共享内存与其他线程交互。原创 2024-09-03 06:00:00 · 87 阅读 · 0 评论 -
9 自研rgbd相机基于rk3566之qt框架开发rgb图像处理线程
3 qt 处理部分,与界面主线程交互部分,完成采图,开始停止等。启动显示,运行线程程序。1 v4l2采图部分,将v4l2采图功能放到qt框架中,分别实现单次调用和连续采图。2 接收界面启动信号v4l2采图,线程连续接收v4l2的图像数据。2 获取到的raw图像放到共享内存中,用共享内存与其他线程交互。1 线程构造函数启动后创建v4l2类,创建共享内存放置四幅图像。指定设备文件节点,集成v4l2处理框架,声明共享内存。3 线程将v4l2图像数据解析后发送到共享内存。4 接收界面停止信号后关闭v4l2采图。原创 2024-09-02 06:15:00 · 101 阅读 · 0 评论 -
9 自研rgbd相机基于rk3566之qt开发环境搭建与框架搭建
1)官网下载qt-sdk: firfly_arm64_qt5.12.2_18.042)目标机部署:参考Qt5.12.2_Release.md文件Target Deployment 主机端3)修改配置文件/etc/profile ,增加如下几行Export QT_QPA_PLATFOR=LINUXFBExport QT_QPA_FB_DRM=1Export QT_QPA_PLATFORM=xcbExport QT_QPA_EGLFS_INTEGRATION=XCB_EGL官方测试流程:找到qt原创 2024-09-01 06:00:00 · 187 阅读 · 0 评论 -
8 自研rgbd相机基于rk3566之sensor图像解析与AWB算法原理
sensor图像分为tof的raw图,与rgb的rggb-raw图。其中tof的raw图解析为四相位深度图,rgb的raw图除了进行raw的字节变换外还要进行颜色插值即demasac。其中对于raw10的出图,33d或rgb来说,rk3566-mipi都是紧凑型10位首尾相接排列到五个字节中。对于走rkisp-vir0通路的raw16型数据,是调制过的,要先设置图像格式取消调制,再按高六位补零的规律解析raw10数据对于走mipi-csi路数据未经过调制直接进行后续计算即可。原创 2024-08-31 11:43:45 · 260 阅读 · 0 评论 -
7 自研rk3566/rk3588+rgbd相机之单目双目相机标定库开发与移植
RGBD相机进行图像与点云融合前需要进行单目相机和双目相机的标定。单目相机是确定每个左右相机的内参包括cx,cy,fx,fy,k1k2,t1,t2,k3,双目相机是确定左右相机的外参,即相对位置关系R,T旋转矩阵与平移向量。左右相机标定通常是rgb相机与tof相机的IR图分别拍摄棋盘格,进行棋盘格角点检测,之后调用opencv的函数接口进行标定。也可以用matlab工具验证标定结果。由于两个相机的分辨率不同,tof相机是640x480,rgb相机是1080p(1080x1920),直接用工具标定会出错,要调原创 2024-08-31 06:15:00 · 180 阅读 · 0 评论 -
6 自研rgbd相机基于rk3566之深度计算库程序详解
支持raw8/raw10/raw16 格式tof模组标定参数读入及解析//alloc eeprom memory and parse paraint wuqi_lsi_eeprom_data_parse(unsigned char* eeprom_data);模组的标定参数以bin文件形式保存:MZ_ToF_cal.bin通过读入bin并对其进行解析得到标定参数如下://board offset 板子延时参数unsigned char bof_data1[4];unsigned char b原创 2024-08-30 06:15:00 · 269 阅读 · 0 评论 -
6 自研rgbd相机基于rk3566之深度计算库移植及测试
深度计算库包括深度图像解析,读入eeprom标定参数进行深度矫正与深度还原,原始深度数据输出。需要将深度库从windows平台修改交叉编译为linux平台的arm64库。读入eeprom, 读入raw图像文件,调用深度计算库进行深度计算。交叉编译后生成动态链接库。原创 2024-08-29 06:15:00 · 488 阅读 · 0 评论 -
5 自研rk3566/rk3588+rgbd相机之v4l2-rgb出图框架开发二
v4l2是video for linux two的简写,是用于linux设备从内核空间到用户空间传输图像数据的常用框架,是应用程序从驱动程序接收图像数据的桥梁或媒介,出图中扮演重要角色。原创 2024-08-25 11:20:58 · 77 阅读 · 0 评论 -
5 自研rk3566/rk3588+rgbd相机之v4l2-tof出图框架开发
v4l2是video for linux two的简写,是用于linux设备从内核空间到用户空间传输图像数据的常用框架,是应用程序从驱动程序接收图像数据的桥梁或媒介,出图中扮演重要角色。原创 2024-08-25 11:20:18 · 70 阅读 · 0 评论 -
4 自研rk3566/rk3588+rgbd相机之i2c点亮sensor调试
调试sensor过程中硬件的功能确认,以及通信确认是必不可少的,主要分为一下几个部分。通过原理图确认mipi-camera接口所用的i2c是属于第几个接口,比如用i2c-2或者i2c-4都是可以进行sensor驱动测试验证的。用i2c-tools可以识别到是否i2c总线上有接设备,是确认mipi-camera设备是否联通的第一步。查看 设备文件节点 /dev/i2c-0,/dev/i2c-2用i2cdetect -y 0命令探测某个端口的设备是否存在以及设备地址有哪些是否对的上。读取模组的eeprom原创 2024-08-25 11:18:16 · 97 阅读 · 0 评论 -
3 自研rk3566/rk3588+rgbd相机之mipi-camera设备驱动程序二
3 自研rk3566/rk3588+rgbd相机之mipi-camera设备驱动程序1 rgb sensor mipi-camera驱动程序开发总结2 rgb驱动程序开发总结rgb出图格式:sensor ID:i2c寄存器设定:probe探测函数功能:snesor初始化操作:rgb sensor mipi-camera驱动程序1 rgb sensor mipi-camera驱动程序开发总结需要增加的文件kernel/drivers/media/i2c/sc2310.c驱动总结:1 probe探测函原创 2024-08-25 11:17:25 · 96 阅读 · 0 评论 -
3 自研rk3566/rk3588+rgbd相机之linux-mipi-camera设备驱动程序
3 自研rk3566/rk3588+rgbd相机之linux-mipi-camera设备驱动程序开发1 linux-mipi-camera驱动介绍2 mipi-camera驱动调试及注意事项总结需要开发的驱动文件内容:I2C时钟频率配置总结:内核调试打印:mipi时钟信号调试总结:像素时钟参数计算总结:3 tof sensor linux mipi-camera驱动程序详解1 linux-mipi-camera驱动介绍mipi-camera驱动程序是用来识别并驱动mipi接口的相机的设备驱动程序,其驱动原创 2024-08-25 11:13:20 · 85 阅读 · 0 评论 -
2 自研rk3566/rk3588+rgbd相机之设备树文件配置
linux3.0内核以后设备驱动程序的硬件差异部分都用设备树文件来配置及修改,rk3566支持两个mipi-csi高速接口可以同时接两个mipi-camera,rk3588可以接4个mipi-camera相机,rk3566-rgbd相机分别接tof,rgb到mipi-camera接口,其sensor的访问地址和驱动方式,以及原理图接口都不同,需要配置设备树后才能被内核驱动加载配置信息后通过驱动才能访问sensor芯片并出图。因此配置设备树文件是内核驱动开发的重要环节。原创 2024-08-25 11:12:53 · 243 阅读 · 0 评论 -
1 自研rk3566/rk3588+rgbd相机之camera-sensor设定与linux内核配置
本篇文章正式开始进入基于rk3566/rk3588 rgbd相机的开发阶段,首先介绍内核驱动编写前的准备工作,内核配置方法。原创 2024-08-25 11:12:06 · 181 阅读 · 0 评论 -
自研rk3566/rk3588+rgbd相机之基础知识---嵌入式arm64平台依赖库交叉编译方法
嵌入式部署原创 2024-02-01 21:59:38 · 541 阅读 · 1 评论 -
自研rk3566/rk3588+rgbd相机之基础知识介绍----程序优化的常用方法概述
另外从程序角度还可以进行多线程处理,把不同运算部分用不同线程分开处理,可以提高程序的并行计算效率。另外可以在不同的线程同时用cpu 和gpu做加速处理,一个线程用cpu处理逻辑数据,另一个线程用gpu处理并行数据,同时两个线程进行交互操作。从硬件角度考虑可以对程序进行硬件加速,例如用cpu的指令集加速如sse.neon等,或者用gpu的并行运算如opencl写核函数,对于音视频处理还可以用硬件音视频编解码操作,将gpu cpu npu同时使用。原创 2024-05-14 20:08:56 · 269 阅读 · 0 评论 -
自研rk3566/rk3588+rgbd相机之基础知识介绍---Qt界面开发软件使用介绍
Qt显示图像可以用Qimage控件,配合信号槽函数,将接收的图片显示,可以设置显示图片的格式,也可以与opencv配合,对图片处理后进行显示,可以在pro文件中指定头文件和库路径以及库名。Qt不仅可以显示图片,也可以显示点云,利用qt自带的Qwidgetgl函数类和Qwidgetgl控件,定义好shader渲染管线,以及点云格式可以将点云数据显示到界面上。点云显示步骤是初始化函数调用shader声明,传入点云数据,将点云数据点填充数据接口,调用更新点云显示控件数据接口函数,调用刷新点云显示控件数据接口。原创 2024-06-02 19:32:39 · 524 阅读 · 0 评论