使用阈值检测对象

2023-12-07

我正在 matlab 中编写一个程序来检测图像序列中的对象。我试图检测的物体是一个红球。

enter image description here

首先,我尝试使用阈值从图像中分割球,但我做不到。我无法摆脱球下的阴影。有什么想法如何去除球下的小部分吗?

enter image description here

我的第二个问题是,我想确保我正在寻找的物体是一个红球。我的代码将检测任何红色物体,我想确保它是一个圆圈。

My code:

I1 = imread('images/B1.jpg'); % read image            

ID1 = im2double(I1);  % convert to double 
IDG1 = rgb2gray(ID1); % conver to gray scale

t = 112; % set a thresholding value

IT = im2bw(IDG1, t/255); % apply the threshold

I2 = ~IT; % get a nigative image

I3 = bwareaopen(I2,40); % get rid of small unwanted pixels 

I4 = imclearborder(I3); % clear pixels of the borders

I5 = bwareaopen(I4,60); % get rid of small unwanted pixels

I6 = imfill(I5,'holes'); % fill the gap on the ball top part

I7 = imclearborder(I6); % get rid of small unwanted pixels

也许将图像从 RGB 转换为 HSV 是个好主意。

img = im2double(imread('https://i.stack.imgur.com/D3Zm7.jpg'));
imgHSV = rgb2hsv(img);

让我们显示H部分,仅包含颜色信息:

imshow(imgHSV(:,:,1))
colormap('hsv')
colorbar;

enter image description here

注意red部分分布在频谱的极端处。让我们尝试使用经验值对其进行阈值处理(通过查看条形图,我们可以初步猜测一些“好的”值):

BW = imgHSV(:,:,1) < 0.05 | imgHSV(:,:,1) > .15;

并显示结果:

imshow(BW);

enter image description here

不再有阴影! :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用阈值检测对象 的相关文章

  • 优化 MATLAB 代码(嵌套 for 循环计算相似度矩阵)

    我正在 MATLAB 中基于欧几里德距离计算相似度矩阵 我的代码如下 for i 1 N M N is the size of the matrix x for whose elements I am computing similarit
  • 单元格的 Fieldnames 函数的等效项

    正如标题所说 只是想知道是否有一个函数可以用作字段名 http www mathworks co uk help matlab ref fieldnames html 但适用于单元格 所以如果我有类似的东西 a imread redsqua
  • 如何在Matlab中将世界坐标转换为像素索引

    我有 512x512x313 体积的 dicom 图像 并且我有一个以世界坐标表示的点 57 7475 63 4184 83 1515 我如何在 Matlab 中获得该世界坐标的相应像素坐标 我不想戳破你的幻想 但你所要求的是不可能的 我能
  • opencv形态扩张滤波器作为最大滤波器

    就像中值滤波器的定义一样 我可以将 最大滤波器 定义为局部窗口 例如dst x y max 3x3 局部窗口像素 但我在opencv中找不到这样的过滤器 最接近的是 dilate 函数 然后我使用 dilate 函数的默认配置 但结果不正确
  • 如何将任意颜色的色度键滤镜应用到实时摄像头源ios?

    基本上我想将色度键滤镜应用到 ios 实时摄像头源 但我希望用户选择将被另一种颜色替换的颜色 我找到了一些使用绿屏的示例 但我不知道如何动态替换颜色而不仅仅是绿色 知道如何以最佳性能实现这一目标吗 您之前曾询问过我的情况GPUImage h
  • MATLAB - GUI 和 OPC 服务器

    我想在 MATLAB 中设计一个图形用户界面 可以使用 MATLAB 的过程控制对象链接和嵌入 OPC 工具箱连续读取数据 我怎样才能实现这个 我已经设计了图形用户界面 但我无法将数据读入图形用户界面 就这样做 type opctoolMA
  • 如何获取MATLAB句柄对象的ID?

    当我尝试使用时出现问题MATLAB 句柄对象 http www mathworks com help techdoc ref handle html作为关键值MATLAB 容器 Map http www mathworks com help
  • 在 Python 中倾斜数组

    我有一个 2D 数组 我将使用它保存为灰度图像scipy misc toimage 在此之前 我想将图像倾斜给定角度 像这样进行插值scipy ndimage interpolation rotate 上图只是为了说明倾斜过程 我知道我必须
  • matlab部署工具到java包javac错误

    我正在尝试将我的程序包装为与 java 一起使用 我首先尝试了一个简单的 hello world 你好世界 m disp 你好世界 我使用了deploytool并选择了java包 当它到达这一行时 执行命令 javac verbose cl
  • 将数据提示堆栈放在轴标签顶部,并在轴位置发生更改后更新轴标签

    此问题仅适用于 unix matlab Windows 用户将无法重现该问题 我在尝试创建位于 y 轴标签顶部的数据提示时遇到问题 下图很能说明问题 正如您所看到的 在 ylabel 附近创建的数据提示将到达 ylabel 文本的底部 而期
  • 使用 GD lib 过滤器标准化 CSS 过滤器

    我想让用户拖动范围滑块并通过实时预览 CSS 滤镜 调整图像的亮度和对比度 然后使用 GD 库保存调整 但是 我似乎无法从 CSS 过滤器和 GD lib 亮度和对比度过滤器获得相同的结果 我的 CSS 过滤器范围为 50 150 其中 1
  • setImageCompressionQuality 与 setCompressionQuality 之间有什么区别 - Imagick

    我在Imagick中找到了两种设置图像压缩质量的方法 A 设置图像压缩质量 B 设置压缩质量 所以我想知道哪一个是最好的以及为什么在以下条件下 我读到了setCompressionQuality方法仅适用于新图像 我正在尝试压缩文件 jpe
  • Python 或 C 语言中的 Matlab / Octave bwdist()

    有谁知道 Matlab Octave bwdist 函数的 Python 替代品 此函数返回给定矩阵的每个单元格到最近的非零单元格的欧几里得距离 我看到了一个 Octave C 实现 一个纯 Matlab 实现 我想知道是否有人必须用 AN
  • 如何在Matlab中绘制网络?

    我有一个矩阵AMatlab中的维数mx2每行包含两个节点的标签 显示网络中的直接链接 例如 如果网络有4矩阵的节点A可能A 1 2 1 3 2 1 2 4 3 2 4 1 4 2 其中第一行表示有一个链接来自1 to 2 第二行表示有一个链
  • Matlab 图像数据的 hist 函数

    我是 Matlab 新手 我想制作自己的函数 与 imhist 显示图像数据的直方图 完成相同的工作 但我对此完全是新手 我不知道如何做开发这样的功能 我开始做一些东西 但它非常不完整 function output args myhist
  • 如何在 python 中读取 32 位 TIFF 图像?

    我想用 python 读取 32 位浮点图像文件来进行一些图像分析 我努力了 import matplotlib pyplot as plt im plt imread path to file tif 但是 这仅将数据读取为 8 位整数值
  • Numpy 相当于 MATLAB 的 hist [重复]

    这个问题在这里已经有答案了 由于某种原因 Numpy 的 hist 总是返回比 MATLAB 的 hist 少 1 个 bin 例如在 MATLAB 中 x 1 2 2 2 1 4 4 2 3 3 3 3 Rep Val hist x un
  • 如何绘制更大的边界框和仅裁剪边界框文本 Python Opencv

    我正在使用 easyocr 来检测图像中的文本 该方法给出输出边界框 输入图像如下所示 Image 1 Image 2 使用下面的代码获得输出图像 But I want to draw a Single Bigger bounding bo
  • Matlab的导入函数的范围是什么?

    我正在尝试将一些用 Matlab 编写的代码转换为独立的 编译的 Matlab 应用程序 然而 在出现一些奇怪的错误之后 我意识到代码大量使用了从路径中添加和删除的操作 以避免多次使用多个具有相同名称 但结果 计算不同 的函数这一事实 环顾
  • 计算机视觉/道路跟踪入门

    我想开发一个可以跟踪和沿着道路行驶的系统 最初 我只想处理定义明确的道路 稍后可能会合并对定义不明确的道路的跟踪 我面临的问题是我不知道从哪里开始 我是图像处理领域的新手 我希望能得到一些关于从哪里开始以及应该阅读哪些关于该主题的书籍的指导

随机推荐

  • 避免 Pylint 警告 E1101:对于具有动态属性的类,“.. 的实例没有 .. 成员”

    想象一个函数动态地使用以下方法向对象添加属性setattr 这样做的原因是我想将一些外部结构 例如给定的参数树 映射到一个对象 my object SomeClass apply structure my object some descr
  • 在java中绘制极坐标图

    有谁知道我如何开始在java中绘制极坐标图并在该图上绘制一些点 我的意思是圆和线 我希望用 swing 之类的东西来做到这一点 而不是使用像 Jfreechart 这样的任何库 谢谢 您可能想看看利萨如曲线 的一个例子a 5 b 4 5 4
  • React/Redux useEffect 多次触发调度[重复]

    这个问题在这里已经有答案了 我在使用 useEffect 和dispatch 操作时遇到问题 我正在使用最新版本的react 18 1 0 基本上 我有以下在简单的代码中定义的代码 const Item gt const dispatch
  • 具有不等宽度项目的散景响应行

    我正在尝试在 bokeh 0 12 3 中创建一个响应行 其中包含一个图形和一个小部件框 其中小部件框的宽度比图形小得多 我只能通过以下方式实现前者 from bokeh io import output file show from bo
  • Meteor 中的后台任务

    我想知道 有什么办法可以实现后台任务吗 也许有工人池 你能给我指明方向吗 我正在考虑为此编写软件包 2019年更新 在考虑为任何内容编写包之前 首先查看是否有现有的包可以满足您的需要 在 Meteor 世界中 这意味着在 Atmospher
  • PlaceAutocompleteFragment 单击后消失

    我想实现 AutocompleteTextView 谷歌位置 但是当我单击片段中的 searchView 时 该片段消失了 掉落 My code Override protected void onCreate Bundle savedIn
  • ContextualDeserializer,用于使用 Jackson 将 JSON 映射到不同类型的映射

    此 JSON 片段应映射到包含以下内容的 Java 对象 cars类型字段Map
  • Java3D 绘制空的白色窗口(不在小程序中)

    我正在尝试使用 Java 3D 做一些有趣的事情 并且我正在通过官方教程进行学习 我的问题是 有时它显示得很好 没有任何问题 但有时窗口是白色的 直到我调整窗口大小才显示任何内容 我怎样才能克服这个绘图更新问题 这是所有代码 import
  • 比较时忽略 char 的大写和小写

    这样做的目标是从用户那里获取一个句子并确定每个元音出现了多少个 除了我不确定如何忽略大写和小写字母但我猜测 equalsIgnoreCase 或 toUpperCase 之外 大部分工作都已完成 我还想知道是否有另一种方法可以使用其他一些类
  • 如何在 Swift 中创建本地作用域?

    我经常在 Objective C 中使用本地作用域来使命名更清晰 UILabel label UILabel alloc init self addSubview label self titleLabel label 我正在尝试用 Swi
  • R 在数据帧中生成非重复对

    所以目的是通过距离来比较每个ID与其他ID 考虑以下数据框Df ID AN AW a white green b black yellow c purple gray d white gray 为了进行比较 我需要如下所示的组合 ID AN
  • 从 Cloud Functions 启动 Cloud Dataflow

    如何从谷歌云功能 我想使用 Google Cloud Functions 作为实现跨服务组合的机制 我提供了一个非常基本的示例字数下面的示例 请注意 您需要在 Cloud Function 部署中包含 java 二进制文件的副本 因为它不在
  • 如何在不需要用户交互的情况下自动填充密码字段?

    如果我检查一个
  • 如何实现良好的脏话过滤器?

    我们中的许多人需要处理用户输入 搜索查询以及输入文本可能包含脏话或不良语言的情况 通常这需要被过滤掉 在哪里可以找到各种语言和方言的脏话列表 是否有可用于包含良好列表的源的 API 或者也许有一个 API 只是简单地说 是的 这是干净的 或
  • 猫鼬不保存数据

    我在对数据库进行简单查询时遇到问题 按照本教程操作 https scotch io tutorials build a restful api using node and express 4当调用 Model find 时 他会收到一个
  • 检索 svg 的纵横比

    太长了 给定这个 svg 元素
  • 数组差异

    我需要得到这两个数组之间的差异 我已经尝试过array diff array1 array2 没有成功 有什么想法吗 array1 Array 0 gt Array status gt 61192106047320064 1 gt Arra
  • Javascript:多维数组按指定索引排序?

    如果我有一个如下所示的数组 var array 0 name date bTrue 我将如何按一维数组值之一对该数组进行排序 提前致谢 使用简单的排序回调 var arr 1 5 2 1 8 2 1 2 2 console log arr
  • matplotlib pyplot 颜色条问题

    亲爱的大家 我正在尝试使用带有相关颜色条的颜色来执行散点图 我希望颜色条具有字符串值而不是数值 因为我正在比较两个不同的数据集 每个数据集具有不同的颜色值 但在任何情况下都在最大值和最小值之间 这是我正在使用的代码 import matpl
  • 使用阈值检测对象

    我正在 matlab 中编写一个程序来检测图像序列中的对象 我试图检测的物体是一个红球 首先 我尝试使用阈值从图像中分割球 但我做不到 我无法摆脱球下的阴影 有什么想法如何去除球下的小部分吗 我的第二个问题是 我想确保我正在寻找的物体是一个