【发布时间】: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 元素将是
元素。正方形大小将是高度*宽度(以像素为单位)。我正在惩罚宽度更大的图片,因为这些图片很可能是我要解析的网站中的横幅。