【问题标题】:Algorithm to score images depending on their square size根据正方形大小对图像进行评分的算法
【发布时间】:2013-10-22 06:54:53
【问题描述】:

我正在尝试创建一种算法,给定网站中的一组元素,该算法将返回更可能是描述产品的“一个”元素。

当然,这不是一个 100% 准确的算法,之后需要基于人的选择,但我试图获得至少 3 个最可能的图像的列表。以下是我目前所做的:

1 - 去掉小于 50x50px 的正方形
2 - 计算页面中所有的平均正方形大小
3 - 给每一个分数,取决于与平均方块大小的差异(方块越大,分数越高)
4 - 如果宽度大于(高度 * 5),得分 = 得分 * 0.5(我这样做是因为这可能是页面中的横幅)。

这是我想要更改的内容,但我看不出有什么好方法。在第 3 步中,我现在正在做的是给出以下分数:

score_of_image = average_square_size - square_size_image

我想根据他们的大小将特定数量的积分分享给所有人。分享出来的应该反映一张图片与其他图片相关的大小。为了分享这些观点,有什么好的算法?

【问题讨论】:

  • 困惑! ...您是在谈论简单的面积计算还是在谈论图像的正方形?我假设您正在尝试编写某种蜘蛛类型算法来从网站收集有关产品的信息。我原以为简单的面积计算应该能最好地显示“产品”图像。我不知道你为什么要把它翻译成乐谱?
  • 什么是“元素”?它是位图图像吗?什么是“正方形大小”?那是位图图像的尺寸(宽度乘以高度)吗?你的观点(4)有一些语法错误,但对我来说似乎是错误的......一个漂亮的方形图像的宽度>高度* 0.5,所以我不会惩罚它。如果宽度 > 高度 * 2,我可能会惩罚图像,这是非常不同的。
  • 我认为在第 3 步中您需要百分比差异。所以使用image_score = square_size_image / average_square_size之类的东西。因此,大于平均值的图像将获得大于 1.0 的分数。
  • @DarrenCrabb 我将其翻译成分数,因为我想考虑其他方面来确定产品图像是什么,而不仅仅是图像的“方形”程度。我要考虑的分数之一是图像的正方形大小(高度*宽度)有多大。
  • @j_random_hacker 元素将是 元素。正方形大小将是高度*宽度(以像素为单位)。我正在惩罚宽度更大的图片,因为这些图片很可能是我要解析的网站中的横幅。

标签: algorithm rate scoring


【解决方案1】:

我认为您需要确定某些方面相对于其他方面的重要性,但您可以简单地计算图像的大小(宽度 x 高度)并将其用作分数的第一部分。我的得分方式是记录页面上最大图像的区域并计算出其他区域的百分比。我认为平均图片大小并没有真正增加任何内容,因为我认为最大的图片很可能是产品图片。

然后计算一个单独的方形分数,做这样的事情:-

if (height > width) {
    result = (width/height) * max_points_for_squareness;
} else {
    result = (height/width) * max_points_for_squareness;
}

因此,在这两个方面之间,您会得到两个百分比,可用于根据您的意愿分配总分(如果您愿意,您可以为方形度分配更多的分数,或者为图像大小分配更多的分数。

【讨论】:

  • 好的方法和指导。但我有个问题。为什么要将所有图像(按百分比)与最大的图像进行比较?
  • 为了获得百分比分数。所以你需要计算出哪个是最大的图像,然后将每个较小的图像尺寸除以较大的图像尺寸,然后 *100 给出百分比。这样,您始终可以使用一致的范围 (0-100),并且它使您能够在整个页面上分配准确数量的点,从而保持图像大小的得分与方形度得分的关系。不过,您不必使用 100,如果您想要偏向图像大小,您可以使用更高的乘数。
猜你喜欢
  • 2014-01-27
  • 2010-10-30
  • 1970-01-01
  • 1970-01-01
  • 2014-11-09
  • 2012-09-10
  • 1970-01-01
  • 1970-01-01
  • 2016-05-21
相关资源
最近更新 更多