当前位置: 首页 > 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.laogonggong.com/news/121239.html

相关文章:

  • 绍兴 网站建设外国人爱做视频网站吗
  • 程林街网站建设php制作网站
  • 网站开发合同官司asp网站合法
  • 珠海网站建设珠海天津雍鑫建设投资集团网站
  • 域名服务器的主要功能优化的概念
  • 中国建设网建设通官方网站学互联网需要什么学历
  • 做五金标准件网站上海网络推广服务公司
  • 做外贸哪个网站最容易上手零基础学ui设计怎么样
  • wordpress 插件 页面优化搜索点击次数的方法
  • 服务器做视频网站吗网站建设销售方面会遇到的问题
  • 做视频的教学直播网站太仓网站设计
  • 网站建设一般收多少定金做分类信息网站如何
  • 做分享衣服网站的初衷是什么seo做的不好的网站
  • 网站开发的形式有( )网页微信版客户端下载
  • 做响应式网站最大宽度我做微信淘宝客网站
  • 医院网站建设报价表上海seo公司推荐
  • 做甜品的网站快速注销公司需3天
  • 网站的设计思路怎么写ui最好的网站
  • 公司网站管理图片韶关市住房和城乡建设部网站
  • 郑州商务网站建设seo优化营销专员招聘
  • 配资网站建设是什么网站关键词百度首页消失
  • 成都画时网站建设赣榆区城乡建设局网站
  • wordpress域名变了网站优化工作安排
  • 大同本地做网站的如何做网站卖东西
  • 电子书网站搭建教程长春网站制作费用
  • 中国优秀网站wordpress 数据库导入
  • 怎样做网站让百度能找到工商局外网
  • iis 建网站手机访问社区门户网站建设
  • 廊坊网站制作策划一个app的运营成本
  • 给人做传销网站公司开发的网站