使用OpenCV-python实现颜色特征跟踪视频中的物体

python实现颜色检测、轮廓检测、颜色追踪 Opencv学习准备工作读取图像和视频基础功能裁剪图像绘制图形和文本视角转换图像拼接颜色检测轮廓检测颜色追踪 准备工作 python配置numpy和openCv库 读取图像和视频 图像 cv2.imread(路径) cv2.imshow(窗口名称,输出对象) cv2.waitkey(等待时间) import cv2 img = cv2.imread("./Resources/3-1P316104441.jpg")//当前项目目录下 cv2.imshow("output", img) cv2.wait 阅读详情

用颜色特征跟踪视频中的物体

问题背景和基本思路

在这里插入图片描述
这里模拟提取图片中的手机壳。

发现手机壳有一个显著的特征,就是颜色基本都是蓝色。

所以这里尝试把”蓝色“区域提取出来,然后绘制一个长方形包络这个蓝色区域。

核心代码

蓝色是一个广义的概念,对应到RGB中,其实是一个范围,设定蓝色的范围:

# 设置蓝色的上下界,即蓝色的范围
blueLower = np.array([100,67,0],dtype = "uint8")
blueUpper = np.array([255,128,50],dtype = "uint8")

找出属于蓝色区间的区域:

# 找出图片中的蓝色区域,返回的其实是一个蒙版
blue = cv2.inRange(frame,blueLower,blueUpper)

这个blue实际上是一个蒙版

在这里插入图片描述

对提取出来的轮廓,按照面积进行排序

# 找出面积最大的轮廓,按照面积逆序排列
cnt = sorted(cnts,key=cv2.contourArea,reverse=True)[0]

寻找包含轮廓的最小长方形,并绘制轮廓

# 寻找能包络蓝色区域的最小长方形
rect = np.int32(cv2.boxPoints(cv2.minAreaRect(cnt)))
# 用绿色线条绘制
cv2.drawContours(frame,[rect],-1,(0,255,0),2)

完整代码和运行效果

import cv2
import numpy as np

# 设置蓝色的上下界,即蓝色的范围
blueLower = np.array([100,67,0],dtype = "uint8")
blueUpper = np.array([255,128,50],dtype = "uint8")

# 加载视频
videoPath = "video/iphonecase.mov"
video = cv2.VideoCapture(videoPath)

# 对每一帧进行遍历
while True:
    # 抓取视频帧
    (grabbed,frame) = video.read()
    # 当处理完最后一帧之后,退出循环
    if not grabbed:
        break
    
    # 找出图片中的蓝色区域,返回的其实是一个蒙版
    blue = cv2.inRange(frame,blueLower,blueUpper)
    # 对蓝色区域所在的蒙版进行高斯模糊处理
    blue = cv2.GaussianBlur(blue,(3,3),0)
    # 查找蒙版区域的边界
    (cnts,_) = cv2.findContours(blue.copy(),cv2.RETR_EXTERNAL,\
                               cv2.CHAIN_APPROX_SIMPLE)
    # 如果找到了轮廓,即发现了蓝色区域
    if len(cnts)>0:
        # 找出面积最大的轮廓,按照面积逆序排列
        cnt = sorted(cnts,key=cv2.contourArea,reverse=True)[0]
        # 寻找能包络蓝色区域的最小长方形
        rect = np.int32(cv2.boxPoints(cv2.minAreaRect(cnt)))
        # 用绿色线条绘制
        cv2.drawContours(frame,[rect],-1,(0,255,0),2)
    
    cv2.imshow("tracking",frame)
    cv2.imshow("binary",blue)
    # 图片尺寸不一致,不能放在一起显示
#     cv2.imshow("tracking results", np.hstack([blue, frame]))
    cv2.waitKey(20)
    
video.release()
cv2.destroyAllWindows()

最终运行效果:

在这里插入图片描述

【CV】计算机视觉中的特征追踪与背景处理 计算机视觉领域中的重要任务之一是视频特征追踪,它可以用于目标跟踪、运动分析、行为识别等应用。然而,在实际应用中,经常会遇到需要仅处理视频中特定特征物体而忽略背景的情况,这就需要进行背景处理。本文将介绍如何使用Python和OpenCV库进行视频特征追踪,并提供针对特定特征物体的背景处理解决方案和示例。 阅读详情

相关推荐

Python语言OpenCV开发之使用OpenCV处理图像(上)

前言 本章内容都是和图像处理相关的,学习颜色空间的变换,几何变换,图像平滑,形态学变换,边缘检测,轮廓检测等知识。 正文 1、 颜色空间转换 OpenCV中有数百种关于不同颜色空间之间的转换的方法。当前计算机视觉中有三种常用的色彩空间:灰度、BGR以及HSV; .灰度色彩空间是通过去除彩色信息来将其转换成灰阶,灰度色彩空间对中间处理特别有效,例如人脸检测 .BGR,即蓝-绿-红色彩...

基斯卡人lmy 5615

python中使用opencv的HSV颜色空间提取物体

把PS中H的值除以2,S乘255,V乘255,可以得到对应的opencv的HSV值。S:saturation饱和度(0~100),形容颜色的深浅,如浅红、大红、深红。opencv中的HSV范围,H是0-180,S是0-255,V是0-255。PS中的HSV范围,H是0-360,S是0-1,V(B)是0-1。V:value色调(0~100),色彩的亮度。H:hue 色相(0~360),红绿蓝。但是HSV颜色空间却规定的是,H范围0。

李昂的博客 1863

OpenCV-Python实战(26)——复杂场景下的实时物体检测与跟踪

本节介绍了一种鲁棒的特征跟踪方法,该方法速度足够快,能够实时应用于网络摄像头的视频流。首先,算法展示了如何在一幅图像中提取和检测重要特征——无论是我们感兴趣的模板图像(训练图像),还是预期包含该物体的更复杂场景(查询图像),这些特征都具有视角和尺寸不变性。然后对关键点进行聚类,找到两幅图像中特征点之间的匹配。在此基础上,可以计算出一个将一组特征点映射到另一组的透视变换矩阵。利用这些信息,我们可以在查询图像中勾勒出训练图像的轮廓,并对查询图像进行透视变换,使感兴趣的物体以直立状态显示在屏幕中央。

盼小辉丶的博客 1921

python检测特定颜色的形状_opencv 实现特定颜色线条提取与定位操作

本篇文章通过调用opencv里的函数简单的实现了对图像里特定颜色提取与定位,以此为基础,我们可以实现对特定颜色物体的前景分割与定位,或者特定颜色线条的提取与定位主要步骤:将RGB图像转化为HSV,H表示色调(度数表示0-180),S表示饱和度(取值0-255),V表示亮度(取值0-255),不同的颜色有着不同的取值范围,一般给出如下:设定待提取颜色的HSV范围值,然后调用inRange函数实现对颜...

weixin_39843093的博客 1057

OpenCV-Python实战(1)——OpenCV简介与图像处理基础

OpenCV 是一个的跨平台计算机视觉库,可以运行在 Linux、Windows 和 Mac OS 操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时也提供了 Python 接口,实现了图像处理和计算机视觉方面的很多通用算法。在本文中,将介绍 OpenCV 库,包括它的主要模块和典型应用场景,同时使用 OpenCV-Python 实战讲解图像处理基础要点。

盼小辉丶的博客 27万+

OpenCV-Python实战(15)——面部特征点检测详解(仅需5行代码学会3种面部特征点检测方法)

在计算机视觉中,面部关键点(也称为面部特征点)的定位通常是许多面部分析方法和算法中的关键步骤。例如,面部表情识别、头部姿态估计和疲倦检测系统都依赖于面部特征点检测提供的面部信息。在本文中,将介绍如何使用 OpenCV、dlib 以及 face_recognition 进行面部特征点检测。

盼小辉丶的博客 2万+

opencv-python跟踪运动物体

头一回发博客,之前也是在优快云上受益良多,觉得还是把自己的工作梳理一遍比较好昨天安装了opencv-python,这个安装相当简单,sudo apt-get install python-opencv  sudo apt-get install python-numpy 因为想要做用摄像头识别信号灯,来控制小车找灯,opencv-python相对简单,摄像头还没到,先找一个视频追踪物体先首先我想...

weixin_37954144的博客 6130

Python 人工智能实战:物体跟踪

1.背景介绍 概述 物体追踪(Object Tracking)是计算机视觉领域中一个重要的任务。它可以用于目标检测、视频分析等多种场景。其基本思路就是根据图像中的特征点位置变化及其他特征,对目标的前后位置进行动态跟踪。目前,主要用到的算法有基于颜色、光流、深度学习的算法。在本文中,我们将以基于颜色的算法——颜色直方图相

AI天才研究院 664

利用opnecv里BRO特征算法的进行颜色跟踪

利用opnecv里BRO特征算法的进行颜色跟踪目录主要目标opencvORB算法与BF匹配camshift算法判定代码 目录 主要目标 我们利用python与和opencv库中的算法,实现了一个红的物体的检测与跟踪。 流程图如如下: 摄像头采集视频流ORB算法计算特征值和BF匹配将窗口内的图像转换到色度空间计算窗口中的色度直方图计算反向投影区,再通过它计算目标的颜色概率分布图使用camshift进...

KIDD5433的博客 597

基于Python和OpenCV的Meanshift物体跟踪实现

物体跟踪作为计算机视觉和模式识别领域中的一个重要研究方向,其任务是自动检测和跟踪视频中感兴趣的目标,如人物、车辆或特定物体。随着技术的发展,物体跟踪已广泛应用于安防监控、人机交互、无人驾驶、智能视频分析等领域。跟踪的算法与技术也在不断创新,如卡尔曼滤波、光流法、特征匹配、深度学习等,其中Meanshift算法作为非参数密度估计的一种方法,因其实现简单、效果显著在很多场景中得到了广泛的应用。接下来,我们将深入探讨Meanshift算法的理论基础、实现细节以及在实际项目中的应用和优化策略。

weixin_42605397的博客 1257

Python视频目标跟踪算法实现教程

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。由英特尔公司于1999年发起,初期主要由俄罗斯的一些科学家和工程师负责开发。随着开源社区的加入和推动,OpenCV逐渐发展成为全球最广泛使用的计算机视觉库之一。OpenCV的初期版本主要集中在图像处理、基本的图形绘制和3D处理。随着版本的更新,OpenCV的功能日渐丰富,特别是在实时目标跟踪、图像识别、人脸识别、3D重建、姿态估计等领域得到了广泛的应用。

weixin_33622085的博客 463

难以置信!一篇文章就梳理清楚了 Python OpenCV 的知识体系

1. OpenCV 初识与安装 2. OpenCV 模块简介 3. OpenCV 图像读取,显示,保存 4. 摄像头和视频读取,保存 5. OpenCV 常用数据结构和颜色空间 6. OpenCV 常用绘图函数 7. OpenCV 界面事件操作之鼠标与滑动条 8. 图像像素、通道分离与合并 9. 图像逻辑运算 10. 图像 ROI 与 mask 掩膜 11. 图像几何变换 12. 图像滤波 13. 图像固定阈值与自适应阈值 14. 图像膨胀腐蚀 15. 边缘检测 16. 霍夫变换 17. 图像直方图计算及绘

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 5万+

目标检测与跟踪实战:Python项目教程

在当今社会,视频监控与分析已成为日常生活与工作中不可或缺的一部分。在安全监控、交通流量分析、零售业消费者行为分析等多个领域,视频处理和目标检测技术扮演着至关重要的角色。Python作为一种高级编程语言,因其简洁易学且功能强大的特点,在视频处理和目标检测领域中大放异彩。本章将对Python视频处理和目标检测进行概述,为后续深入学习HOG特征提取技术和OpenCV库的应用打下基础。

weixin_31139479的博客 1232

(Python)从零开始,简单快速学机器仿人视觉Opencv---运用三:物体运动跟踪

教程: 博主之前写了22节关于使用OpenCV的教程,欢迎大家阅读: (Python)从零开始,简单快速学机器仿人视觉Opencv—第一节:OpenCV的图像读取显示及保存 (Python)从零开始,简单快速学机器仿人视觉Opencv—第二节:OpenCV的视频操作 (Python)从零开始,简单快速学机器仿人视觉Opencv—第三节:OpenCV中的绘图函数 (Python)从零开始,简单快速...

Eragonl的博客 9630

python-opencv 机器视觉 质心,形心 坐标 颜色分拣

python-opencv 机器视觉 质心,形心 坐标 颜色分拣 ,程序功能为区分物体颜色,算出物体在图像中的坐标,使用了十字,菱形,方形,X形去噪处理

基于opencv-python的视频小球及颜色检测

使用opencv-python处理人工智能计算机视觉中的小球检测及颜色分类,视频中显示标注后的结果,类似yolov算法检测后的标注框。主要运用到形状轮廓检测以及色彩模型,代码自己书写,亲测调试通过,项目中包含测试视频,简答配置环境即可使用。效果参考:https://www.bilibili.com/video/BV1fZ4y117X3/

上一篇: 使用OpenCV-python实现手写数字识别
下一篇: 使用OpenCV-python对植物图片进行分类
刘凯KAI
博客等级 码龄15年 663粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值