在數(shù)字圖像處理的世界里,將光柵圖像轉(zhuǎn)換為矢量圖形的需求越來越常見。比如,設(shè)計(jì)師們想要把手繪草稿轉(zhuǎn)化為可編輯的矢量圖,或是開發(fā)者需要處理高分辨率的圖紙掃描件。今天就為大家介紹一款強(qiáng)大的開源軟件 ——VTracer,它能輕松將光柵圖像(如常見的 jpg、png 格式)轉(zhuǎn)換為矢量圖形(svg 格式) 。 一、VTracer 的強(qiáng)大優(yōu)勢VTracer 與其他同類軟件相比,優(yōu)勢顯著。和只接受二值化輸入(黑白像素圖)的 Potrace 不同,VTracer 配備了圖像處理管道,能夠輕松應(yīng)對彩色高分辨率掃描圖像。從算法角度來看,Potrace 采用的是 O (n^2) 擬合算法,而 VTracer 完全是 O (n) 算法,這使得 VTracer 在處理圖像時(shí)效率更高,處理速度更快。 再對比 Adobe Illustrator 的圖像跟蹤功能,VTracer 的輸出更加緊湊,生成的形狀更少。這是因?yàn)?VTracer 采用了堆疊策略,有效避免了生成帶有孔的形狀,大大減少了文件大小,同時(shí)也讓后期編輯更加便捷。 不僅如此,VTracer 的應(yīng)用場景十分廣泛。它最初是為處理高達(dá) GB 級的歷史藍(lán)圖高分辨率掃描而設(shè)計(jì)的,能夠精準(zhǔn)地將這些復(fù)雜的圖紙轉(zhuǎn)換為矢量圖。同時(shí),它也能處理低分辨率的像素藝術(shù),模擬出復(fù)古游戲藝術(shù)作品的像素化效果,滿足不同用戶的多樣化需求。 ![]() 二、技術(shù)實(shí)現(xiàn)與應(yīng)用方式VTracer 及其核心庫是用 Rust 語言實(shí)現(xiàn)的。Rust 語言的特性為開發(fā)強(qiáng)大而高效的算法提供了堅(jiān)實(shí)基礎(chǔ),并且能夠輕松地將其應(yīng)用到交互式應(yīng)用程序中。其 Web 應(yīng)用程序就是 Rust + wasm 平臺強(qiáng)大能力的完美展示,用戶可以直接在網(wǎng)頁上體驗(yàn) VTracer 的圖像轉(zhuǎn)換功能,方便快捷。 除了 Web 應(yīng)用,VTracer 還提供了 Cmd 應(yīng)用程序。使用方法很簡單,比如將 input.jpg 轉(zhuǎn)換為 output.svg,只需在命令行輸入./vtracer --input input.jpg --output output.svg 。并且,Cmd 應(yīng)用程序還提供了豐富的參數(shù)選項(xiàng),像--colormode可選擇真彩色圖像或二進(jìn)制圖像,--mode能設(shè)置曲線擬合模式為pixel、polygon或spline等,用戶可以根據(jù)具體需求靈活調(diào)整轉(zhuǎn)換參數(shù)。 命令行用法:
FLAGS:
可選參數(shù):
安裝你可以從 Releases 下載預(yù)構(gòu)建的二進(jìn)制文件。 你也可以從 crates.io/vtracer 的源代碼安裝程序:
用法
Rust Library Rust 庫你可以將 vtracer 作為 Rust 庫安裝。
Python Library Python 庫從 0.6 開始,得益于很棒的 pyo3 項(xiàng)目,vtracer 也被打包為 Python 原生擴(kuò)展。
三、VTracer 的誕生與未來展望VTracer 的誕生也有一段故事。開發(fā)者在青少年時(shí)期受到 Potrace 和 Anti-Grain Geometry(AGG)兩個(gè)開源項(xiàng)目的啟發(fā)。在 2020 年開發(fā)視頻處理引擎時(shí),因項(xiàng)目商業(yè)化困難,決定將已有的矢量圖形跟蹤器原型進(jìn)一步開發(fā),于是招募實(shí)習(xí)生一起完善功能,最終在 Reddit 上發(fā)布了第一個(gè)版本,收獲了超出預(yù)期的熱烈反響。 對于未來,VTracer 還有許多值得期待的發(fā)展方向。開發(fā)者計(jì)劃對輸出路徑進(jìn)行路徑簡化,通過實(shí)施后處理過濾器,進(jìn)一步減少樣條曲線的數(shù)量,優(yōu)化輸出結(jié)果。在摳圖模式上,致力于實(shí)現(xiàn)形狀邊界的完美共享,消除現(xiàn)有模式下的接縫問題。此外,還打算嘗試鉛筆描摹功能,將形狀骨架化為開放路徑,輸出干凈、固定寬度的筆觸。針對圖像質(zhì)量問題,考慮開發(fā)預(yù)過濾通道,對輸入圖像進(jìn)行降噪處理,提升在不同圖像格式下的跟蹤質(zhì)量。 如果你對 VTracer 感興趣,無論是想?yún)⑴c其后續(xù)開發(fā)工作,還是愿意提供贊助支持,都可以直接與開發(fā)者取得聯(lián)系。這么強(qiáng)大又有潛力的圖片轉(zhuǎn) SVG 工具,大家趕緊嘗試使用起來吧!說不定在你的工作和創(chuàng)作中,它就能成為不可或缺的得力助手! 以上介紹了 VTracer 的方方面面。你在使用過程中有什么新發(fā)現(xiàn),或是對它的未來功能有想法,歡迎在評論區(qū)分享! |
|