2016-05-18 36 views
1

我在Ubuntu服務器上運行網站。本網站的部分功能是提供彩色矢量化圖像。最後,我希望有一個類似於Vector Magic的輸出。雖然Vector Magic做得非常出色,但對於我希望通過其API處理的圖像數量來說,它們是非常昂貴的。我試圖採取一個光柵圖像,工作一些神奇,並希望通過CLI結束(一些)乾淨的SVG圖像。我知道得到完美的光柵>矢量圖像是不可能的,但一個小質量損失不是問題。抓住的是獲得透明度和顏色的矢量。Linux CLI - 光柵到矢量(跟蹤)

爲了找到一個解決方案而不重新發明任何東西,但它看起來不太好,我已經試過了高和低。以下是我在試用之前試過的幾件事:

  • Inkscape具有迄今爲止發現的最好的位圖跟蹤功能。用乾淨的結果和顏色,這將是一個偉大的解決方案。問題在於這個特性不能通過CLI輕鬆實現自動化或使用,並且在我的Ubuntu服務器上無法使用(?)。

  • 我也試圖使用Potrace,但Potrace只能追溯到黑色和白色。不幸的是,顏色是一個要求。我聽說過使用mkbitmap預處理圖像,然而下一個選項涵蓋了這一點。

  • Autotrace是第二好的解決方案,因爲它可以從JPG或PNG柵格(使用Potrace和預處理器一起)提供顏色SVG,但質量很差。

  • KVEC很整齊,幾乎與Autotrace有相似的結果。

  • 雖然看起來很漂亮,但在SVG中嵌入柵格是可能的,但似乎是密集的,有些不受支持,所以我寧願避開它。

所以,我的問題 - 是否有可能使用CLI實用程序從光柵到矢量?還是我重新創造了已經存在的以獲得半體面的結果?我感謝任何幫助!

回答

1

我想我會後我的其他成員的答案,以防萬一:

我能夠使用imagetracerjs來解決我的問題。它們提供了很好的客戶端和服務器端示例雖然質量並不完美(如預期的矢量化),但它是開源的,並有很多選項可以獲得相當不錯的結果。

1

不要忘記檢查的Java版本,它可能更容易從CLI使用:

https://github.com/jankovicsandras/imagetracerjava

基本用法:

java -jar ImageTracer.jar smiley.png 

有了選擇:

java -jar ImageTracer.jar smiley.png outfilename output.svg ltres 1 qtres 1 pathomit 8 colorsampling 1 numberofcolors 16 mincolorratio 0.02 colorquantcycles 3 scale 1 simplifytolerance 0 roundcoords 1 lcpr 0 qcpr 0 desc 1 viewbox 0 blurradius 0 blurdelta 20 
+0

我可以請你回顧一下[如何提供個人開源庫嗎?](// meta.stackexchange.com/q/22908 5)?我刪除了其他帖子。 –