opencv捕获黄色小球

这篇具有很好参考价值的文章主要介绍了opencv捕获黄色小球。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

import cv2
import numpy as np
import math

def draw_mark_X(img, x, y, width=6, color=(0, 0, 255), penWid=2):
    cv2.line(img, (int(x - width), int(y - width)), (int(x + width), int(y + width)), color, penWid)
    cv2.line(img, (int(x - width), int(y + width)), (int(x + width), int(y - width)), color, penWid)

# 使用测试视频
video_path = 0
# video_path = 0   # 使用本机摄像头
cap = cv2.VideoCapture(video_path)
fps = cap.get(cv2.CAP_PROP_FPS)
while cap.isOpened():
    ret, frame = cap.read()

    if ret == False:
        break
    # 设置HSV跟踪颜色范围(红色)
    min_pipa_hsv = np.array([5, 95, 145])
    max_pipa_hsv = np.array([25, 255, 255])
    img_hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
    # 提取颜色范围内图像区域
    PingPangMask = cv2.inRange(img_hsv, min_pipa_hsv, max_pipa_hsv)
    img_pipa = cv2.bitwise_and(frame, frame, mask=PingPangMask)

    # 二值化
    kernel = np.ones((6, 6), np.uint8)
    img_kai = cv2.morphologyEx(img_pipa, cv2.MORPH_OPEN, kernel)
    # img_kai_gray = cv2.cvtColor(img_kai, cv2.COLOR_HSV)
    img_kai_chv = img_kai[:, :, 2]
    thr, img_bin = cv2.threshold(img_kai_chv, 63, 255, cv2.THRESH_BINARY)
    print('thr:', thr)
    #  提取轮廓
    contours, hierarchy = cv2.findContours(img_bin, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

    if len(contours) < 1:
        continue
    # There should be at least 5 points to fit the ellipse
    if len(contours[0]) < 8:
        continue

    print('len(contours):', len(contours))
    print('Points', len(contours[0]))
    print('contours:', contours)
    print('hierarchy', hierarchy)
    # 画绿色轮廓线
    cv2.drawContours(frame, contours, -1, (0, 255, 0), 2)

    #  画红色轮廓最小外接圆
    (x, y), radius = cv2.minEnclosingCircle(contours[0])
    center = (int(x), int(y))
    radius = int(radius)
    cv2.circle(frame, center, radius, (0, 0, 255), 1)
    draw_mark_X(frame, int(x), int(y))

    #  画白色最优拟合椭圆
    ellipse = cv2.fitEllipse(contours[0])  # 最优拟合椭圆
    cv2.ellipse(frame, ellipse, (255, 255, 255), 1)

    #  计算最小外接圆面积
    area = math.pi * radius * radius

    #  显示圆心X Y 坐标,半径 R, 和 圆面积
    font = cv2.FONT_HERSHEY_SIMPLEX
    text_info = 'X:' + str(x * 10 // 1 / 10) + '  Y:' + str(y * 10 // 1 / 10)
    cv2.putText(frame, text_info, (10, 30), font, 1, (0, 255, 0), 1)
    text_info = 'R:' + str(radius * 10 // 1 / 10) + "    Area:" + str(area * 100 // 1 / 100)
    cv2.putText(frame, text_info, (10, 60), font, 1, (0, 255, 0), 1)

    #  显示图像帧
    cv2.imshow('PingPangTrace', frame)
    c = cv2.waitKey(int(1000 / fps))
    # c = cv2.waitKey(200)
    #  按ESC键退出
    if c == 27:  # ESC
        break
cap.release()
cv2.destroyAllWindows()
print('Exit video read.')

opencv捕获黄色小球,opencv,计算机视觉,python文章来源地址https://www.toymoban.com/news/detail-827372.html

到了这里,关于opencv捕获黄色小球的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机竞赛 机器视觉人体跌倒检测系统 - opencv python

    🔥 优质竞赛项目系列,今天要分享的是 🚩 机器视觉人体跌倒检测系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/

    2024年02月07日
    浏览(63)
  • 计算机竞赛 深度学习 机器视觉 人脸识别系统 - opencv python

    🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习 机器视觉 人脸识别系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:3分 🧿 更多资料, 项目分享: https://gitee.com/dancheng

    2024年02月07日
    浏览(83)
  • 计算机竞赛 python 机器视觉 车牌识别 - opencv 深度学习 机器学习

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于python 机器视觉 的车牌识别系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:3分 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 车牌识别其实是个经典的机器视觉任务了,

    2024年02月12日
    浏览(62)
  • python基于OpenCV预测图片中目标的实际尺寸(计算机视觉)

    本次实验需要根据已知的硬币的直径,预测图片中书本的长与宽以及书本右上方用铅笔画的圆圈的外圆直径。可以先对图片进行矫正,找到硬币的轮廓并计算硬币直径占据的像素大小,进而得到实际尺寸和像素的比例系数,然后找到书本和铅笔绘制的圆圈的轮廓,再根据它们

    2024年02月03日
    浏览(53)
  • python 机器视觉 车牌识别 - opencv 深度学习 机器学习 计算机竞赛

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于python 机器视觉 的车牌识别系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:3分 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 车牌识别其实是个经典的机器视觉任务了,

    2024年02月06日
    浏览(54)
  • 计算机竞赛 深度学习 opencv python 公式识别(图像识别 机器视觉)

    🔥 优质竞赛项目系列,今天要分享的是 🚩 基于深度学习的数学公式识别算法实现 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:4分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/d

    2024年02月07日
    浏览(57)
  • 实战指南:使用OpenCV 4.0+Python进行机器学习与计算机视觉

    💂 个人网站:【办公神器】【游戏大全】【神级源码资源网】 🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】 💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 计算机视觉和机器学习的融合为我们带来了前所未有的机会和挑战。从智能助手到

    2024年02月13日
    浏览(52)
  • 计算机竞赛 深度学习人体跌倒检测 -yolo 机器视觉 opencv python

    🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习的人体跌倒检测算法研究与实现 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:5分 🧿 更多资料, 项目分享: https

    2024年02月08日
    浏览(75)
  • 计算机设计大赛 深度学习人脸表情识别算法 - opencv python 机器视觉

    🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习人脸表情识别系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/

    2024年02月21日
    浏览(153)
  • Python-OpenCV教程丨从零开始学计算机视觉

    探索新大陆:PythonOpenCV,本文主要记录入门计算机视觉的一些简单程序。 安装opencv库: 这段代码使用OpenCV库创建了一个宽度为200,高度为100的空白图像,并将图像中所有像素点的值设为255(白色)。然后展示了该图像。 具体的执行过程如下: 导入cv2和numpy库。 import cv2 imp

    2024年01月18日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包