【问题标题】:Input print to score system输入打印评分系统
【发布时间】:2015-05-16 12:51:26
【问题描述】:

我有将 x y 坐标与另一个坐标进行比较并将 RGB 值打印到终端的代码。如何使用 RGB 值作为评分系统的输入?

img = Image('/home/pi/Desktop/DartProj/DartConvert/dart1blob.jpg')
blobs = img.findBlobs()
first_blob = blobs[0] if blobs else None
if first_blob:
    pixcol = Image('/home/pi/Desktop/DartProj/Score/ColourScoreBoard.jpg')
    colrgb =  pixcol[first_blob.x, first_blob.y]
print colrgb

上面的代码将 RGB 值打印到终端,例如。 (63.0, 71.0, 204.0) - 蓝色阴影。如何使该特定 RGB 值等于 20 的分数(以及其他 RGB 值与其他分数)。

任何帮助、指导、链接等都将不胜感激,初学者在这里。

【问题讨论】:

  • 分数代表什么,这些 rgb 值如何代表比其他值更高的分数?一种颜色的权重是否高于其他颜色?
  • 我正在为飞镖打分,每个段都填充了不同的颜色,作为回报,我需要使这些颜色等于段的得分。
  • 每个片段的颜色都不同吗?
  • 大部分情况下,除了 1 到 20 之间的单个乐谱有两个片段。我有获取投掷飞镖的 xy 坐标的代码,将其与评分图像的颜色段进行比较并返回 xy 坐标的颜色值。我需要为每个颜色值分配一个分数

标签: python input blob rgb simplecv


【解决方案1】:

定义 rgb 元组和分数之间的映射。下面是一个示例,您必须使用您知道板上的 rgb 值来实现完整的映射。

rgbmap = { (255, 255, 255): 60, (0, 0, 0): 20, (0, 0, 255): 2}

def getscoreforrgb(rgb):
    return rgbmap[rgb]

print "score for 255, 255, 255 is ", rgbmap[(255, 255, 255)]
print "score for 0, 0, 0 is ", getscoreforrgb((0, 0, 0))

您可以利用元组可散列的事实并将其用作字典键。您可以将其包装在一个函数中,也可以直接访问 dict,这取决于您(两种方法都显示)。

显然,如果该元组在映射中没有条目,但您必须将代码包装在 try/except 中,您会得到一个异常。

【讨论】:

  • 如何自动输入飞镖的rgb值?
  • 你不应该检查板子的rgb值吗?
  • 抱歉,我是编码新手,还不知道如何提出正确的问题。如何将 colrgb(来自我上面的代码)与板的 rgb 值进行比较?
  • 不幸的是,我不熟悉simplecv 库。从您的代码看来,您从板上的colrgb 变量中获取了rgb 值。所以你需要将它传递给映射函数。
  • 然而,您需要做的第一件事是获取板上所有可能的 rgb 值的列表并编写映射字典(我称之为 rgbmap)。我不知道你板上的所有 rgb 值以及与它们相关的分数。所以你必须自己编写映射。
【解决方案2】:

您可以定义一些函数,将 rgb 值作为参数,并通过您定义的某些逻辑返回该值的分数。

例如:

def RGBtoScore(rgb):
    score = #insert your logic here.
    return score

您可以像这样访问 rgb 值:

rgb[0] #red
rgb[1] #green
rgb[2] #blue

我的回答不是很具体,因为您的问题相当模糊。如果您对此帖子发表评论,我将相应地编辑我的答案

【讨论】:

  • 我的目标是写一个飞镖计分软件,其中棋盘的每一段都是不同的rgb值,一个飞镖盘上有82段,每段代表1-20,加上双打和三连,和 25 和靶心。我可以获得一个特定段的 rgb 值(我现在专注于 socring 一个段)并且希望能够将该值作为 13 的分数返回。
  • 好的,您可以使用 if 语句来实现这一点。 anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/…
猜你喜欢
  • 2018-11-05
  • 2016-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多