用opencv识别颜色并输出坐标

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

1首先安装opencv

pip install opencv-python

参考https://blog.csdn.net/qq_42114833/article/details/128648458?spm=1001.2014.3001.5502

2然后我用的代码

import numpy as np
import cv2

font = cv2.FONT_HERSHEY_SIMPLEX

lower_red = np.array([0, 127, 128])  # 红色低阈值
upper_red = np.array([5, 255, 255])  # 红色高阈值
lower_blue = np.array([100, 100, 100])  # 蓝色低阈值
upper_blue = np.array([124, 255, 255])  # 蓝色高阈值

cap = cv2.VideoCapture(2)  # 打开USB摄像头
if (cap.isOpened()):  # 视频打开成功
    flag = 1
else:
    flag = 0
num = 0
if (flag):
    while (True):
        ret, frame = cap.read()  # 读取一帧
        if ret == False:  # 读取帧失败
            break

        hsv_img = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)# 根据颜色范围删选
        mask_red = cv2.inRange(hsv_img, lower_red, upper_red)
        mask_blue = cv2.inRange(hsv_img, lower_blue, upper_blue)

        mask_red = cv2.medianBlur(mask_red, 7)        # 中值滤波
        mask_blue = cv2.medianBlur(mask_blue, 7)

        mask = cv2.bitwise_or(mask_red, mask_blue,)  # 检测轮廓
        contours2, hierarchy2 = cv2.findContours(mask_red, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
        contours3, hierarchy3 = cv2.findContours(mask_blue, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)

        for cnt2 in contours2:
            (x, y, w, h) = cv2.boundingRect(cnt2)  # 该函数返回矩阵四个点
            a = x + w / 2
            b = y + h / 2
            print("red:", a, b)
            cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 0, 255), 2)  # 将检测到的颜色框起来
            cv2.putText(frame, 'red', (x, y - 5), font, 0.7, (0, 0, 255), 2)

        for cnt3 in contours3:
            (x3, y3, w3, h3) = cv2.boundingRect(cnt3)
            cv2.rectangle(frame, (x3, y3), (x3 + w3, y3 + h3), (255, 0, 0), 2)
            cv2.putText(frame, "Blue", (x3, y3 - 5), font, 0.7, (255, 0, 0), 2)

        num = num + 1
        cv2.imshow("dection", frame)
        #cv2.imwrite("imgs/%d.jpg" % num, frame)#照片写入,注释后不保存图片,但未注释的需要建imgs
        if cv2.waitKey(20) & 0xFF == 27:
            break
cv2.waitKey(0)
cv2.destroyAllWindows()

利用相机,并不保存照片文章来源地址https://www.toymoban.com/news/detail-570983.html

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

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

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

相关文章

  • 【毕业设计】深度学习YOLOv5车辆颜色识别检测 - python opencv

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月16日
    浏览(37)
  • 计算机竞赛 深度学习YOLOv5车辆颜色识别检测 - python opencv

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

    2024年02月08日
    浏览(32)
  • python毕业设计 深度学习yolov5车辆颜色识别检测系统 - opencv

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月04日
    浏览(34)
  • 计算机设计大赛 深度学习YOLOv5车辆颜色识别检测 - python opencv

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

    2024年02月19日
    浏览(51)
  • OpenMV4 基于色块识别的图形+颜色+坐标识别代码(micropython)

    Hello大家好,最近竞赛需要开始研究OpenMV4,今天和大家分享一段基于 色块识别的图形+颜色+坐标识别代码 ,实测准确率高于90%哦,当然,需要在光线和距离都合适的情况下使用(假如你的识别结果不尽如人意,可以自行调节颜色阈值和目标与摄像头的距离),下面,话不多说

    2024年02月15日
    浏览(30)
  • 六自由度JAKA机器人基于视觉的多颜色方块抓取(色块颜色识别、坐标提取、旋转角度提取)

    目录 一、任务描述 二、视觉处理方案(重点) 2.1 图像标定与单应性矩阵计算 2.2 目标坐标与旋转角度提取 三、运动控制方案 四、结果讨论 五、完整代码(无控制底层)         基于JAKA ZU3机器人平台与固定位置的彩色相机(非垂直),完成不同颜色木块的识别与抓取

    2024年02月02日
    浏览(60)
  • OpenCV颜色识别(所有颜色均可识别)

    欢迎访问我的博客sakuraの绘梨衣 本文中的颜色识别为红色,颜色阈值设置如下: 识别其他颜色可以参考HSV颜色阈值设置进行更改 下面是识别代码,注释很详细: 下面是识别效果:

    2024年02月12日
    浏览(28)
  • OpenCV学习(三)——响应鼠标事件(获取点击点坐标和颜色,利用鼠标进行绘图)

    使用OpenCV读取图像,可以在读取图像的窗口通过鼠标点击可以实现:获取鼠标点击像素点的坐标、获取鼠标点击像素点的颜色和在鼠标点击的像素点生成圆等等。 winname:窗口的名字 callback:回调函数 userdata:给回调函数的参数 enent:鼠标事件 x:横坐标 y:纵坐标 flags:事件

    2024年02月08日
    浏览(39)
  • opencv C++ 输出图片中红点的坐标

    2024年02月11日
    浏览(23)
  • 【Java】使用Apache POI识别PPT中的图片和文字,以及对应的大小、坐标、颜色、字体等

    本文介绍如何使用Apache POI识别PPT中的图片和文字,获取图片的数据、大小、尺寸、坐标,以及获取文字的字体、大小、颜色、坐标。 官方文档:https://poi.apache.org/components/slideshow/xslf-cookbook.html 官方文档和网上的资料介绍的很少,很多元素,需要一点点尝试才能获取到。 注意

    2024年02月12日
    浏览(32)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包