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

做网站网课西安网站seo

做网站网课,西安网站seo,那些企业网站做的较好,杭州知名设计公司有哪些第一步#xff1a; 首先在工作空间/src下创建数据结构目录service_interfaces ros2 pkg create service_interfaces --build-type ament_cmake 然后再创建一个srv目录 在里面创建FaceDetect.srv#xff08;注意#xff0c;首字母要大写#xff09; sensor_msgs/Image …第一步 首先在工作空间/src下创建数据结构目录service_interfaces ros2 pkg create service_interfaces --build-type ament_cmake 然后再创建一个srv目录 在里面创建FaceDetect.srv注意首字母要大写 sensor_msgs/Image photo --- uint16 number float32 use_timeint32[] top int32[] right int32[] bottom int32[] left CmakeList.txt cmake_minimum_required(VERSION 3.8) project(service_interfaces)if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES Clang)add_compile_options(-Wall -Wextra -Wpedantic) endif()# find dependencies find_package(ament_cmake REQUIRED) # uncomment the following section in order to fill in # further dependencies manually. # find_package(dependency REQUIRED) # 添加依赖 find_package(sensor_msgs REQUIRED) # 确保这个包在这里被找到 # 声明srv文件所属的工程名字, 文件位置, 依赖DEPENDENCIES find_package(rosidl_default_generators REQUIRED) rosidl_generate_interfaces(${PROJECT_NAME}srv/FaceDetect.srvDEPENDENCIES sensor_msgs )if(BUILD_TESTING)find_package(ament_lint_auto REQUIRED)# the following line skips the linter which checks for copyrights# comment the line when a copyright and license is added to all source filesset(ament_cmake_copyright_FOUND TRUE)# the following line skips cpplint (only works in a git repo)# comment the line when this package is in a git repo and when# a copyright and license is added to all source filesset(ament_cmake_cpplint_FOUND TRUE)ament_lint_auto_find_test_dependencies() endif()ament_package()package.xml 加上依赖 ?xml version1.0? ?xml-model hrefhttp://download.ros.org/schema/package_format3.xsd schematypenshttp://www.w3.org/2001/XMLSchema? package format3nameservice_interfaces/nameversion0.0.0/versiondescriptionTODO: Package description/descriptionmaintainer emailroottodo.todoroot/maintainerlicenseTODO: License declaration/licensebuildtool_dependament_cmake/buildtool_dependdependsensor_msgs/dependbuild_dependrosidl_default_generators/build_dependexec_dependrosidl_default_runtime/exec_dependmember_of_grouprosidl_interface_packages/member_of_grouptest_dependament_lint_auto/test_dependtest_dependament_lint_common/test_dependexportbuild_typeament_cmake/build_type/export /package 第二步 要准备好人脸识别的库不懂的可以看我的另一篇文章《Ubuntu如何使用pip》 要安装好face_recognition的库 pip install face_recognition 安装成功后即可 第三步 在工作空间/src下创建功能包 ros2 pkg create hj_service --build-type ament_cmake --dependencies rclcpp service_interfaces 接着创建face_detect_client.py 在这个代码里面你需要准备好一张里面有人脸的图片 import rclpy from rclpy.node import Node from service_interfaces.srv import FaceDetect from sensor_msgs.msg import Image from cv_bridge import CvBridge, CvBridgeError import cv2 import sysclass FaceDetectClientNode(Node):def __init__(self):super().__init__(face_detect_client_node)self.client self.create_client(FaceDetect, face_detect_service)while not self.client.wait_for_service(timeout_sec1.0):self.get_logger().info(Service not available, waiting again...)self.bridge CvBridge()self.cv_image None # 初始化cv_image为类属性def send_request(self, image_path):try:# 读取图像文件self.cv_image cv2.imread(image_path) # 保存cv_image为类属性if self.cv_image is None:self.get_logger().info(Failed to read image)return# 将OpenCV图像转换为ROS图像消息msg self.bridge.cv2_to_imgmsg(self.cv_image, encodingbgr8)# 构建服务请求request FaceDetect.Request()request.photo msg# 调用服务self.future self.client.call_async(request)except CvBridgeError as e:self.get_logger().info(CvBridge Error: {0}.format(e))def get_response(self):while rclpy.ok():rclpy.spin_once(self)if self.future.done():try:response self.future.result()except Exception as e:self.get_logger().info(Service call failed %r % (e,))else:self.get_logger().info(Service response: use_time: %f, number: %d % (response.use_time, response.number))for i in range(response.number):self.get_logger().info(Face %d: top: %d, right: %d, bottom: %d, left: %d %(i, response.top[i], response.right[i], response.bottom[i], response.left[i]))# 绘制人脸边框for i in range(response.number):top response.top[i]right response.right[i]bottom response.bottom[i]left response.left[i]cv2.rectangle(self.cv_image, (left, top), (right, bottom), (0, 255, 0), 2)# 显示图像cv2.imshow(Detected Faces, self.cv_image)cv2.waitKey(0) # 等待按键cv2.destroyAllWindows() # 关闭所有窗口breakdef main(argsNone):rclpy.init(argsargs)node FaceDetectClientNode()# 替换image.jpg为你的图像文件路径node.send_request(/home/phj/Downloads/test.jpeg)node.get_response()node.destroy_node()rclpy.shutdown()if __name__ __main__:main() face_detect_server.py import rclpy from rclpy.node import Node from service_interfaces.srv import FaceDetect from sensor_msgs.msg import Image from cv_bridge import CvBridge, CvBridgeError import cv2 import face_recognition import timeclass FaceDetectServerNode(Node):def __init__(self, node_name):super().__init__(node_name)self.service self.create_service(FaceDetect, face_detect_service, self.face_detect_callback)self.bridge CvBridge()self.get_logger().info(Service created.)def face_detect_callback(self, request, response):if request.photo.data:try:cv_image self.bridge.imgmsg_to_cv2(request.photo, bgr8)except CvBridgeError as e:self.get_logger().info(CvBridge Error: %s % e)returnelse:self.get_logger().info(No image data received)returnstart time.time()face_locations face_recognition.face_locations(cv_image, modelhog)response.use_time time.time() - startresponse.number len(face_locations)# Initialize lists in the responseresponse.top []response.right []response.bottom []response.left []for (top, right, bottom, left) in face_locations:response.top.append(top)response.right.append(right)response.bottom.append(bottom)response.left.append(left)return responsedef main(argsNone):rclpy.init(argsargs)node FaceDetectServerNode(face_detect_server_node)rclpy.spin(node)node.destroy_node()rclpy.shutdown()if __name__ __main__:main() package.xml ?xml version1.0? ?xml-model hrefhttp://download.ros.org/schema/package_format3.xsd schematypenshttp://www.w3.org/2001/XMLSchema? package format3namehj_service/nameversion0.0.0/versiondescriptionTODO: Package description/descriptionmaintainer emailroottodo.todoroot/maintainerlicenseTODO: License declaration/licensedependrclpy/dependdependservice_interfaces/dependdependsensor_msgs/dependtest_dependament_copyright/test_dependtest_dependament_flake8/test_dependtest_dependament_pep257/test_dependtest_dependpython3-pytest/test_dependexportbuild_typeament_python/build_type/export /packagesetup.py from setuptools import find_packages, setuppackage_name hj_servicesetup(namepackage_name,version0.0.0,packagesfind_packages(exclude[test]),data_files[(share/ament_index/resource_index/packages,[resource/ package_name]),(share/ package_name, [package.xml]),],install_requires[setuptools],zip_safeTrue,maintainerroot,maintainer_emailroottodo.todo,descriptionTODO: Package description,licenseTODO: License declaration,tests_require[pytest],entry_points{console_scripts: [service hj_service.service_member_function:main,client hj_service.client_member_function:main,param_sample hj_service.param:main,face_detect_server_node hj_service.face_detect_server:main,face_detect_client_node hj_service.face_detect_client:main],}, )第四步 打开一个终端 ros2 run hj_service face_detect_server_node打开另一个终端 ros2 run hj_service face_detect_client_node成功
http://www.hkea.cn/news/14332940/

相关文章:

  • 深圳微商城网站制作价格网站建设方案规划书
  • 个人网站设计及实现雷神代刷网站推广快速
  • 河南网站建设服务公司郑州建设工程交易中心网站
  • 设计人才网站广州做网站新锐
  • 郑州购物网站建设怎么写app程序
  • 能买源码的网站有哪些好看的官网源码
  • 58企业网站如何做网站开发ppt
  • 电商网站的活动怎么做宣传片拍摄方案怎么写
  • 快速优化网站排名的方法wordpress中home page
  • 网站模板建站教程视频教程重庆天古装饰公司
  • 山东网站建设培训简洁大气企业网站
  • 蛋糕店网站建设方案网络公司注册的流程
  • 网站建设需要哪些材料企业网站功能模块设计
  • 淮安网站建设公司北京百度seo工作室
  • 深圳网站建设主页马鞍山做公司网站的
  • 中国招标网官方网站在东莞怎么找工作
  • 网站制作 深圳有什么公司网页设计与制作课程在工作中的应用
  • 顺德手机网站设计权威开发app用什么框架
  • 山西省住房和城乡建设厅网站手机安装wordpress
  • 网站内容管理系统下载株洲seo优化报价
  • 企业建网站计什么科目建设网站前期准备工作
  • jsp网站开发技术难点中国最早的电商平台
  • 大良营销网站建设案例房屋室内设计学校
  • 做网站实例教程沈阳男科在线咨询
  • 淘宝联盟+做网站网站制作品牌有哪些
  • 微博优惠券网站怎么做做网站的请示
  • 南京高新区网站建设公司建网站要多少钱
  • 设计专业干货推荐网站wordpress+判断手机
  • 唐山建设网站设计教学网站推荐
  • 棋牌游戏网站模板下载儿童玩具网站建设实训报告