【问题标题】:Isolate colored text regions in video stream隔离视频流中的彩色文本区域
【发布时间】:2018-08-22 20:01:17
【问题描述】:

我想在实时视频中检测 5-6 米高度的彩色文本。这些文本的宽度接近 30-40 厘米。我已经使用了几种方法。例如,一种是 HSV 来检测颜色。但它没有用,因为 HSV 值应该随着环境光照的变化而变化。此外,它无法检测 30 厘米后的颜色。我还寻找用于文本识别的 OCR。为了我的研究,人们说我应该使用颜色检测来完成这项任务,因为它比 OCR 更容易。此外,它足以达到所需的结果。

总而言之,即使是在室内或室外环境下,如何才能检测到5米到6米外的红色和绿色文字呢?

【问题讨论】:

  • @EnderAyhan 是否始终只有一个红色和一个绿色文本,它们是否始终位于顶部/底部?您是否只想知道迷宫顶部的文本(红色/绿色)和底部的文本?另外,红/绿字总是一样的吗?
  • 为什么人们投票结束这个?这个问题似乎定义得很好,他的代码不会帮助任何人回答这个问题。
  • @duhaime 是的,总是有一个红色和一个绿色的文本。此外,文本始终与示例图像中的相同。但是,它们并不总是在同一个地方。地方不一样。我只想检测它们的中心点坐标。这样我就可以找到迷宫的起点和终点坐标了。
  • @EnderAyhan 是红色和绿色的文字总是在迷宫的相对两侧,还是有时在相邻的两侧?
  • @duhaime 它们可以彼此靠近或相对放置。我的意思是永远不知道文本的位置。它总是在变化。顺便感谢您对我的问题的支持。这种反对票问题一直在发生。不幸的是,很难确定要问什么。

标签: python opencv image-processing text-recognition color-detection


【解决方案1】:

这与其说是解决方案,不如说是对一种可能的前进方式的建议,但一个想法是检查图像中每一行的总体色调。

绿色(顶部标签)的色调值约为 90,红色(底部标签)的色调值约为 0,因此如果我们计算图像中每一行的色调值之和,我们'd 期望最绿色的行具有最高的色调值,而红色的行具有最低的色调值。

from scipy.misc import imread
import matplotlib.pyplot as plt
from colorsys import rgb_to_hsv
%matplotlib inline

# read in the image in RGB
img = imread('vUvMl.jpg', mode='RGB')

# find the sum of the Hue, Saturation, and Value values
# for each row in the image, top to bottom
rows = []
h_vals = []
s_vals = []
v_vals = []

for idx, row in enumerate(img):
    row_h = 0
    row_s = 0
    row_v = 0
    for pixel in row:
        r, g, b = pixel / 256
        h, s, v = rgb_to_hsv(r, g, b)
        row_h += h
        row_s += s
        row_v += v
    h_vals.append(row_h)
    s_vals.append(row_s)
    v_vals.append(row_v)
    rows.append(idx)

# plot the aggregate hue values for each row of the image
plt.scatter(rows, h_vals)
plt.title('Aggregate hue values for each row in image')
plt.show()

结果:

该图的左侧值较高,右侧值较低,表明绿色文本位于图像顶部,红色文本位于图像底部。

如果标签之一位于图像的左侧/右侧,您需要转置图像矩阵并找到按列的色调值,但希望这能激发您的想法...

【讨论】:

  • 这是完全不同的观点,让我摆脱了陈词滥调。最后但同样重要的是,您是否建议使用深度学习来做到这一点?
  • @EnderAyhan 如果您对神经网络感到满意,那么值得一试。很好的是,您的预测空间受到了很好的限制:每张图像只有四个边(上、右、下、左),并且每边的值都是红色、绿色或无。如果您手动标记一些图像,则训练分类器不会太难。如果你在大学里,其他人甚至可以帮助你完成任务......
猜你喜欢
  • 2012-07-05
  • 1970-01-01
  • 2016-08-13
  • 2013-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-14
相关资源
最近更新 更多