2013-10-14 37 views
-1

我試圖創建一個算法,給定一組網站中的元素,它將返回更可能是描述產品的「一個」元素的算法。根據矩形大小對圖像進行評分的算法

這當然不是一個100%準確的算法,並需要以人爲本的選擇之後,但我想獲得至少3幅最可能的圖像列表。這是我做的,到目前爲止:

1 - 擺脫其平方大小比50x50px
2小 - 在頁面
3計算所有的平均平方大小 - 給出分數每個取決於與平均平方尺寸的差異(平方尺寸越大,得分越高)
4 - 如果寬度>比(高度* 5),得分=得分* 0.5(我這樣做是因爲這可能是一個橫幅這一頁)。

這裏是我想改變什麼,但我看不出這將是這樣做的一個很好的方式。在步驟3,我現在所做的權利賦予以下分數:

score_of_image = average_square_size - square_size_image 

我想有將被共享出來給所有取決於它們的大小分的特定量。份額應該反映一張與其他圖片相關的圖片的大小。爲了分享這些觀點,什麼是一個好的算法?

+1

困惑!...你是在談論一個簡單的面積計算還是你在談論圖像的平方?我假設你是試圖寫一些蜘蛛類型算法來收集有關產品的網站信息,我會想到一個簡單的面積計算d給出了「產品」形象的最佳標誌。我不確定你爲什麼試圖將它轉換成分數? –

+1

什麼是「元素」?它是一個位圖圖像?什麼是「方形尺寸」?是位圖圖像的尺寸(寬度乘以高度)?你的觀點(4)有一些錯誤的語法,但它對我來說似乎是錯誤的...一個不錯的方形圖像的寬度>高度* 0.5,所以我不會懲罰它。如果寬度>高度* 2,我可能會懲罰圖像,這是非常不同的。 –

+0

我想在第3步中你想要一個百分比的差異。所以使用像'image_score = square_size_image/average_square_size'。因此,比平均值大的圖像的分數大於1.0。 –

回答

1

我認爲你需要決定某些方面有多麼重要與問候他人,但你可以簡單地計算圖像(寬x高)的尺寸和使用,作爲分數的第一部分。我如何得分會記錄頁面上最大圖像的面積,並將其他值作爲其中的一部分。我不認爲平均圖像大小確實增加了任何東西,因爲我可以想象最大的圖像最有可能是產品圖像。

然後計算爲方形的獨立評分,做這樣的事情: -

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

所以這兩個方面之間,你得到的是可以用來分發但是總比分你希望兩個百分比(你可以如果你願意的話可以指定更多的點數,或者更多的指向圖像大小

+0

良好的方法和指導。但我有個問題。爲什麼要將所有圖像(百分比)與最大圖像進行比較? –

+0

爲了獲得百分比分數。所以你需要計算出哪個是最大的圖像,然後將每個較小的圖像尺寸除以較大的圖像尺寸,然後* 100給出該百分比。這樣,您始終可以使用一致的範圍(0-100),並且可以讓您在整個頁面上分配確切數量的點,並將圖像大小的得分與矩形的得分相關聯。儘管如此,你不必使用100,如果你想要對圖像大小有偏差,你可以使用更高的數字作爲乘數。 –

相關問題