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

哈尔滨住房城乡建设局网站企业为什么校招

哈尔滨住房城乡建设局网站,企业为什么校招,甘肃省建设局网站首页,百度一下首页网页手机版本方案的思路是最简单的不涉及复杂算法#xff1a;识别矩形框#xff0c;标记矩形框#xff0c;输出坐标和中心点#xff0c;计算长度#xff0c;控制舵机移动固定长度#xff01;仅供完成基础功能参考#xff0c;不喜勿喷#xff01; # 实现运动目标控制与自动追踪系…本方案的思路是最简单的不涉及复杂算法识别矩形框标记矩形框输出坐标和中心点计算长度控制舵机移动固定长度仅供完成基础功能参考不喜勿喷 # 实现运动目标控制与自动追踪系统 ## 任务概述 本文将介绍如何使用OpenMV开发板和舵机构建一个运动目标控制与自动追踪系统。该系统包括模拟目标运动的红色光斑位置控制系统和指示自动追踪的绿色光斑位置控制系统。通过本文的实现我们可以在图像中识别目标控制舵机沿着目标移动并输出目标矩形框的中心位置和长度。 ## 硬件准备 1. OpenMV H7 Plus开发板 2. 红色和绿色激光笔 3. 两个舵机连接到OpenMV开发板 ## 硬件连接 将两个舵机分别连接到OpenMV开发板的舵机引脚根据实际引脚选择。 ## 相机设置 在代码中我们将相机设置为QVGA分辨率和RGB565格式。 import sensor, image, math, pyb# 初始化相机 sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QVGA) sensor.skip_frames(time2000)# 其他代码...## 目标检测与跟踪目标检测部分代码实测过 ### 寻找矩形函数 为了在图像中识别目标矩形框我们需要编写一个寻找矩形函数。该函数将返回第二大的矩形区域以便我们可以找到目标的位置。 # 寻找矩形函数返回第二大的矩形区域 def find_second_largest_rectangle(blobs):max_area 0max_blob Nonesecond_max_area 0second_max_blob Nonefor blob in blobs:area blob.area()if area max_area:second_max_area max_areasecond_max_blob max_blobmax_area areamax_blob blobelif area second_max_area:second_max_area areasecond_max_blob blobreturn second_max_blob## 主循环 在主循环中我们将不断获取图像并进行目标检测和跟踪。 while True:img sensor.snapshot() # 获取图像blobs img.find_blobs([black_threshold], pixels_threshold200, area_threshold200)if blobs:# 寻找第二大的矩形区域second_max_blob find_second_largest_rectangle(blobs)if second_max_blob:img.draw_rectangle(second_max_blob.rect(), color(255, 0, 0), thickness4) # 绘制第二大的矩形框颜色为红色# 其他代码...## 舵机控制 为了实现目标跟踪我们需要控制舵机使其沿着矩形框移动一圈并回到中心点。这里我们使用了pyb.Servo()来控制舵机运动。 # 舵机参数 servo_pan_pin 1 # 舵机1的引脚编号 servo_tilt_pin 2 # 舵机2的引脚编号 servo_pan pyb.Servo(servo_pan_pin) # 初始化舵机1 servo_tilt pyb.Servo(servo_tilt_pin) # 初始化舵机2 servo_speed 50 # 舵机转动速度0-100越大越快 servo_pan_range (0, 180) # 舵机1转动范围角度 servo_tilt_range (0, 180) # 舵机2转动范围角度# 控制舵机沿着矩形框移动一圈并回到中心点 for angle in range(servo_pan_range[0], servo_pan_range[1], servo_speed):servo_pan.angle(angle) # 控制舵机1水平旋转servo_tilt.angle(angle) # 控制舵机2垂直旋转pyb.delay(100) # 延时一段时间控制舵机转动速度# 将舵机回到中心点 servo_pan.angle((servo_pan_range[0] servo_pan_range[1]) // 2) servo_tilt.angle((servo_tilt_range[0] servo_tilt_range[1]) // 2)## 结果输出 在检测到目标后我们将输出目标矩形框的中心位置和长度。同时我们会在图像中标记出矩形框的位置。测试坐标和长度还是比较准备  # 获取矩形框的中心点坐标 x, y second_max_blob.cx(), second_max_blob.cy()# 计算矩形框的长度和宽度单位厘米 width_cm 2 * distance_cm * math.tan(math.radians(H_FOV / 2)) * (second_max_blob.w() / img.width()) height_cm 2 * distance_cm * math.tan(math.radians(V_FOV / 2)) * (second_max_blob.h() / img.height())# 输出矩形框的中心点坐标和长度单位厘米 print(Rectangle Center Coordinates (cm): x{}, y{}.format(x, y)) print(Rectangle Width (cm): {}, Height (cm): {}.format(width_cm, height_cm))# 绘制黄色圆点标记矩形框中心位置 img.draw_circle(x, y, 5, color(255, 255, 0), thickness2)## 运行效果 将硬件连接好后上传代码到OpenMV开发板并调整舵机参数和位置。运行代码后你将看到舵机沿着目标矩形框移动并在图像中标记出矩形框的位置和中心点。 ## 结束语 通过本文的实现我们成功搭建了一个运动目标控制与自动追踪系统。通过使用OpenMV开发板和舵机我们能够在图像中识别目标并控制舵机使其跟踪目标。 ## 参考链接 1. OpenMV官方网站: https://openmv.io/ 2. Pyb Servo文档: https://docs.openmv.io/library/pyb.Servo.html 欢迎大家提出宝贵的意见和建议共同探讨学习和改进。谢谢阅读
http://wiki.neutronadmin.com/news/226957/

相关文章:

  • 网站投票链接怎么做司局网站维护廉政风险建设
  • 表白网页制作网站wordpress分类添加自定义字段
  • 多个图表统计的网站怎么做口碑推广
  • 档案网站建设视频揭阳cms建站模板
  • 专业外贸网站建设公司排名wordpress访问加密
  • Thinkphp开发wordpressseo页面优化技术
  • 合肥市建设建筑网站怎么确定电商网站建设的目标
  • 南平购物网站开发设计有域名有服务器怎么做网站
  • 网站怎么开启gzipnginx wordpress配置静态化
  • wordpress建站教程贴吧网站建设教学后记
  • 上海建网站开发公禅城网站开发
  • 哈密伊吾县建设局网站wordpress主题修改颜色教程
  • 移动网站 用户体验wordpress底部跟随按钮怎么做
  • 网站优化软件费用沈阳网站建设58同城
  • joomla 网站建设教程营销公司介绍
  • 怎么样在服务器上建设网站ic交易网站建设
  • 网站右侧固定标题怎么做公司网站备案去哪里备案
  • 济宁网站建设云科网络wordpress 插件上传漏洞
  • 网站内容布局网站砍价活动怎么做
  • 门户网站建设进度网页微博视频不能播放
  • 宜兴做网站舆情通
  • 做旅游网站的产品经理如何韩国女排出线
  • wap移动建站系统网站规划与建设心得体会
  • 垣宝建设工程集团网站大学生创新创业大赛
  • 济南上门做睫毛的网站wordpress修改code标签
  • 公司企业免费网站系统网站建设中哪些最重要性
  • 学校网站前置审批如何做建筑一体化的网站
  • php网站开发发展趋势做app 需要先做网站吗
  • 做电商排名网站wordpress 交易插件
  • 股权众筹网站开发如何申请网站域名注册