【Jetson Nano】学习(2)——两种方法(命令行、openCV)打开摄像头、实现目标检测,语义分割

文章目录

  • 1、命令行直接打开
  • 2、使用openCV打开

  • 在使用 jetson nano 开始目标检测之前,我们还是得先安装一下 jetson-inference 推理库,后续的识别项目不出意外应该都会基于此来进行,不知道咋安装的朋友可以看一下我上一篇文章:
    【jetson nano】学习(1)——安装并跑通 jetson-inference,很详细。

❤️有问题可以私信我或者评论区留言,我会第一时间给大家找解决办法❤️。

❤️目前我在做单目摄像头测距检测物体大小 这一方面,后期实现后我会陆陆续续的写出来,感兴趣的读者大大可以一起学习❤️。

后续会继续学习,写一些有趣的项目,我们一起加油!

  • 另外,我们得先学习如何打开 CSI 摄像头( USB 摄像头或者自带摄像头也是差不多,主要看文件名是多少),这里有两种方法供大家参考:

1、命令行直接打开

  • 使用命令行直接打开摄像头,前提是需要安装 jetson-inference ,这里我就不多说了,可以看我上一篇文章。
  • 先看我们的摄像头设备号是多少,打开终端输入下列命令:
ls /dev/viseo*
  • 可以看见我的设备是 video0。
    请添加图片描述

  • 之后直接输入下面命令,打开我们安装 jetson-inference 时所下载的 googlenet 检测网络来进行目标检测,但是没有语义分割这一块,可以看看效果:

#./jetson-inference/build/aarch64/bin/imagenet-camera是摄像头的路径
#network=googlenet是打开network目录下的googlenet推理模型
#camera=0是我们的摄像头设备号
./jetson-inference/build/aarch64/bin/imagenet-camera --network=googlenet --camera=0

  • 这识别的不是很准确呀,也没有语义分割,上次说了的要写出语义分割的,不能这样算了,所以一定要实现!!!
    【Jetson Nano】学习(2)——两种方法(命令行、openCV)打开摄像头、实现目标检测,语义分割_第1张图片
  • 来看下面第二种方法。

2、使用openCV打开

*开始之前先确保安装了openCV *

  • 在这里我是用 VScode 来运行 python 文件打开CSI摄像头,大家可以看看,也是调用了我们之前安装推理库时下载的 ssd-mobilenet-v2 检测网络来进行目标检测的,这个具有语义分割。
  • 完整代码放出来:
import jetson.inference    #引入推理库
import jetson.utils        #引入工具库
import cv2                 #引入openCV
import numpy as np         #引入数值运算库

net = jetson.inference.detectNet("ssd-mobilenet-v2", threshold = 0.5)     #选择检测网络为‘ssd-mobilenet-v2’模型,阈值为0.5
camera = jetson.utils.gstCamera(0)  #选择0号摄像头工具
while 1:
    img, width, height = camera.CaptureRGBA(zeroCopy = 1)
    detections = net.Detect(img, width, height)    
    image = jetson.utils.cudaToNumpy(img,width, height, 4)   
    image1 = cv2.cvtColor (image.astype (np.uint8), cv2.COLOR_RGBA2BGR)  
    cv2.imshow ("目标检测",image1)   #显示摄像头读取到的内容

    kk = cv2.waitKey(1)   #从键盘读取
    if kk == ord('q'):  # 按下 q键,退出
        break           #退出循环(关闭摄像头)

  • 这种打开方式还是很不错的哈,这样得到了识别框,后期就方便我们做很多东西啦,我个人还是比较喜欢的,各位读者大大可以参考一波。

❤️点赞 收藏 ⭐留言 都是博主坚持写作、更新高质量博文的最大动力哦!❤️
【Jetson Nano】学习(2)——两种方法(命令行、openCV)打开摄像头、实现目标检测,语义分割_第2张图片

你可能感兴趣的:(Jetson,Nano,人工智能,linux,目标检测,深度学习,视觉检测)