python机器人框架和工具
ar-markers的Python项目详细描述
AR U标记
用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.以二进制形式重新分配必须复制上述版权 注意,此条件列表和以下免责声明 分发时提供的文件和/或其他材料。
三。无论是版权所有者的名字还是 贡献者可用于支持或推广来自 本软件未经事先书面许可。
本软件由版权所有者和贡献者“作为 以及任何明示或默示保证,包括但不限于 对……的适销性和适用性的默示保证 特殊目的被驳回。在任何情况下,版权 持有人或出资人对任何直接、间接、附带的, 特殊、惩戒性或后果性损害(包括但不限于 采购替代货物或服务;失去使用、数据或 利润;或营业中断)无论是何种原因引起的 责任,无论是合同责任、严格责任还是侵权责任(包括 疏忽或其他)以任何方式产生 软件,即使被告知有这种损坏的可能性。