当前位置: 首页 > news >正文

注册网站建设专业免费网站建设一般多少钱

注册网站建设,专业免费网站建设一般多少钱,烟台做网站建设,用wordpress做商城目录 1. ros2 yolov8 检测需要以来一些库#xff0c;分别是:rclpy cv_bridge std_msgs sensor_msgs sensor_msgs_py vision_msgs 2. 创建一个新的功能包 3. 建立 yolo_launch.py 里面先加载gazebo和rviz2,在创建好本地的yolov8的node文件后也加入进来。 4. 创建好本地的yol…目录 1. ros2 yolov8 检测需要以来一些库分别是:rclpy cv_bridge std_msgs sensor_msgs sensor_msgs_py vision_msgs 2. 创建一个新的功能包 3.  建立 yolo_launch.py 里面先加载gazebo和rviz2,在创建好本地的yolov8的node文件后也加入进来。 4. 创建好本地的yolov8的node文件  5. 修改setup.py文件 6. 编译包 7. 运行launch文件 1. ros2 yolov8 检测需要以来一些库分别是:rclpy cv_bridge std_msgs sensor_msgs sensor_msgs_py vision_msgs (1) rclpy Python语言的ROS Client Library操作ROS2的节点话题服务   (2) cv-bridge 在ROS图像消息和OpenCV图像之间进行转换的一个功能包 (3) std-msgs 一种标准消息类型包,包含了一些常用的基本数据类型的消息定义 以上设计的是图像依赖的下面两个是获取其他数据类型的 --------------------------------------------------------------- (4) sensor-msgs-py point_cloud2模块 (5) vision-msgs ROS的与算法无关的计算机视觉消息类型,ROS视觉信息介绍该软件包定义了一组消息,以统一ROS中的计算机视觉和对象检测工作 # 库安装命令如下 sudo apt-get install ros-galactic-rclpy sudo apt-get install ros-galactic-cv-bridge sudo apt-get install ros-galactic-std-msgs sudo apt-get install ros-galactic-sensor-msgs-py sudo apt-get install ros-galactic-vision-msgs 2. 创建一个新的功能包 ros2 pkg create ros_yolov8 --build-type ament_python --node-name detect_node --dependencies rclpy cv_bridge std_msgs sensor_msgs sensor_msgs_py vision_msgs 运行结果 going to create a new package package name: ros_yolov8 destination directory: package format: 3 version: 0.0.0 description: TODO: Package description maintainer: licenses: [TODO: License declaration] build type: ament_python dependencies: [rclpy, cv_bridge, std_msgs, sensor_msgs, sensor_msgs_py, vision_msgs] node_name: detect_node creating folder ./ros_yolov8 creating ./ros_yolov8/package.xml creating source folder creating folder ./ros_yolov8/ros_yolov8 creating ./ros_yolov8/setup.py creating ./ros_yolov8/setup.cfg creating folder ./ros_yolov8/resource creating ./ros_yolov8/resource/ros_yolov8 creating ./ros_yolov8/ros_yolov8/__init__.py creating folder ./ros_yolov8/test creating ./ros_yolov8/test/test_copyright.py creating ./ros_yolov8/test/test_flake8.py creating ./ros_yolov8/test/test_pep257.py creating ./ros_yolov8/ros_yolov8/detect_node.py # ./ros_yolov8/package.xml ?xml version1.0? ......   dependrclpy/depend   dependcv_bridge/depend   dependstd_msgs/depend   dependsensor_msgs/depend   dependsensor_msgs_py/depend   dependvision_msgs/depend ...... /package 3.  建立 yolo_launch.py 里面先加载gazebo和rviz2,在创建好本地的yolov8的node文件后也加入进来。 # 创建一个新目录来存储(launch)启动文件 cd ./ros_yolov8 mkdir launch cd ./ros_yolov8/launch touch detect_demo.launch.py tree ./ros_yolov8/launch 运行结果 ./ros_yolov8/launch └── detect_demo.launch.py #!/usr/bin/python3 # ./ros_yolov8/launch/detect_demo.launch.pyimport osfrom ament_index_python.packages import get_package_share_directoryfrom launch import LaunchDescription from launch_ros.actions import Nodefrom launch.substitutions import LaunchConfiguration from launch.actions import DeclareLaunchArgument from launch.conditions import IfConditionfrom launch.actions import IncludeLaunchDescription from launch.launch_description_sources import PythonLaunchDescriptionSourcedef generate_launch_description():# all kinds of file pathros_root_path /xxx/ros2_wstry:pkg_name ros_yolov8share_pkg_path get_package_share_directory(pkg_name)except:share_pkg_path os.path.join(ros_root_path, install, pkg_name, share, pkg_name)print(f{share_pkg_path})assert os.path.exists(share_pkg_path)# -1-Include the Gazebo launch file, provided by the gazebo_ros packageworld_file_path os.path.join(share_pkg_path, worlds, yolo.world)# 包含其它的launch文件 :/opt/ros/galactic/share/gazebo_ros/launch/gazebo.launch.py# $ ros2 launch /opt/ros/galactic/share/gazebo_ros/launch/gazebo.launch.py world:/xxx/yolo.worldgazebo_ros_dirpath get_package_share_directory(gazebo_ros)print(f{gazebo_ros_dirpath})gazebo_launch_filepath os.path.join(gazebo_ros_dirpath, launch, gazebo.launch.py)print(f{gazebo_launch_filepath})assert os.path.exists(gazebo_launch_filepath)# -2-Include the Rviz2 config file, provided by the rviz2 package# /opt/ros/galactic/lib/rviz2/rviz2# $ ros2 run rviz2 rviz2 -d # start rviz2rviz_filepath os.path.join(share_pkg_path, rviz2, yolo.rviz)print(f{rviz_filepath})assert os.path.exists(rviz_filepath)# Nodesgazebo_cmd IncludeLaunchDescription(PythonLaunchDescriptionSource([gazebo_launch_filepath]),launch_arguments{world: world_file_path}.items())static_transform_cmd Node(packagetf2_ros,executablestatic_transform_publisher,namestatic_transform_publisher,arguments[0, 0, 0, 0, 0, 0, map, camera_link_optical],outputscreen)start_rviz_cmd Node(packagerviz2,executablerviz2,namerviz2,arguments[-d, rviz_filepath],outputscreen)# Launch arguments# start yolov8_nodestart_yolov8_node Node(packageros_yolov8,executableyolov8_node,nameyolov8_node,outputscreen,arguments[-model, /xxx/yolo.pt])# Add everything to launch description and returnld LaunchDescription()ld.add_action(gazebo_cmd)ld.add_action(static_transform_cmd)ld.add_action(start_rviz_cmd)ld.add_action(start_yolov8_node)return ld /opt/ros/galactic/lib/tf2_ros/static_transform_publisher # ros2 run tf2_ros static_transform_publisher 0 0 0 0 0 0 map camera_link_optical # -2-1- map axis between origin and world4. 创建好本地的yolov8的node文件  # ./ros_yolov8/ros_yolov8/yolov8_node.pyimport os import sys import time import argparse import random import torch # ROS2的客户端库(python) rclpy import rclpy from rclpy.qos import qos_profile_sensor_data from rclpy.node import Node # image-----below---- # topic sensor_msgs/msg/Image to cv2 import cv2 from sensor_msgs.msg import Image from cv_bridge import CvBridge # yolov8 from ultralytics import YOLOdef parse_argument():parser argparse.ArgumentParser(descriptiondetect image from topic (gazebo))parser.add_argument(-model, typestr, default/xxx/yolo.pt)parser.add_argument(-device, typestr, defaultcpu)parser.add_argument(-conf_threshold, typefloat, default0.5)parser.add_argument(-iou_threshold, typefloat, default0.7)parser.add_argument(-enable, typebool, defaultTrue)parser.add_argument(-input_image_topic, typestr, default/camera/image_raw)parser.add_argument(-show_inference_image, typebool, defaultTrue)parser.add_argument(-save, typebool, defaultFalse)args, unknown parser.parse_known_args()return argsclass Yolov8Node(Node):# Node constructordef __init__(self) - None:super().__init__(yolov8_node)# node paramsself.args parse_argument()#self._class_to_color {}self.cv_bridge CvBridge()# yoloself.yolo YOLO(self.args.model)self.yolo.fuse()print(f{self.args.device})self.yolo.to(self.args.device)# topic publishers subscribersself._infer_pub self.create_publisher(Image, inference_image, 10)self._image_sub self.create_subscription(Image,self.args.input_image_topic,self.image_cb,qos_profile_sensor_data)def image_cb(self, msg: Image) - None:# if self.args.enable:# record start timefps_start_t time.time()# convert to cv image predictcv_image self.cv_bridge.imgmsg_to_cv2(msg)infer_start_t time.perf_counter()results self.yolo.predict(sourcecv_image,verboseFalse,streamFalse,confself.args.conf_threshold,iouself.args.iou_threshold,showself.args.show_inference_image,modepredict,saveself.args.save)end_time time.perf_counter()# visualize the results on the frameannotated_image results[0].plot()# record the end time and calculate FPSfps 1.0 / (end_time - fps_start_t)cv2.putText(annotated_image, FPS: {:.2f}.format(fps), (10, 30),cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2, cv2.LINE_AA)results results[0].cpu()for b in results.boxes:label self.yolo.names[int(b.cls)]score float(b.conf)if score self.args.conf_threshold:continue# get boxes valuesbox b.xywh[0]x_center float(box[0])y_center float(box[1])x_size float(box[2])y_size float(box[3])x_min round(x_center - x_size / 2.0)x_max round(x_center x_size / 2.0)y_min round(y_center - y_size / 2.0)y_max round(y_center y_size / 2.0)# draw boxes for debuggingif label not in self._class_to_color:r random.randint(0, 255)g random.randint(0, 255)b random.randint(0, 255)self._class_to_color[label] (r, g, b)color self._class_to_color[label]cv2.rectangle(cv_image, (x_min, y_min), (x_max, y_max), color, 2)label {} ({:.3f}).format(label, score)pos (x_min 5, y_min 25)font cv2.FONT_HERSHEY_SIMPLEXcv2.putText(cv_image, label, pos, font,1, color, 1, cv2.LINE_AA)# append msgself._infer_pub.publish(self.cv_bridge.cv2_to_imgmsg(annotated_image, encodingmsg.encoding))def main():rclpy.init()node Yolov8Node()rclpy.spin(node)node.destroy_node()rclpy.shutdown()if __name__ __main__:main()5. 修改setup.py文件 # ./ros_yolov8/setup.py from setuptools import setup import os from glob import globpackage_name ros_yolov8setup(namepackage_name,version0.0.0,packages[package_name],# new ros2_ws/install/{package_name}/share/*, copy from src/{package_name}/*data_files[(share/ament_index/resource_index/packages, [resource/ package_name]),(share/ package_name, [package.xml]),# During installation, we need to copy the launch files(os.path.join(share, package_name, launch), glob(launch/*launch.[pxy][yma]*)),# Same with the RViz2 configuration file.(os.path.join(share, package_name, rviz2), glob(rviz2/*)),# And the Gazebo world files.(os.path.join(share, package_name, worlds), glob(worlds/*)),# And the config files.(os.path.join(share, package_name, config), glob(config/*)),], ...... 6. 编译包 source /opt/ros/galactic/setup.bash colcon build --packages-select ros-yolov8 . install/setup.bash 7. 运行launch文件 ros2 launch /xxx/ros_yolov8/launch/detect_demo.launch.py # 或 ros2 launch ros_yolov8 detect_demo.launch.py
http://www.dnsts.com.cn/news/86756.html

相关文章:

  • 对网站专业性建设_宣传推广设计整体改进方案wordpress中文标签
  • 炒币网站开发wordpress表单编辑插件
  • 深圳鸿天顺网站建设神农架网站建设公司
  • 宣传册外贸建站seo
  • 网站开发速成阿里邮箱企业版手机版
  • 凡科网做网站收费吗嵌入式软件开发流程规范
  • 网站ftp管理工具网站 前置审批
  • 上海搬家公司哪家口碑最好广州网站排名优化服务
  • 深圳建设信息网站官网开源中国
  • 企业网站建设设计任务书wordpress媒体库制作文件夹
  • 微信小程序源码网站深圳创业贷
  • 企业平台网站建设方案企业管理平台下载
  • 有自己的网站怎么做淘宝客公司网页设计流程
  • 做任务能赚钱的网站网站建设需要匹配人员
  • 网站的链接结构国外html响应式网站
  • 网站制作手机版室内设计效果图手绘线稿
  • 泰安网站制作推荐网站域名备案信息查询
  • 上海ktv目前营业情况四川二级站seo整站优化排名
  • 做网站客户不给钱怎么办衡州网站建设seo
  • 网站怎么生成二维码制作好看的wordpress页面
  • 网站文件夹权限wordpress生活插件
  • 学生求职网站的需求分析怎么做分析杭州高端网站建设开发的区别
  • 哪个网站可以做c语言的题网站定制型和营销型
  • 兰州网站制作培训班教育培训门户网站模板下载
  • 网站搜索 代码wordpress 深度定制
  • 自己做网站开网店电商网站开发要求
  • 电子商务网站建设策划书网站类型潍坊市建设一体化平台网站
  • 中国十大知名网站建设app开发定制外包22
  • 包头网站建设易通网站流量是什么
  • 设计企业网站首页建设银行网站安全性分析