#!/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实时识别黑线赛道(二)相关推荐

  1. 基于python-opencv实时识别黑线赛道(三)之上位机PID调控前篇

    前言: 本篇文章是前两篇文章的进阶版本(基于python-opencv实时识别黑线赛道(一)与基于python-opencv实时识别黑线赛道(二)),在实时识别黑线的基础上标注了黑线的角度,同时,本篇 ...

  2. 基于python opencv人脸识别的签到系统

    基于python opencv人脸识别的签到系统 前言 先看下效果 实现的功能 开始准备 页面的构建 功能实现 代码部分 总结 前言 一个基于opencv人脸识别和TensorFlow进行模型训练的人 ...

  3. 基于python opencv人脸识别的员工考勤系统

    WorkAttendanceSystem 一个基于opencv人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,python课设期间. 源代码详细解释请关注微信公众号: ...

  4. opencv python考勤_GitHub - liqq1228/python-opencv: 基于python opencv人脸识别的员工考勤系统...

    项目及作者说明 一个基于 Opencv.dlib 人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,Python 学习期间. 开源版及商业版说明 开源版 商业版 人脸录入 ...

  5. opencv人脸识别考勤 python_GitHub - lisanshui007/python-opencv: 基于python opencv人脸识别的员工考勤系统...

    项目及作者说明 一个基于 Opencv.dlib 人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,Python 学习期间. 开源版及商业版说明 开源版 商业版 人脸录入 ...

  6. python人脸考勤系统_GitHub - jykcc/python-opencv: 基于python opencv人脸识别的员工考勤系统...

    项目及作者说明 一个基于 Opencv.dlib 人脸识别的员工考勤系统,作者某双一流A类大学里的一流学生,写于2018/09/,Python 学习期间. 开源版及商业版说明 开源版 商业版 人脸录入 ...

  7. 基于python+OpenCV的车牌号码识别

    基于python+OpenCV的车牌号码识别 车牌识别行业已具备一定的市场规模,在电子警察.公路卡口.停车场.商业管理.汽修服务等领域已取得了部分应用.一个典型的车辆牌照识别系统一般包括以下4个部分: ...

  8. 【开源分享】基于Python+OpenCV+PyQt5车牌识别(GUI界面)

    亲测无错:基于Python+OpenCV+PyQt5车牌识别(GUI界面)绝对可以用的!!!!! 基于Python+OpenCV+PyQt5车牌识别(GUI界面) 参考文档

  9. 基于Python的人脸识别方法

    摘要:得益于计算机硬件技术的进步以及软件算法的不断改进,近些年来人工智能技术得到了前所未有的发展,基于深.度学习的人脸识别技术也已经得到了广泛的应用,特别是在安保.金融等需要安全系数较高的领域.提出了 ...

最新文章

  1. SpringMVC上传文件
  2. mysql平均分 面试_经典mysql面试题 - 学生成绩
  3. JAVA .xml 配置和 .properties 配置
  4. 如何删除一个员工编号及其全部主数据和事务数据?
  5. 从Servlet 到ApplicationContext
  6. windosw应用提示内存不足
  7. (五)将YOLOv5 PyTorch模型权重转换为TensorFlow Lite格式
  8. python人工智能能干啥_人工智能首选什么语言 Python能做哪些事情
  9. Ubuntu Fcitx 乱码教训
  10. (大数据工程师学习路径)第三步 Git Community Book----基本用法(下)
  11. EmguCv模板匹配学习日记
  12. 修改Postman安装路径
  13. 四旋翼无人机飞行器基本知识(四旋翼无人机结构和原理+四轴飞行diy全套入门教程)
  14. 【转】Android Hook框架Xposed详解
  15. 1+X 云计算运维与开发(中级)案例实战——搭建harbor私有仓库并实现主从同步
  16. antd表格分页控件显示英文page
  17. fortran内存不足的解决方法
  18. python错误提示库没有注册_无法访问计算机XXXX。错误是:库没有注册
  19. PHP+MySQL 无限级分类的两种实现方案
  20. vue-baidu-map插件中bm-marker组件嵌套bm-info-window组件使用,在地图上生成多个点

热门文章

  1. java 扰码工具_【Developer Log】ProGuard扰码可执行JAR包
  2. 三种常用的LED驱动电源电路图详解
  3. 开启虫洞的频率_仅用几段音频、扬声器和灯就能打开“虫洞”,这是真的?内附视频...
  4. 为什么要写博客?写博客有哪些好处?
  5. 导致请求失败 设备硬件出现致命错误_设备硬件出现致命错误,导致请求失败,应该怎么办?...
  6. 林业大学计算机专业排名2019,2021年北京林业大学最新排名 全国最新排名
  7. 我是吴恩达:人在美国,刚上知乎,先答个「如何系统学习机器学习」
  8. 使用Java实现上传图片到七牛云
  9. 已经30岁了,现在学编程还晚不晚
  10. 掌握并理解 CORS (跨域资源共享)