【jetson NX】调用摄像头

板卡摄像头

使用gstream或使用jetcam
gstream本人使用失败了,下次有机会尝试再更新
jetcam安装过程忘了,自行查找
jetcam调用简单 与cv2.VideoCapture()类似,可以参考以下例子

from jetcam.csi_camera import CSICamera
import cv2

def onboard():
    # 板载摄像头
    camera0 = CSICamera(capture_device=0, width=224, height=224)
    #camera1 = CSICamera(capture_device=1, width=224, height=224)
    image0 = camera0.read()
    print(image0.shape)
    #image1 = camera1.read()
    #print(image1.shape)
    print(camera0.value.shape)
    #print(camera1.value.shape)
    while 1:
        image0 = camera0.read()
        #image1 = camera1.read()
        cv2.imshow("CSI Camera0", image0)
        #cv2.imshow("CSI Camera1", image1)
        kk = cv2.waitKey(1)
        if kk == ord('q'):  # 按下 q 键,退出
            break

网络摄像头

1
使用前确认电脑开启了DHCP功能,确保摄像头在同一局域网下。
目前我的做法是电脑和摄像头连接同一个路由器,NX板卡连接电脑的热点。
win10可打开网络连接,以太网,属性,ipv4属性中设置为自动获得IP

2
获取网络摄像头的IP地址
方法1:使用SADP软件搜索设备,如图在这里插入图片描述
方法2:打开CMD命令,输入ipconfig,找到本机的ipv4地址,例如222.204.50.208,然后开始ping 之后的ip,例如ping 222.204.50.209.
能够ping通的就是同一局域网的设备,依次尝试

3
win10可使用portplayer进行播放,本次使用的是海康威视摄像头
在浏览器输入

rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream

参数的意思点击常见网络摄像头rtsp
例如:

rtsp://admin:GBYPKF@222.204.50.209:554/h264/ch1/main/av_stream

各品牌摄像头rtsp可参考常见网络摄像头rtsp
确认摄像头和ip有效后
使用NX板卡打开:

def net_cam():
    url = 'rtsp://admin:GBYPKF@222.204.50.209:554/mpeg-4/ch1/main/av_stream'

    cam = cv2.VideoCapture(url)
    #
    # def open_cam_rtsp(uri, width, height, latency):
    #     gst_str = ('rtspsrc location={} latency={} ! '
    #                'rtph264depay ! h264parse ! omxh264dec ! '
    #                'nvvidconv ! '
    #                'video/x-raw, width=(int){}, height=(int){}, '
    #                'format=(string)BGRx ! '
    #                'videoconvert ! appsink').format(uri, latency, width, height)
    #     return cv2.VideoCapture(gst_str, cv2.CAP_GSTREAMER)
    # cam = open_cam_rtsp(url,224,224,200)
    print(cam.isOpened())
    while cam.isOpened():
        ret,img = cam.read()
        print('success read!')
        cv2.imshow("test",img)
        kk = cv2.waitKey(1)
        if kk == ord('q'):  # 按下 q 键,退出
            break


不出意外,摄像头可以正确打开,usb摄像头到手后会继续记录。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值