ISP 图像信号处理器软件框架

2023-10-20 20:59

本文主要是介绍ISP 图像信号处理器软件框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

zynqmp_cam_isp_demo_linux

ZynqMP-ISP 图像信号处理器数字IP实现 的linux软件项目
待更新

在这里插入图片描述

#u-boot 配置nfsroot, tftp下载kernel和dtb, 启动kernel
setenv bootargs 'earlycon console=ttyPS1,115200 clk_ignore_unused root=/dev/nfs rw nfsroot=192.168.1.10:/tftpboot/zynqmp/rootfs,nolock,nfsvers=3 ip=dhcp cma=1000M '
setenv ipaddr 192.168.137.123; setenv netmask 255.255.255.0; setenv gatewayip 192.168.137.1; setenv serverip 192.168.1.10
tftpboot 0x00200000 zynqmp/Image; tftpboot 0x00100000 zynqmp/system.dtb
booti 0x00200000 - 0x00100000
#加载PL及其dtbo
mkdir -p /configfs
mount -t configfs configfs /configfs
echo 0 > /sys/class/fpga_manager/fpga0/flags
mkdir /configfs/device-tree/overlays/full
echo -n "pl.dtbo" > /configfs/device-tree/overlays/full/path
#配置AR1335,MIPI-RX格式
media-ctl --set-v4l2 '"ar1335 3-0036":0[fmt:SGRBG10_1X10/2048x1536 field:none]'
media-ctl --set-v4l2 '"a0030000.mipi_rx_to_video":0[fmt:SGRBG10_1X10/2048x1536 field:none]'
media-ctl --set-v4l2 '"a0030000.mipi_rx_to_video":1[fmt:SGRBG10_1X10/2048x1536 field:none]'
media-ctl --set-v4l2 '"axi:camif_ias1_axis_subsetconv":0[fmt:SGRBG10_1X10/2048x1536 field:none]'
media-ctl --set-v4l2 '"axi:camif_ias1_axis_subsetconv":1[fmt:Y10_1X10/2048x1536]'
#配置ISP,VIP格式
media-ctl -d /dev/media1 --set-v4l2 '"a0070000.xil_isp_lite":0[fmt:Y10_1X10/2048x1536 field:none]'
media-ctl -d /dev/media1 --set-v4l2 '"a00a0000.xil_vip":1[fmt:UYVY8_1X16/1920x1080 field:none]'
v4l2-ctl -d /dev/video2 -c low_latency_controls=2
#配置libcamera运行时环境
export LIBCAMERA_IPA_MODULE_PATH=/usr/lib/libcamera
export LIBCAMERA_IPA_PROXY_PATH=/usr/libexec/libcamera
export LIBCAMERA_IPA_CONFIG_PATH=/usr/share/libcamera/ipa
#libcamera-cam测试
cam -c 1 -s width=1920,height=1080,pixelformat=YUYV,role=video,colorspace=rec709 --capture=10 --file
#gst-lanuch显示测试
gst-launch-1.0 libcamerasrc camera-name="/base/axi/i2c@a0010000/camera@36" ! video/x-raw,format=YUY2,width=1920,height=1080,framerate=30/1 ! kmssink bus-id=fd4a0000.display fullscreen-overlay=1 async=false

V4L2设备拓扑

root@zynqmp-common-20221:~# media-ctl -d /dev/media0 --print-topology
Media controller API version 5.15.0Media device information
------------------------
driver          xilinx-video
model           Xilinx Video Composite Device
serial
bus info
hw revision     0x0
driver version  5.15.0Device topology
- entity 1: vcap_mipi_csi2_rx_ias1 output 0 (1 pad, 1 link)                                 <<< MIPIRX图像输出type Node subtype V4L flags 0device node name /dev/video0pad0: Sink<- "axi:camif_ias1_axis_subsetconv":1 [ENABLED]- entity 5: ar1335 3-0036 (1 pad, 1 link)type V4L2 subdev subtype Sensor flags 0device node name /dev/v4l-subdev0pad0: Source[fmt:SGRBG10_1X10/2048x1536 field:none colorspace:srgb]-> "a0030000.mipi_rx_to_video":0 [ENABLED]- entity 7: a0030000.mipi_rx_to_video (2 pads, 2 links)type V4L2 subdev subtype Unknown flags 0device node name /dev/v4l-subdev1pad0: Sink[fmt:SGRBG10_1X10/2048x1536 field:none]<- "ar1335 3-0036":0 [ENABLED]pad1: Source[fmt:SGRBG10_1X10/2048x1536 field:none]-> "axi:camif_ias1_axis_subsetconv":0 [ENABLED]- entity 10: axi:camif_ias1_axis_subsetconv (2 pads, 2 links)type V4L2 subdev subtype Unknown flags 0device node name /dev/v4l-subdev2pad0: Sink[fmt:SGRBG10_1X10/2048x1536 field:none]<- "a0030000.mipi_rx_to_video":1 [ENABLED]pad1: Source[fmt:Y10_1X10/2048x1536 field:none]-> "vcap_mipi_csi2_rx_ias1 output 0":0 [ENABLED]root@zynqmp-common-20221:~# media-ctl -d /dev/media1 --print-topology
Media controller API version 5.15.0Media device information
------------------------
driver          xilinx-video
model           Xilinx Video Composite Device
serial
bus info
hw revision     0x0
driver version  5.15.0Device topology
- entity 1: isp_pipe_video_dev output 1 (1 pad, 1 link)                                <<< ISP图像输出type Node subtype V4L flags 0device node name /dev/video1pad0: Sink<- "a00a0000.xil_vip":1 [ENABLED]- entity 5: isp_pipe_video_dev input 0 (1 pad, 1 link)                                 <<< ISP图像输入type Node subtype V4L flags 0device node name /dev/video2pad0: Source-> "a0070000.xil_isp_lite":0 [ENABLED]- entity 9: a0070000.xil_isp_lite (2 pads, 2 links)type V4L2 subdev subtype Unknown flags 0device node name /dev/v4l-subdev3pad0: Sink[fmt:Y10_1X10/2048x1536 field:none colorspace:srgb]<- "isp_pipe_video_dev input 0":0 [ENABLED]pad1: Source[fmt:YUV10_1X30/2048x1536 field:none colorspace:srgb]-> "a00a0000.xil_vip":0 [ENABLED]- entity 12: xil-isp-lite_stat (1 pad, 0 link)                                         <<< ISP统计输出type Node subtype V4L flags 0device node name /dev/video3pad0: Sink- entity 16: a00a0000.xil_vip (2 pads, 2 links)type V4L2 subdev subtype Unknown flags 0device node name /dev/v4l-subdev4pad0: Sink[fmt:YUV10_1X30/2048x1536 field:none colorspace:srgb]<- "a0070000.xil_isp_lite":1 [ENABLED]pad1: Source[fmt:UYVY8_1X16/1920x1080 field:none colorspace:srgb]-> "isp_pipe_video_dev output 1":0 [ENABLED]

在这里插入图片描述

项目代码: https://github.com/bxinquan/zynqmp_cam_isp_demo_linux

这篇关于ISP 图像信号处理器软件框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/249682

相关文章

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea

Gin框架中的GET和POST表单处理的实现

《Gin框架中的GET和POST表单处理的实现》Gin框架提供了简单而强大的机制来处理GET和POST表单提交的数据,通过c.Query、c.PostForm、c.Bind和c.Request.For... 目录一、GET表单处理二、POST表单处理1. 使用c.PostForm获取表单字段:2. 绑定到结

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将