当前位置: 首页 > news >正文

Opencv颜色追踪

废话不多说直接上代码!!

# 这是一个示例 Python 脚本。
import cv2
import numpy as npdef track_object():# 打开摄像头外接cap = cv2.VideoCapture(0)while True:# 读取摄像头帧# ret(Return Value)是一个布尔值,表示是否成功读取了一帧图像。如果成功读取,ret为True;否则,为False。# frame是读取到的图像帧。ret, frame = cap.read()# 将图像转换为HSV颜色空间。cv2.COLOR_BGR2HSV参数表示将BGR格式转换为HSV格式。#BGR(蓝绿红)格式的图像帧转换为HSV(色相、饱和度、明度)格式。HSV颜色空间更适合进行颜色相关的图像处理。hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)# 定义追踪的颜色范围(此处以蓝色物体为例,可根据需要进行微调)#第一个参数:色相(Hue):可以尝试在0179之间选择一个适当的范围。。#第二个参数:饱和度(Saturation):通常在较高的范围,例如1255之间。#第三个参数:明度(Value):根据具体场景,可以在较高的范围,例如0255之间。lower_color = np.array([90, 50, 50])upper_color = np.array([130, 255, 255])# 根据颜色范围创建掩膜。#用于过滤出在指定颜色范围内的部分。这个掩码可以用于后续的图像处理,例如颜色分割或物体识别。mask = cv2.inRange(hsv, lower_color, upper_color)#开运算(Opening):先进行腐蚀,然后进行膨胀。它有助于去除小的噪点和分离相邻的物体。#闭运算(Closing):先进行膨胀,然后进行腐蚀。它有助于填充物体中的小孔,连接相邻的物体。mask = cv2.erode(mask, None, iterations=2)   # 对掩膜进行腐蚀处理,以去除噪声  。iterations为次数mask = cv2.dilate(mask, None, iterations=2)   #膨胀处理# 寻找物体的轮廓#cv2.findContours函数来找到二值图像中的轮廓。#参数:#参数1:输  入的二值图像。通常是经过阈值处理后的图像,例如在颜色过滤之后生成的掩码。#参数2(cv2.RETR_EXTERNAL):轮廓的检索模式。有几种模式可选,常用的包括:# cv2.RETR_EXTERNAL:只检测最外层的轮廓。# cv2.RETR_LIST:检测所有的轮廓并保存到列表中。# cv2.RETR_CCOMP:检测所有轮廓并将其组织为两层的层次结构。# cv2.RETR_TREE:检测所有轮廓并重构整个轮廓层次结构。# 参数3(cv2.CHAIN_APPROX_SIMPLE):轮廓的近似方法。有两种方法可选,常用的有:# cv2.CHAIN_APPROX_SIMPLE:压缩水平、垂直和对角线方向上的所有轮廓,只保留端点。# cv2.CHAIN_APPROX_NONE:保留所有的轮廓点。#返回值:      contours:包含检测到的轮廓的列表。每个轮廓由一系列点组成。
#                   _(下划线):层次信息,通常在后续处理中可能会用到。在这里,我们通常用下划线表示我们不关心这个返回值。contours, _ = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)# 初始化物体中心,center是一个包含两个整数的元组,表示轮廓的质心坐标center = Noneif len(contours) > 0: #说明检测到轮廓# 找到面积最大的轮廓的点集,从轮廓列表中,计算出面积最大的轮廓的点集。contourArea是计算轮廓面积的函数。#max的第一个参数:可以为一个列表。第二个参数:固定为   key=功能函数。#作用:从列表中遍历成员实现功能函数。max_contour = max(contours, key=cv2.contourArea)# 计算物体的最小外接圆,参数为:轮廓的点集#(x, y):外接圆的圆心坐标。#radius:外接圆的半径。((x, y), radius) = cv2.minEnclosingCircle(max_contour)# 计算物体的中心坐标#M为字典,里面存着 二值图像矩阵信息M = cv2.moments(max_contour)#m00 = moments['m00'] # 面积#cx = moments['m10'] / moments['m00'] # 质心的x坐标#cy = moments['m01'] / moments['m00'] # 质心的y坐标center = (int(M["m10"] / M["m00"]), int(M["m01"] / M["m00"]))# 只有当物体半径大于一定值时才显示追踪结果if radius > 10:   #外接圆半径大于10# 在图像上绘制物体的圆形轮廓和中心# 这一行代码绘制一个以 (x, y) 为圆心,半径为 radius 的圆。颜色为 (0, 255, 255) 表示BGR格式中的黄色,线宽度为2。cv2.circle(frame, (int(x), int(y)), int(radius), (0, 255, 255), 2)#这一行代码绘制一个半径为5的实心圆作为中心点,以 center 为中心。颜色为 (0, 0, 255) 表示BGR格式中的红色。。cv2.circle(frame, center, 5, (0, 0, 255), -1)# 显示实时追踪结果#这行代码使用OpenCV的cv2.imshow函数来显示帧,窗口标题为 "Object Tracking"。cv2.imshow("Object Tracking", frame)# 按下Esc键退出追踪if cv2.waitKey(1) == 27:break# 释放摄像头并关闭窗口cap.release()cv2.destroyAllWindows()# 运行物体追踪程序
track_ob

相关文章:

Opencv颜色追踪

废话不多说直接上代码!! # 这是一个示例 Python 脚本。 import cv2 import numpy as npdef track_object():# 打开摄像头外接cap cv2.VideoCapture(0)while True:# 读取摄像头帧# ret(Return Value)是一个布尔值,表示…...

计算机网络——网络可靠性及网络出口配置

1. 前言: 学习目标: 1.了解链路聚合的作用 2. 了解ACL的工作原理 3. 了解NAT的工作原理和配置 2. 网络可靠性方案 网络可靠性是指网络在面对各种异常情况或故障时,能够维持正常运行和提供服务的能力。这包括防止网络中断、减小数据丢失的可能…...

在虚拟机搭建nignx,和使用本地访问nginx的情况

下载nginx yum install nginx 查看nginx是否安装成功。 nginx -v nginx的配置文件的目录和资源的目录。 先到nginx.conf的目录下,在 /etc/nginx/nginx.conf,编辑它。 vi /etc/nginx/nginx.conf 可以看到默认的html的目录。在 /usr/share/nginx/html 下面…...

Java数据结构之《直接插入排序》问题

一、前言: 这是怀化学院的:Java数据结构中的一道难度中等的一道编程题(此方法为博主自己研究,问题基本解决,若有bug欢迎下方评论提出意见,我会第一时间改进代码,谢谢!) 后面其他编程题只要我写完…...

向量场中的几个恒等式

向量场中的几个恒等式 1. ∇ 2 A ∇ ∇ ⋅ A − ∇ ∇ A \nabla ^2 A \nabla \nabla\cdot A-\nabla \times\nabla\times A ∇2A∇∇⋅A−∇∇A 2. ∇ ⋅ ∇ A 0 \nabla \cdot \nabla \times A 0 ∇⋅∇A0 3. ∇ ∇ ϕ 0 \nabla \times \nabla \phi0 ∇∇ϕ0...

异行星低代码平台--第三方插件对接:钉钉平台对接(一)

异行星低代码平台可以集成钉钉,实现单点登录、消息推送和组织机构同步。 提示 此功能需要企业版授权才能使用。 钉钉集成​ 单点登录 异行星低代码平台集成到钉钉后,只要使用钉钉账户登录钉钉客户端,即可在钉钉中直接使用管理后台&#…...

MyBatis使用教程详解<下>

回顾上一篇博文,我们讲了如何使用注解/XML的方式来操作数据库,实际上,一个Mapper接口的实现,这两种方式是可以并存的. 上一篇博文中,我们演示的都是比较简单的SQL语句,没有设计到复杂的逻辑,本篇博文会讲解复杂SQL的实现及一些细节处理.话不多说,让我们开始吧. 一. #{}和${} …...

C++基础 -17-继承中 基类与派生构造和析构调用顺序

首先声明 定义了派生类会同时调用基类和派生的构造函数 定义了派生类会同时调用基类和派生的析构函数 那么顺序如何如下图 构造由上往下顺序执行 析构则完全相反 #include "iostream"using namespace std;class base {public:base(){cout << "base-bui…...

uniapp实现表单弹窗

uni.showModal({title: 删除账户,confirmColor:#3A3A3A,cancelColor:#999999,confirmText:确定,editable:true,//显示content:请输入“delete”删除账户,success: function (res) {console.log(res)if(res.confirm){if(res.contentdelete){console.log(123123123213)uni.setSto…...

Ajax 是什么? 如何创建一个 Ajax?

Ajax&#xff08;Asynchronous JavaScript and XML&#xff09;是一种使用客户端JavaScript发送异步HTTP请求到服务器的技术&#xff0c;以便在不重新加载整个页面的情况下更新部分网页内容。 使用Ajax的原因有很多&#xff0c;以下是其中一些&#xff1a; 改善用户体验&…...

【LeetCode】101. 对称二叉树

101. 对称二叉树 难度&#xff1a;简单 题目 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#…...

O-Star|再相识

暑去秋来&#xff0c;岁月如梭&#xff0c;几名"O-Star"们已经入职一段时间&#xff0c;在这期间他们褪去青涩&#xff0c;逐渐适应了公司的工作环境和文化&#xff0c;迈向沉稳&#xff5e; 为了进一步加深校招生之间的交流与了解&#xff0c;提高校招生的凝聚力和…...

最新PHP熊猫头图片表情斗图生成源码

这是一款能生成熊猫头表情斗图的自适应系统源码&#xff0c;无论是在电脑还是手机上都可以正常使用&#xff01;这个源码集成了搜狗搜索图片接口&#xff0c;可以轻松地一键搜索数百万张图片&#xff0c;并且还包含了表情制作等功能模块。对于一些新站来说&#xff0c;这是一个…...

子虔科技出席2023WAIC“智能制造融合创新论坛”

7月7日&#xff0c;2023世界人工智能大会&#xff08;WAIC&#xff09;闵行会场在大零号湾举办。子虔科技联合创始人周洋作为专家嘉宾受邀参与智能制造融合创新论坛大会。会上探讨了工业和制造业数字化转型的机遇、挑战和对策。其中&#xff0c;周洋提到&#xff0c;工业制造业…...

递归算法学习——二叉树的伪回文路径

1&#xff0c;题目 给你一棵二叉树&#xff0c;每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的&#xff0c;当它满足&#xff1a;路径经过的所有节点值的排列中&#xff0c;存在一个回文序列。 请你返回从根到叶子节点的所有路径中 伪回文 路径的数目。 示例…...

Android端极致画质体验之HDR播放

高动态范围HDR视频通过扩大亮度分量的动态范围(从100cd/m2到1000cd/m2)&#xff0c;以及采用更宽的色彩空间BT2020&#xff0c;提供极致画质体验。从Android10开始&#xff0c;支持HDR视频播放。 一、HDR技术 HDR技术标准包括&#xff1a;Dolby-Vision、HDR10、HLG、PQ。支持…...

【Java SE】带你在String类世界中遨游!!!

&#x1f339;&#x1f339;&#x1f339;我的主页&#x1f339;&#x1f339;&#x1f339; &#x1f339;&#x1f339;&#x1f339;【Java SE 专栏】&#x1f339;&#x1f339;&#x1f339; &#x1f339;&#x1f339;&#x1f339;上一篇文章&#xff1a;带你走近Java的…...

Android: ListView + ArrayAdapter 简单应用

​​容器与适配器&#xff1a;​​​​​ http://t.csdnimg.cn/ZfAJ7 activity_main.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"h…...

前端:实现二级菜单(点击实现二级菜单展开)

效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, i…...

Spark-java版

SparkContext初始化 相关知识 SparkConf 是SparkContext的构造参数&#xff0c;储存着Spark相关的配置信息&#xff0c;且必须指定Master(比如Local)和AppName&#xff08;应用名称&#xff09;&#xff0c;否则会抛出异常&#xff1b;SparkContext 是程序执行的入口&#xf…...

C语言goto语句的争议与现代替代方案

1. goto语句的本质与历史争议 goto语句是C语言中最具争议的特性之一。从语法上看&#xff0c;它简单到令人不安——只需一个标签和一行指令&#xff0c;就能让程序执行流发生任意跳转。在早期的编程实践中&#xff0c;这种不受约束的控制流方式确实带来了灵活性&#xff0c;但也…...

SEO数据分析资源网

SEO数据分析资源网&#xff1a;揭秘成功的关键 在当前数字化竞争日益激烈的环境中&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;已经成为企业提升在线可见度和吸引客户的重要手段。SEO并不是一蹴而就的事情&#xff0c;而是需要不断的数据分析和调整。今天&#xff0c…...

2026普通人如何逆袭进大模型圈?吴师兄亲授4大方向+3坑避坑+真实学习路线

站在现在回头看&#xff0c;会发现一个有趣的现象&#xff1a; AI 大潮滚滚 2 年&#xff0c;流量的风向能变&#xff0c;岗位的 JD 能变&#xff0c;各家模型能天天更新&#xff0c;但真正能落地的东西&#xff0c;并没有变。 这 2 年里&#xff0c;我带过很多转行同学&#…...

2026年初中中考英语大纲词汇表1600个电子版PDF(含单词音频和默写本)

2026年初中英语大纲词汇表1600词 核心内容&#xff1a; 1600个初中英语考纲词汇完整列表&#xff08;按新课标要求整理&#xff09;配套默写训练本&#xff08;含汉译英英译汉双向练习&#xff09;专业录制的单词发音音频包 资源特性&#xff1a; 电子版采用可打印PDF格式支…...

CosyVoice-300M Lite常见问题解决:音色选择与API调用详解

CosyVoice-300M Lite常见问题解决&#xff1a;音色选择与API调用详解 1. 音色选择指南 1.1 内置音色类型与特点 CosyVoice-300M Lite提供了6种预设音色&#xff0c;每种音色适合不同的应用场景&#xff1a; female_1&#xff1a;标准女声&#xff0c;发音清晰&#xff0c;适…...

C++27协程调试革命:从“盲调”到“可视挂起流追踪”,LLDB 19.0.1新增coro-dump命令详解

第一章&#xff1a;C27协程调试范式跃迁&#xff1a;从不可见状态到可观察挂起流C27 将首次在标准层面引入原生协程可观测性基础设施&#xff0c;通过 std::coroutine_handle 的调试元数据扩展与编译器协同机制&#xff0c;使协程的挂起点、恢复路径、帧生命周期及调度上下文均…...

Pangolin变量系统详解:实时调试与参数调优的终极方案

Pangolin变量系统详解&#xff1a;实时调试与参数调优的终极方案 【免费下载链接】Pangolin Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input. 项目地址: https://gitcode.com/gh_mir…...

品牌承诺怎么写:一句承诺如何既让客户心动,又不让企业冒进

在很多B2B企业的品牌项目中&#xff0c;品牌承诺通常是一个非常容易被“重视错方向”的模块。 企业往往会把大量注意力放在“这句话够不够有气势”“够不够像品牌”“销售讲起来顺不顺”&#xff0c;但忽略了一个更底层的问题&#xff1a;这句话一旦公开使用&#xff0c;企业到…...

解锁跨设备游戏新可能:Sunshine开源串流方案全解析

解锁跨设备游戏新可能&#xff1a;Sunshine开源串流方案全解析 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 在数字化娱乐时代&#xff0c;玩家对游戏体验的需求不再局限于单一设…...

【C++ constexpr 高阶实战指南】:20年专家亲授7个颠覆认知的编译期优化案例

第一章&#xff1a;constexpr 的本质与编译期语义再认知constexpr 并非简单的“编译期可求值”标记&#xff0c;而是 C 类型系统与求值模型深度耦合的语义契约&#xff1a;它要求表达式在编译期具备确定性、无副作用、且所有操作均落在标准定义的常量求值&#xff08;constant …...