python实现寻迹功能
python 使用CV2库 实现寻迹功能
参考博客:https://blog.csdn.net/yzy_1996/article/details/85318179#commentsedit
"""使用python实现:寻迹的功能背景:可以用于小车的寻迹功能,赛道是白色部分,其余是黑色参考文献:https://blog.csdn.net/yzy_1996/article/details/85318179#commentsedit返回值:停车 0, 右转 1, 左转 -1
"""
import cv2
import numpy as npdef change_direct(temp):"""改变方向函数"""if temp > 250:print("停车")return 0elif temp > 0:print("右转")return 1else:print("左转")return -1def trace_fun():"""寻迹函数:保持"""cap = cv2.VideoCapture(1)result = Nonewhile(cap.isOpened()):# Capture frame-by-frame ret, frame = cap.read()# 真实图# cv2.imshow('real_img', frame)# 转化为灰度图gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)# cv2.imshow("gray_img", gray)# 大津法二值化retval, dst = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU)# cv2.imshow("dst_img", dst)# 单单看第240行的像素color = dst[400]# 找到白色的像素点个数white_count = np.sum(color == 255)# 找到白色的像素点索引white_index = np.where(color == 255)# 防止white_count=0的报错if white_count == 0:continue# 找到白色像素的中心点位置center = (white_index[0][white_count - 1] + white_index[0][0]) / 2# 计算出center与标准中心点的偏移量,因为摄像头的像素为:480x640,宽度的一半direction = center - 320# 画线 图像,起点坐标,终点坐标,线的颜色, 线的大小cv2.line(frame, (320, 120), (320, 350), (0, 255, 0), 1, 4)cv2.line(frame, (300, 200), (300, 280), (0, 255, 0), 1, 4)cv2.line(frame, (340, 200), (340, 280), (0, 255, 0), 1, 4)print(direction)cv2.line(frame, (int(center), 200), (int(center), 280), (0, 0, 255), 1, 4)# 添加文字 图像,文字内容, 坐标 ,字体,大小,颜色,字体厚度cv2.putText(frame, 'distance:%s' % direction, (int(center)-40, 220), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 255), 2)cv2.imshow("frame", frame)# 判断方向的下一步操作result = change_direct(direction)if cv2.waitKey(1) & 0xFF == ord('q'):breakcap.release()cv2.destroyAllWindows()if __name__ == '__main__':trace_fun()
效果:
python实现寻迹功能相关推荐
- 基于51单片机的智能小车(寻迹功能)
题目:基于C52的智能小车设计与制作 1设计目的 通过构建智能小车,培养设计并实现自动控制系统的能力,在实践过程中,熟悉以单片机为核心控制芯片,设计小车的检测,驱动和显示等外围电路,采用智能控制算法实 ...
- c语言小车寻迹实训报告,循迹小车项目实训报告.doc
循迹小车项目实训报告 寻迹小车的设计与制作实训报告 课程名称: C51程序设计 EDA技术 专业班级: 应电0935班 指导老师: 方跃春 谭刚林 小组成员: 黄春桥 汤政 孙巍明 阳毅 实训项目要求 ...
- 【毕业设计】39-基于单片机的智能小车寻迹系统的设计与实现(原理图工程+仿真工程+源代码+答辩论文+答辩PPT)
[毕业设计]39-基于单片机的智能小车寻迹系统的设计与实现(原理图工程+仿真工程+源代码+答辩论文+答辩PPT) 文章目录 [毕业设计]39-基于单片机的智能小车寻迹系统的设计与实现(原理图工程+仿真 ...
- 基于STM32的麦克纳姆轮小车的寻迹实现
个人博客:http://www.chenjianqu.com/ 原文链接:http://www.chenjianqu.com/show-27.html 本项目用STM32F407,麦克纳姆轮小车,八路 ...
- 计算机毕业设计(附源码)python寻迹边境丹东旅游网站
项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs. 项目技术: dj ...
- 基于51单片机的扫地小车,扫地机器人设计 主要功能有寻迹避障,来回清扫功能,往返清扫功能
基于51单片机的扫地小车,扫地机器人设计. 有原理图,程序代码,原文. 可做实物. 主要功能有寻迹避障,来回清扫功能,往返清扫功能. YID:3350665853241481南唐开心的卷柏
- 简述寻迹避障小车各个模块功能
寻迹避障小车是一种能够自动在环境中行进,并能避开障碍物的小型机器人.它通常由以下几个模块组成: 控制模块:负责控制小车的运动,并处理来自其他模块的信息.这可能包括使用电机控制器来控制电机,以及使用传感 ...
- 无人机寻迹要两个单片机吗_基于OpenMV的循迹无人机设计
基于OpenMV的循迹无人机设计 发表时间:2020-08-24 基于OpenMV机器视觉模块进行目标识别算法的研究.利用图像的滤波.二值化等算法对摄像头采集的图像进行预处理;利用边缘检测和形状识别算 ...
- ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前进实验调试
在下载到开发板之前要选择好板和端口,具体参见: ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 -- Arduino相关设置 // 智能小车前进实验 //=================== ...
最新文章
- struts实战--实现条件查询(利用dbutils)
- 万事开头难,用HTML写的第一个界面,收获颇多
- ruby推送示例_Ruby直到示例循环
- 阿里巴巴发布第一台云电脑“无影” 可线上无限扩容升级
- 提高网站访问速度的方法汇总
- 博应用教你使用华为nova3添加桌面小工具
- javascript案例32——中文简繁体转换
- DAO与Servlet
- RESTFul API
- [转]寂寞的数学家和不孤独的素数
- oracle产生连续的数字
- 二叉树遍历(递归、非递归)
- 数据结构算法之子集树
- 资深架构师成长路线 -- 架构师筑基必备技能
- 苹果下一代iPhone曝光
- 大数据专业就业方向和考研院校及系统学习路线规划
- 计算机窗口中找不到桌面,电脑桌面上的部分图标不见了怎么办啊
- python利用appium实现手机APP自动化
- [ WebUpload ] WebUpload 插件初始化问题
- jpg转svg文字路径动画
热门文章
- zoj 3725 Painting Storages dp
- BigBrother的大数据之旅Day 2 Linux(2)
- 数据智能的本质和技术体系要求
- 基于JavaWeb的在线外卖系统平台设计
- Working Practice-召集相关人员面对面的沟通是处理问题最快的方式之一
- matlab永磁电机模型,采用MATLAB/Simulink对永磁同步电机进行模型仿真和调速研究
- 深度学习新王者AutoML和NAS
- 开源代码分析技巧之四——国外技术社区提问
- 水星路由器上网设置服务器无响应,怎么防止路由器DNS被劫持弹出广告
- mpv 终极教程【安装、快捷键、 播放列表jonniek/mpv-playlistmanager】