要实现基于 Python-OpenCV 实时识别灰色中心赛道,可以按照以下步骤进行:

  1. 导入所需的库:
import cv2
import numpy as np
  1. 打开摄像头并设置视频参数:
cap = cv2.VideoCapture(0)
cap.set(3, 640)  # 设置视频宽度为640
cap.set(4, 480)  # 设置视频高度为480
  1. 创建一个循环来读取视频流并进行处理:
while True:
    # 读取视频流帧
    ret, frame = cap.read()
    
    # 将图像转换为灰度图像
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # 进行灰度阈值处理,将灰度图像转换为二值图像
    _, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
    
    # 查找灰色中心赛道
    contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    for contour in contours:
        # 计算轮廓的中心坐标
        M = cv2.moments(contour)
        if M['m00'] != 0:
            cX = int(M['m10'] / M['m00'])
            cY = int(M['m01'] / M['m00'])
            
            # 在图像上绘制中心点
            cv2.circle(frame, (cX, cY), 5, (0, 0, 255), -1)
    
    # 显示图像
    cv2.imshow('frame', frame)
    
    # 按下 'q' 键退出循环
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# 释放摄像头和关闭窗口
cap.release()
cv2.destroyAllWindows()

这样就可以实现通过摄像头实时识别灰色中心赛道。在代码中,我们首先读取摄像头的视频流帧,然后将图像转换为灰度图像。接下来,通过灰度阈值处理将灰度图像转换为二值图像。然后,使用轮廓查找函数找到图像中的轮廓,并计算出每个轮廓的中心坐标。最后,将中心点绘制在图像上,并将图像显示出来。按下 'q' 键即可退出循环。

Python OpenCV 实时识别灰色中心赛道教程

原文地址: https://www.cveoy.top/t/topic/eIY2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录