我想使用OpenCV和C ++在视频或图像中检测红色物体。 有什么算法可以做到这一点?

我想对颜色等级之间的关系进行比较。 实际上,当亮度变化时,该比率保持恒定。 因此我想确定感兴趣区域的颜色可接受值的间隔。

对于某些情况,我查看红色的R(x,y)和G(x,y)/ R(x,y)和B(x,y)/ R(x,y)。

然后,我将找到可接受值的范围???:首先了解一下,

它将释放调色板图像中每个报告的最大值和最小值

红色

我想找到这样的东西:

if minR<=R(x,y)<=maxR and minG<=G(x,y)<=maxG minB<=B(x,y)<=maxB so

couleur(x,y)=blanc else couleur(x,y)=NOIR

请在问题中添加一些其他详细信息,例如图片等。 很难理解。

请我可以和某人谈谈Skyp的更多详细信息???

如果您想雇用某人,请在Twitter上找到我。 :)

我建议您回滚您的编辑,因为您正在询问一个新问题。 因此,在这里接受答案,然后问另一个问题。

使用cv :: inRange()对图像进行预处理,并使用必要的颜色范围来隔离红色。您可能需要转换为类似HSV或YCbCr的颜色空间以获得更稳定的颜色边界,因为色度和亮度可以更好地分离。您可以为此使用cvtColor()。在这里查看我的答案,以获取将inRange()与createTrackbar()结合使用的好示例。

因此,基本模板将是:

Mat redColorOnly;

inRange(src, Scalar(lowBlue, lowGreen, lowRed), Scalar(highBlue, highGreen, highRed), redColorOnly);

detectSquares(redColorOnly);

编辑:只需使用轨迹栏来确定您要隔离的颜色范围,然后使用发现该工作的颜色间隔即可。您不必经常使用轨迹栏。

范例:

因此,对于这里的模板的完整示例,

我在GIMP中创建了一个简单(理想的)图像,如下所示:

然后,我创建了此程序来过滤除红色方块以外的所有内容:

#include

#include

#include

#include

using namespace std;

using namespace cv;

Mat redFilter(const Mat& src)

{

assert(src.type() == CV_8UC3);

Mat redOnly;

inRange(src, Scalar(0, 0, 0), Scalar(0, 0, 255), redOnly);

return redOnly;

}

int main(int argc, char** argv)

{

Mat input = imread("colored_squares.png");

imshow("input", input);

waitKey();

Mat redOnly = redFilter(input);

imshow("redOnly", redOnly);

waitKey();

// detect squares after filtering...

return 0;

}

注意:您将无法在实际图像中使用这些完全相同的过滤间隔;我只是建议您使用轨迹栏调整间隔以了解可接受的范围。

输出看起来像这样:

瞧!仅剩下红色方块:)

请享用 :)

谢谢,但是我将在实时处理中使用此程序,所以我不能使用轨迹栏,因为这样的想法是检测多边形中的红色数字,您知道我可以做什么!

为什么不升级到OpenCV 2.3.1?那这个例子对你不起作用吗? inRange在OpenCV 2.1中可用,Mat对象也可用...

只需将includes切换为#include,然后删除行。

@mevatron将此添加到OpenCV常见问题解答中。 ;)

@karlphillip完成:)遇到一些相关问题,是吗? :)

@mevatron我认为我们应该将所有有趣的答案添加到FAQ中。特别是那些共享源代码的代码。我对标签上的编辑进行了投票,希望其他人也同意我的观点。更新标签信息需要2票。

@karlphillip好主意!今天晚上我下班回家时,我会不适。

您是否可以在此处添加一些代码来减去这两个图像,使得最后只有红色方块可见,其他所有元素都透明?

在这种情况下,请尝试找出所需正方形的任何独特特征,以区别于其他正方形。

例如

1)正方形的颜色:-如果颜色不同于所有其他正方形,则可以检查每个正方形的内部,然后选择具有所需颜色的正方形,如mevatron所述。

2)正方形的大小:-如果知道正方形的大小,则比较每个正方形的大小并选择最佳。

非常感谢,但我需要在检测到正方形后再检测颜色,所以我使用样本opencv square.c来检测所有正方形,但是现在我需要在一个正方形中检测到红色beetwen其他一些我可以做什么?

我不确定我是否理解您的问题。最好在问题中添加您的图片,以使问题更清晰。无论如何,一旦您知道正方形的位置,请获取每个像素并检查其是否落在红色区域中。

请的想法是我如何才能定位图像中所有正方形之间的正方形,因为在此之后,我将进行识别,这就是为什么我只需要提取所需的正方形的原因

arkiaz我是网站的新用户,所以我不能添加图片我可以用skyp" sossos1926"给你一些细节吗?谢谢

请通过arkiazm@gmail.com与我联系。我没有Skype。

您可以使用内置功能将图像从RGB值转换为HSV类型。找到后,每种颜色都有一些HSV值范围。因此,您可以找到该点并将其作为阈值并将这些点与其他点区分开。

您能提供一个与OP想要的东西有关的示例吗?它确实有帮助...

opencv检测某个区域rgb变化_使用OpenCV和C ++检测RGB颜色间隔相关推荐

  1. opencv和python是什么关系_使用OpenCV和Python检测眼睛

    今天,我们将学习如何借助称为霍夫变换的技术来检测图像中的直线和圆. 什么是霍夫空间? 在开始对图像应用霍夫变换之前,我们需要了解霍夫空间是什么,我们将通过示例的方式来学习. 参数空间 当我们处理图像时 ...

  2. ubuntu c++检测usb口事件变化_从MacBook支持USB-C口充电看电脑标配充电器发展史

    USB-C是目前普及度非常高的接口类型,从最开始的手机.到现在的笔记本电脑,甚至蓝牙耳机等很多小型用电设备都已经配备了USB-C充电接口. 苹果是很喜欢USB-C接口的,它不仅可以做到盲插,而且支持的 ...

  3. ubuntu c++检测usb口事件变化_拆解报告:美式双USBA口充电插座

    ----- 充电头网拆解报告 第1441篇 ----- 最近充电头网拿到了一款美式插座,这款产品相比常规墙插插座,除了配有两个双脚AC插口外,还有两个USB-A接口,支持直接插上数据线即可为两台设备进 ...

  4. ubuntu c++检测usb口事件变化_炼就“火眼金睛”,FETA40i-C核心板“牵手”光时域反射仪...

    在光缆工程完工后,都需要进行线路的最后测试,来 记录光缆的长度.径距损耗及接头损耗.各接头 位置信息 等 . 光时域反射仪(英文简称: OTDR ) 是测试中必不可少的工具, 通过对测量曲线的分析,了 ...

  5. vue watch 监听不到变化_关于vue中watch检测到不到对象属性的变化的解决方法

    前言 在vue开发的过程中发现一个问题:改变vue.$data中对象的属性,watch是观测不到变化,但其实对象的属性是有变化的.这--,有点难以置信! 正文 update age with 25 e ...

  6. android 如何快速检测到画面变化_电瓶修复—如何快速检测电池的好坏2

    本公众号会不断更新详细的电瓶修复技术及分享开店经验 (连载2)2.全新电池安装上去后,没几天或者一个多月客户反映跑的不远. 这种基本可以排除是电池故障引起的.尤其如果你安装的天能.超威之类的大厂电池. ...

  7. 使用opencv和python进行智能图像处理_使用OpenCV在Python中进行图像处理

    编辑推荐: 本文将先讨论一些图像处理,然后再继续介绍可以方便使用图像处理的不同应用程序/场景,希望对您的学习有所帮助. 本文来自于tecdat ,由火龙果软件Alice编辑.推荐. 介绍 在本教程中, ...

  8. opencv python 多帧降噪算法_防抖技术 | OpenCV实现视频稳流

    在这篇文章中,我们将学习如何使用OpenCV库中的点特征匹配技术来实现一个简单的视频稳定器.我们将讨论算法并且会分享代码(python和C++版),以使用这种方法在OpenCV中设计一个简单的稳定器. ...

  9. opencv python 多帧降噪算法_实战 | OpenCV实现视频防抖

    点击上方"计算机视觉life",选择"星标" 快速获得最新干货 本文转自OpenCV学堂 这篇文章分享了一个视频防抖的策略,这个方法同样可以应用到其他领域,比如 ...

最新文章

  1. 要想成功 需要了解的东西
  2. 干货 | XGBoost在携程搜索排序中的应用
  3. numpy.random.choice用法
  4. Could not find method google() for arguments [] on repository container.
  5. python基础一入门必备知识-Python快速入门指南基础知识详细说明
  6. Java对象的实例化
  7. GPIO做输出还能作外部中断输入吗?
  8. yunyang1994 tensorflow_yolov3训练报错:IndexError: index 68 is out of bounds for axis 1 with size 68 数据清洗
  9. Net设计模式实例之单例模式( Singleton Pattern)
  10. [日志]开车要掌握的十六大绝技
  11. Java Web之会话管理二:Session
  12. [SOJ] 无路可逃?
  13. BGP联邦原理及配置实例
  14. 关于值传递和指针传递
  15. 酒店管理系统需求分析
  16. win10 软路由_「保姆级」万晓博带你用软路由搭建家庭网络中心第1节-准备工作...
  17. “打酱油”的意思:不关我的事,我只…
  18. Mac M1 上 丝滑跑 Docker
  19. 元宇宙掀起新浪潮,觅伊打造沉浸式社交场景
  20. Python math库函数

热门文章

  1. 初来咋到的,多多关照哈~
  2. 两种方法教你在postman设置请求里带动态token
  3. [Android]我的第一个手机应用
  4. 从给定的大图中切出指定矩形区域的小图
  5. 如何能让英语水平在一年半载内得到大幅提升?(备注下)
  6. SQL中除法计算保留整数或几位小数(除法那些事儿!)
  7. 信息系统开发与管理【六】之 系统设计
  8. ugp和千幻魔镜买哪个好_2018入门级手机VR眼镜对比区别:目前哪个vr眼镜牌子效果更好?选哪款vr眼镜性价比高,求推荐2017...
  9. 海南计算机的初中学校有哪些,海南海口十大初中排行榜
  10. 1 最新最全新东方考研英语笔记