基于python-opencv实时识别黑线赛道(二)
#!/usr/bin/env python3# 识别的是中线为白色import cv2
import numpy as np
# center定义
center = 320
# 打开摄像头,图像尺寸640*480(长*高),opencv存储值为480*640(行*列)
cap = cv2.VideoCapture(0)
while (1):ret, frame = cap.read()gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)# 大津法二值化retval, dst = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU)#cv2.imshow("dst", dst)# 膨胀,白区域变大dst = cv2.dilate(dst, None, iterations=2)#cv2.imshow("dst2", dst)# # 腐蚀,白区域变小 #dst = cv2.erode(dst, None, iterations=6)cv2.imshow("dst3", dst)# 单看第400行的像素值vcolor = dst[400]# 找到白色的像素点个数,如寻黑色,则改为0white_count = np.sum(color == 0)# 找到白色的像素点索引,如寻黑色,则改为0white_index = np.where(color == 0)# 防止white_count=0的报错if white_count == 0:white_count = 1# 找到黑色像素的中心点位置# 计算方法应该是边缘检测,计算黑色边缘的位置和/2,即是白色的中央位置。center = (white_index[0][white_count - 1] + white_index[0][0]) / 2# 计算出center与标准中心点的偏移量,因为图像大小是640,因此标准中心是320,因此320不能改。direction = center - 320param = str(direction)+'\r\n'print(direction)if cv2.waitKey(1) & 0xFF == ord('q'):break
cap.release() # 释放cap
cv2.destroyAllWindows() # 销毁所有窗口
声明:实验室学弟学妹们应用代码时,要注意具体赛道情况,本代码适用于如下图所示的赛道(两条黑线构成的赛道)
基于python-opencv实时识别黑线赛道(二)相关推荐
- 基于python-opencv实时识别黑线赛道(三)之上位机PID调控前篇
前言: 本篇文章是前两篇文章的进阶版本(基于python-opencv实时识别黑线赛道(一)与基于python-opencv实时识别黑线赛道(二)),在实时识别黑线的基础上标注了黑线的角度,同时,本篇 ...
- 基于python opencv人脸识别的签到系统
基于python opencv人脸识别的签到系统 前言 先看下效果 实现的功能 开始准备 页面的构建 功能实现 代码部分 总结 前言 一个基于opencv人脸识别和TensorFlow进行模型训练的人 ...
- 基于python opencv人脸识别的员工考勤系统
WorkAttendanceSystem 一个基于opencv人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,python课设期间. 源代码详细解释请关注微信公众号: ...
- opencv python考勤_GitHub - liqq1228/python-opencv: 基于python opencv人脸识别的员工考勤系统...
项目及作者说明 一个基于 Opencv.dlib 人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,Python 学习期间. 开源版及商业版说明 开源版 商业版 人脸录入 ...
- opencv人脸识别考勤 python_GitHub - lisanshui007/python-opencv: 基于python opencv人脸识别的员工考勤系统...
项目及作者说明 一个基于 Opencv.dlib 人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,Python 学习期间. 开源版及商业版说明 开源版 商业版 人脸录入 ...
- python人脸考勤系统_GitHub - jykcc/python-opencv: 基于python opencv人脸识别的员工考勤系统...
项目及作者说明 一个基于 Opencv.dlib 人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,Python 学习期间. 开源版及商业版说明 开源版 商业版 人脸录入 ...
- 基于python+OpenCV的车牌号码识别
基于python+OpenCV的车牌号码识别 车牌识别行业已具备一定的市场规模,在电子警察.公路卡口.停车场.商业管理.汽修服务等领域已取得了部分应用.一个典型的车辆牌照识别系统一般包括以下4个部分: ...
- 【开源分享】基于Python+OpenCV+PyQt5车牌识别(GUI界面)
亲测无错:基于Python+OpenCV+PyQt5车牌识别(GUI界面)绝对可以用的!!!!! 基于Python+OpenCV+PyQt5车牌识别(GUI界面) 参考文档
- 基于Python的人脸识别方法
摘要:得益于计算机硬件技术的进步以及软件算法的不断改进,近些年来人工智能技术得到了前所未有的发展,基于深.度学习的人脸识别技术也已经得到了广泛的应用,特别是在安保.金融等需要安全系数较高的领域.提出了 ...
最新文章
- SpringMVC上传文件
- mysql平均分 面试_经典mysql面试题 - 学生成绩
- JAVA .xml 配置和 .properties 配置
- 如何删除一个员工编号及其全部主数据和事务数据?
- 从Servlet 到ApplicationContext
- windosw应用提示内存不足
- (五)将YOLOv5 PyTorch模型权重转换为TensorFlow Lite格式
- python人工智能能干啥_人工智能首选什么语言 Python能做哪些事情
- Ubuntu Fcitx 乱码教训
- (大数据工程师学习路径)第三步 Git Community Book----基本用法(下)
- EmguCv模板匹配学习日记
- 修改Postman安装路径
- 四旋翼无人机飞行器基本知识(四旋翼无人机结构和原理+四轴飞行diy全套入门教程)
- 【转】Android Hook框架Xposed详解
- 1+X 云计算运维与开发(中级)案例实战——搭建harbor私有仓库并实现主从同步
- antd表格分页控件显示英文page
- fortran内存不足的解决方法
- python错误提示库没有注册_无法访问计算机XXXX。错误是:库没有注册
- PHP+MySQL 无限级分类的两种实现方案
- vue-baidu-map插件中bm-marker组件嵌套bm-info-window组件使用,在地图上生成多个点
热门文章
- java 扰码工具_【Developer Log】ProGuard扰码可执行JAR包
- 三种常用的LED驱动电源电路图详解
- 开启虫洞的频率_仅用几段音频、扬声器和灯就能打开“虫洞”,这是真的?内附视频...
- 为什么要写博客?写博客有哪些好处?
- 导致请求失败 设备硬件出现致命错误_设备硬件出现致命错误,导致请求失败,应该怎么办?...
- 林业大学计算机专业排名2019,2021年北京林业大学最新排名 全国最新排名
- 我是吴恩达:人在美国,刚上知乎,先答个「如何系统学习机器学习」
- 使用Java实现上传图片到七牛云
- 已经30岁了,现在学编程还晚不晚
- 掌握并理解 CORS (跨域资源共享)