【问题标题】:How to transfer a blob of an image to a white background?如何将图像的斑点转移到白色背景?
【发布时间】:2019-12-12 13:12:19
【问题描述】:

我正在尝试提取图像中网球的颜色特征。为了更容易,我认为将网球转移到白色画布上然后提取特征会更好。我正在通过直方图提取颜色特征。

我在网球落下的视频 (https://imgur.com/a/lbqOx6S) 的帧上使用了均值偏移图像分割算法。最初,我将帧转换为灰度并从更新的帧制作直方图,但我意识到它是无效的,因为我正在尝试提取颜色特征。因此,我现在尝试将网球转移到白色画布上,这样更容易将网球的颜色特征提取到直方图中。

【问题讨论】:

  • 分享你到目前为止所尝试的并询问具体问题;只是让人们在这里创建解决方案或提出“如何做”的问题并不是 StackOverflow 的用途。
  • 你目前有什么?图像中的网球是否已经分割?如果是这样,您是否考虑过使用分割后的二值图像作为直方图计算的掩码?
  • 我在网球落下的视频帧中使用了均值偏移图像分割算法。最初,我将帧转换为灰度并从更新的帧制作直方图,但我意识到它是无效的,因为我正在尝试提取颜色特征。因此,我现在尝试将网球转移到白色画布上,这样更容易将网球的颜色特征提取到直方图中。不过,我还没有考虑使用分段二值图像作为直方图计算的掩码。我现在会的。
  • 将您输入的图像和处理后的图像发布到一些免费的托管服务,并将 URL 放在这里。

标签: python opencv extract feature-extraction feature-detection


【解决方案1】:

来自您的分割图像:

我们可以注意到色差非常明显。在这种情况下,我们可以简单地转换为可以更好地为我们分离这些颜色的颜色空间,例如 HSV。在 HSV 中,色调通道包含颜色变化数据。在这张图片中,这是色调通道:

由此,您只需分析图像直方图并确定一个简单的阈值。通过应用阈值,您可以达到:

Here 是 OpenCV 文档中关于如何在 Python 中执行此操作的教程。如果不能手动选择这个阈值,可以在H通道(splitting来自HSV图像)上使用Otsu的二值化方法(OpenCV tutorial)。

然后你可以使用这个二值图像作为掩码来提取更多的特征。您不需要将图像转换为白色/黑色背景,但是,如果需要,您可以应用此蒙版。见OpenCV - Apply mask to a color image。

【讨论】:

    猜你喜欢
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多