2012-10-01 90 views
2

我正在處理圖像庫,我想緊緊打包圖像縮略圖。縮略圖:緊湊圖像縮略圖的佈局算法

  • 不同的縱橫比
  • 可在同一信號源的分辨率(長邊256個像素)

我想拿出一個最佳的解決方案(可能要是一種啓發式的),讓我平衡:

  • 填充每個縮略圖(優選恆定)
  • 與c之間縮略圖大小(優選全部相同大小)的一致性
  • 爲顯示器裁剪的每幅圖像的數量(最好沒有)
  • 圖像與其排序順序一致(最好是排序鄰居將接近一另一個在網格中)

我認爲這是rectangle packing problem的變體。

,我發現了一些很好的參考:Fast Optimizing Rectangle Packing Algorithm for Building CSS Sprites

但我想與專家進行檢查,看是否有人都知道:

+0

我想知道是否需要創建某種神經網絡,其中每個平衡點成爲節點上的權重(Wikipedia:[link](http://en.wikipedia.org/wiki/Neural_network ))。 – stanhope

+0

如果您考慮單列圖像,問題就會變得非常簡單。沒有包裝,可能會將兩幅肖像圖像彼此相鄰,只保留一行圖像。當我介紹第二列時,現在每張圖片只能放置幾個位置(在1下面,在2下面,在1旁邊,在2旁邊)。也許這是構建可能是複雜算法的最簡單方法? – stanhope

+0

不要在評論中寫下你的問題的解釋,編輯你的問題。SO上的很多人不會閱讀評論,主要是他們不是非常有用,我們很多人都將其過濾掉。 –

回答

1

我想出了這樣的事情(現在也有在GitHub代碼) http://www.feather-ts.com/gallery/

我要補充的是,爲了將是隨機的,大小盡量均勻,但對我來說填補整個空間更重要,而不是保持尺寸一致。您可以調整瀏覽器窗口的大小以查看它的工作原理。

如果你的身高不是固定的,還有其他幾種選擇,主要是揹包或分區算法。 2d斌支持將留給你空白或不會找到總是適合所有圖像的解決方案。

我的算法幾乎不裁剪,並且只要有足夠的組合就可以將所有圖像放入給定的空間。顯得越少,圖像越少。

+0

這是非常令人印象深刻的安德烈亞斯。它的工作非常好。我不清楚它是否是1)公開可用的任何已建立的算法,2)實現它們的任何開源庫,或3)任何其他數學參考或指導。沒問題,如果它是一個令人難以置信的酷演示。 – stanhope

+0

夠公平的。祝你好運。 – stanhope