Anacode+YOLO识别图片

一、安装Anacoda

因为我原本是已经安装了python,后面直接卸载了,然后安装了最新版的anacoda

下载网址为:

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

下载版本是:

按照安装教程直接安装即可:

史上最全最详细的Anaconda安装教程-CSDN博客

二、下载YOLO

1.创建虚拟环境

conda create -n yolo8 python=3.10

创建完成后显示的内容

2.激活虚拟环境

conda activate yolo8

命令行输入该代码,如果无报错,表示虚拟环境创建成功

3.ultralytics下载:

(ultralytics是一个功能强大且易于使用的YOLO实现,适用于需要在计算机视觉任务中进行目标检测的开发者)

激活虚拟环境后,命令行输入该指令。

pip install ultralytics

具体展示如下:

1.conda activate yolo8 激活yolo8环境

2.pip install ultralytics 安装ultralytics

3.安装完成,查看是否安装好,输入pip list

4.测试YOLO8

安装模型yolov8n,然后检测图片

ultralytics的网页下载地址(如果直接用pip命令行安装,此处不需要下载):

”ultralytics“ 的搜索结果 | GitHub 中文社区 (github-zh.com)

三、图片检测结果

以下是在VScode里面的yolov8使用代码,图片结果为识别结果。

import time
import cv2
import numpy as np
import pyrealsense2 as rs
 
from ultralytics import YOLO  # 将YOLOv8导入到该py文件中
 

# 深度相机
pipeline = rs.pipeline()  # 定义流程pipeline,创建一个管道
config = rs.config()  # 定义配置config
config.enable_stream(rs.stream.depth, 1280, 720, rs.format.z16, 30)  # 初始化摄像头深度流
config.enable_stream(rs.stream.color, 1280, 720, rs.format.bgr8, 30)  # 初始化摄像头彩色流
pipe_profile = pipeline.start(config)  # 启用管段流
align = rs.align(rs.stream.color) #这个函数用于将深度图像与彩色图像对齐
 
def get_aligned_images(): #定义一个获取图像帧的函数,返回深度和彩色数组
    frames = pipeline.wait_for_frames()  # 等待获取图像帧
    depth_frame = frames.get_depth_frame()  #获取深度帧
    color_frame = frames.get_color_frame()  # 获取对齐帧中的的color帧
    depth_image = np.asanyarray(depth_frame.get_data())  # 将深度帧转换为NumPy数组
    color_image = np.asanyarray(color_frame.get_data())  # 将彩色帧转化为numpy数组
    return depth_image,color_image
 
if __name__ == '__main__':
    model = YOLO(r"E:\Deep learning\YOLOv8\yolov8n.pt") # 加载权重文件,如需要更换为自己训练好的权重best.pt即可
 
    # 设置计时器
    start_time = time.time()#获取当前时间
    interval = 3  # 间隔时间(秒)
    try:
        while True:
            img_depth,img_color = get_aligned_images()  # 获取深度帧和彩色帧
            # cv2.applyColorMap()将深度图像转化为彩色图像,以便更好的可视化分析
            depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(img_depth, alpha=0.07), cv2.COLORMAP_JET)      
            # 将图像color_impage和depth_colormap水平堆叠
            images = np.hstack((img_color, depth_colormap))
            # 设置窗口,窗口大小根据图像自动调整
            cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE) 
            # 将图像images显示在窗口中         
            cv2.imshow('RealSense', images)
           
            # 检查是否达到间隔时间
            if time.time() - start_time >= interval:
                start_time = time.time()  # 重置计时器
                source = [img_color]#将其赋值给source列表
                # 调用YOLOv8中的推理,还是相当于把d435i中某一帧的图片进行detect推理
                #results = model.predict(source,save=True,show_conf=False)  # model = YOLO(r"E:\Deep learning\YOLOv8\yolov8n.pt")
                # 置信度show_conf=False,表示不显示置信度
                results = model.predict(source,save=True,show_conf=False) 
              
            key = cv2.waitKey(1)#等待用户输入

            # Press esc or 'q' to close the image window
            if key & 0xFF == ord('q') or key == 27:
                cv2.destroyAllWindows()
                pipeline.stop()
                break
    finally:
        # Stop streaming
        pipeline.stop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值