2010-06-21 88 views
6

用於縮小圖像大小的算法有哪些?什麼算法用於圖像縮小?

什麼是更快?

什麼算法是執行圖像調整大小(特別是從大的600x600減小到例如超小6x6)由flash和silver player等巨人和html5?

+1

對於一個問題,這是很多問題。 – 2010-06-21 21:51:46

+4

無論您選擇何種選擇,圖像縮小都應該謹慎小心。記住:圖像也有家庭。 – 2010-06-22 00:35:13

回答

7

雙線性是最廣泛使用的方法,可以使運行速度與最近鄰居下采樣算法一樣快,這是最快但最不準確的。

偶然實現雙線性採樣的麻煩在於,如果使用它將圖像縮小一半以上,那麼您可能會遇到與您最近的鄰居相似的混淆僞像。解決方案是使用基於金字塔的方法。基本上如果你想減少600x600到30x30,你首先要減少到300x300,然後是150x150,然後是75x75,然後是38x38,然後才能使用雙線性減少到30x30。

當將圖像縮小一半時,雙線性採樣算法變得簡單得多。基本上爲每個像素交替的行和列:

y[i/2][j/2] = (x[i][j] + x[i+1][j] + x[i][j+1] + x[i+1][j+1])/4; 
+1

你的意思是說雙線程只能用於最後一步嗎? – jayarjo 2013-02-12 18:02:47

1

通常我會堅持使用雙線性濾波器來縮小比例。儘管如此,爲了將圖像大小調整爲微小的大小,您可能會失敗。大多數圖標都是通過手工進行像素編輯以使其看起來最好。

Here是一個很好的資源,它很好地解釋了這些概念。

1

在代碼項目中有一個很棒的article顯示各種圖像過濾器的影響。

爲了縮小圖像,我建議使用雙三次算法;這具有自然的銳化效果,因此圖像中的細節保留較小的尺寸。

+0

我在該頁面上收到404錯誤。我建議擴大規模的雙三次,但我堅持使用雙線性規模縮小。總而言之,這不會產生重大影響。 – 2010-06-22 00:39:38

+0

@Ben,鏈接固定。我不同意;雙線性具有平滑效果,可在放大時消除鋸齒,但在縮小尺寸時傾向於清除細節。無論如何,看看這篇文章。 – 2010-06-22 00:50:54

3

還有一個特殊情況:小型化JPG的超過8倍8重新調整的一個直接因素可以對原始JPG數據來完成,而無需解壓縮它。 JPG存儲爲8x8像素的壓縮塊,平均像素值在第一位。因此,從磁盤或網絡讀取文件通常需要更多時間才能縮減文件大小。