首页 > 其他分享 >在Jetson Xavier NX上使用CSI板载摄像头的相关资料

在Jetson Xavier NX上使用CSI板载摄像头的相关资料

时间:2023-05-28 11:37:57浏览次数:46  
标签:板载 CSI cv2 height NX width cam jetson 摄像头

官方网址

https://www.yahboom.com/study/jetson-xavier-nx

Jetson开发板学习资料 (百度网盘下载) 提取码: sm6o

板载摄像头和外壳的安装

https://www.yahboom.com/study_module/jn-camera

启动摄像头

打开终端, 输入下方的命令, 即可启动摄像头: nvgstcapture-1.0 想关掉摄像头的额话,直接在终端输入q或者按ctrl+c再按回车 想捕获图片的话,在终端输入j再按回车,图片将保存主目录下

代码测试

参考链接: Jetson Nano 调试 CSI 接口的摄像头,并用 opencv 打开摄像头 运行下面的python程序, 如果不出错的话, 系统应该可以打开一个摄像头界面

# coding=utf-8

import cv2
 
 
def gstreamer_pipeline(
    capture_width=1280,
    capture_height=720,
    display_width=1280,
    display_height=720,
    framerate=60,
    flip_method=0,
):
    return (
        "nvarguscamerasrc ! "
        "video/x-raw(memory:NVMM), "
        "width=(int)%d, height=(int)%d, "
        "format=(string)NV12, framerate=(fraction)%d/1 ! "
        "nvvidconv flip-method=%d ! "
        "video/x-raw, width=(int)%d, height=(int)%d, format=(string)BGRx ! "
        "videoconvert ! "
        "video/x-raw, format=(string)BGR ! appsink"
        % (
            capture_width,
            capture_height,
            framerate,
            flip_method,
            display_width,
            display_height,
        )
    )
 
 
def show_camera():
    cap = cv2.VideoCapture(gstreamer_pipeline(flip_method=0), cv2.CAP_GSTREAMER)
 
    while cap.isOpened():
        flag, img = cap.read()
        cv2.imshow("CSI Camera", img)
        kk = cv2.waitKey(1)
 
        # do other things

        if kk == ord('q'):  # 按下q键,退出
            break
 
    cap.release()
    cv2.destroyAllWindows()
    
 
if __name__ == "__main__":
    show_camera()

jetson_nano_csi_cam功能包安装

https://github.com/rt-net/jetson_nano_csi_cam_ros

这个功能包最为关键, 因为它可以将摄像机图像作为ROS主题传递, 会发布ROS相关的话题, 这样就可以使用rviz或者rqt_image_view来看到相机的实时画面了 ①输入: roslaunch jetson_nano_csi_cam jetson_csi_cam.launch (注意: github的这个启动有小问题, 请直接输入左侧指令) ②rqt_image_view 或者 rviz , 然后点击界面左侧的Add选项, 找到By topic部分, 选择其中/csi_cam_0下面的image_raw中的Image即可在rviz看到相机的画面了

标签:板载,CSI,cv2,height,NX,width,cam,jetson,摄像头
From: https://blog.51cto.com/u_16057418/6364854

相关文章

  • [nginx]lua控制请求头
    前言nginx原生提供expires、add_header两个指令控制请求头,在LuaAPI中也有类似的指令。添加请求头指令:ngx.req.set_header语法:ngx.req.set_header(header_name,header_value)环境:set_by_lua*、rewrite_by_lua*、access_by_lua*、content_by_lua*、header_filter_by_lua*、b......
  • Nginx编译安装2
    1.进入安装目录:#cd/usr/local/src 2、下载nginx源码文件nginx网址:http://nginx.org/en/download.html 3、复制文件下载地址:http://nginx.org/download/nginx-1.22.1.tar.gz4、开始下载:#wgethttp://nginx.org/download/nginx-1.22.1.tar.gz5、解压#tar-zxvf......
  • Nginx配置Basic_Auth登录认证
    一般来说,僵尸网络的扫描行为都是全互联网大范围进行的,并且所探测的漏洞大多都是一些新爆发的cms漏洞(ThinkPHP)、或者是一些常见的框架组件漏洞(如Struts2),针对该特性,我们可以配置BasicAuth登录认证(ngx_http_auth_basic_module),来减少僵尸网络对我们web服务的侵扰。注:BasicAuth......
  • nginx代理给网关时 丢失请求的host信息问题
    nginx搭建域名访问环境描述:访问gulimall.com,Nginx反向代理到网关地址,然后网关转发到具体的product服务域名映射的效果如下:具体步骤:(1)hosts文件配置域名和ip映射修改windows下host文件:C:\Windows\System32\drivers\etc\hosts为了方便,可以使用SwitchHost工具(2)配置nginx......
  • 【模型部署 01】C++实现分类模型(以GoogLeNet为例)在OpenCV DNN、ONNXRuntime、TensorRT
    深度学习领域常用的基于CPU/GPU的推理方式有OpenCVDNN、ONNXRuntime、TensorRT以及OpenVINO。这几种方式的推理过程可以统一用下图来概述。整体可分为模型初始化部分和推理部分,后者包括步骤2-5。以GoogLeNet模型为例,测得几种推理方式在推理部分的耗时如下:结论:GPU加速首选Tens......
  • nginx 配置中的sendfile 的作用
    http{...sendfileon...}sendfile配置的具体意思:设置为on表示,使用零拷贝技术来传输文件:sendfile,这样只需要2次上下文切换,和2次数据拷贝。设置为off表示,使用传统的文件传输技术:read+write,这时就需要4次上下文切换,和4次数据拷贝。当然,要使用sendfil......
  • Linxu解决systemctl启动服务失败,Error: No space left on device
    查看磁盘空间实际占用情况查看磁盘inodes占用情况这两部发现都没有问题。要是哪里发现被沾满了,直接删除解放空间。此篇是讲另一种情况。查看默认inotify的max_user_watches值[root@VM-4-4-centosnginx]#sysctlfs.inotifyfs.inotify.max_queued_events=16384fs.inotif......
  • nginx windows下重载配置失败
    正常操作命令是:cdC:\ProgramFiles\nginx&&nginx-sreload。但是把nginx安装为windows服务运行后,再执行重载就不好使了。会报错:nginx:[error]OpenEvent("Global\ngx_reload_4460")failed(5:Accessisdenied),即便是用管理员运行cmd权限也不够。 【解决办法】1.下载......
  • fail2ban nginx 多次无效访问封IP
    https://iceburn.medium.com/how-to-apply-fail2ban-to-nginx-excess-404-and-403-6b601285df02fail2ban配置#/etc/fail2ban/filter.d/nginx.conf[Definition]failregex=^<HOST>.*"(GET|POST).*"(403|404).*$ignoreregex=#/etc/fail2ban/jail.......
  • linux服务器,nginx日志切割保存
    我们都知道,默认情况下,nginx的项目log是一直被累计写入的,随着时间越久,那么这个文件就会越大,这个时候如果我们要去做一些查找和排查就会比较困难,因为日志文件太大,操作起来比较费劲。因此我们为了规避这个问题,提出日志切割的方案。那日志切割的原理是怎么样的,我们来分析一下,我们先......