python机器人框架和工具

ar-markers的Python项目详细描述


https://raw.githubusercontent.com/walchko/ar_markers/master/pics/marker.png

AR U标记

https://img.shields.io/pypi/l/ar_markers.svghttps://img.shields.io/pypi/pyversions/ar_markers.svghttps://img.shields.io/pypi/wheel/ar_markers.svghttps://img.shields.io/pypi/v/ar_markers.svg

用python编写opencv的hamming标记检测。

原著作者:马克斯·布劳尔:github。 我所做的只是清理一些小东西,然后把它打包在pypi上使用。

这个包能够读取和创建hamming标记,如 this blogpost

目的

这个项目是为了机器人学/计算机视觉class 我在2018年春季任教。我想要一些简单的东西我们可以通过 他们可以理解它是如何工作的。我还教他们opencv,所以 我想要写点什么。最后我们做了“路标”和 学生们在这些“街道”上驾驶Roomba机器人(好吧,真的是3英寸) 道路用黑色宽胶带)。当他们发现交叉路口时 一个摄像头可以看到路标,它告诉他们:直走, 左转,或右转。

有时它没有我想要的那么坚固,所以你可能得移动目标 在它被认出来之前。

安装

最简单的安装方法是:

pip install ar_markers

您还需要opencv 3.x作为最低要求。在MacOS上,您可以执行以下操作:

brew install opencv

使用量

有两个助手脚本:

  • ar_markers_generate.py生成标记。做ar_markers_generate.py --help 查看选项
  • ar_markers_scan.py扫描标记。一旦您创建并打印出 马克笔,把马克笔放在相机前面。你会看到一个蓝色的边界 标记(如果检测到)和一个绿色数字,显示该标记的ID 代表。

或用于如下程序中:

#!/usr/bin/env pythonfrom__future__importprint_functionimportcv2fromar_markersimportdetect_markersif__name__=='__main__':print('Press "q" to quit')capture=cv2.VideoCapture(0)ifcapture.isOpened():# try to get the first frameframe_captured,frame=capture.read()else:frame_captured=Falsewhileframe_captured:markers=detect_markers(frame)formarkerinmarkers:marker.highlite_marker(frame)cv2.imshow('Test Frame',frame)ifcv2.waitKey(1)&0xFF==ord('q'):breakframe_captured,frame=capture.read()# When everything done, release the capturecapture.release()cv2.destroyAllWindows()

BSD许可证

版权所有(c)2007,Max Brauer 保留所有权利

以源和二进制形式重新分配和使用,有无 允许修改,但条件如下 会议:

一。源代码的重新分发必须保留上述版权 注意,此条件列表和以下免责声明。

2.以二进制形式重新分配必须复制上述版权 注意,此条件列表和以下免责声明 分发时提供的文件和/或其他材料。

三。无论是版权所有者的名字还是 贡献者可用于支持或推广来自 本软件未经事先书面许可。

本软件由版权所有者和贡献者“作为 以及任何明示或默示保证,包括但不限于 对……的适销性和适用性的默示保证 特殊目的被驳回。在任何情况下,版权 持有人或出资人对任何直接、间接、附带的, 特殊、惩戒性或后果性损害(包括但不限于 采购替代货物或服务;失去使用、数据或 利润;或营业中断)无论是何种原因引起的 责任,无论是合同责任、严格责任还是侵权责任(包括 疏忽或其他)以任何方式产生 软件,即使被告知有这种损坏的可能性。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
是否授予Java在windows 8中编写文件的权限?   java输出包含一个或多个元素的整数数组   用扫描器读取单个字符   在容器外部为JUnit测试注入JNDI数据源时发生java错误   java无法自动连线。找不到类型为“int”的bean   java后台服务形状   html Java正则表达式在关闭标记后添加空格(如果不存在)   java Kafka与Spring集成consumertimeout与读取超时?   在Android中使用接口作为类型的java   java重构重写   java从另一个活动发送实时消息   java PrintWriter println()不带“空格”   sockets java。木卫一。StreamCorruptedException:流标头无效   多个截击请求的java问题   带有JDBC的java Gluon示例项目无法在iOS设备上运行   使用SOAP时的java“连接重置”