3
我正在尋找一種方法將柵格(位圖)手繪線條轉換爲一組近似路徑的向量。如何將一行從光柵轉換爲Java中的矢量?
首先,是否有公共Java庫或算法?
具體地,給出以下位圖格式,我想向量集合組成橙色線的手繪黑線。理想情況下,我不希望矢量太緊密地跟隨位圖。像下面的橙線一樣,它應該包含在某個可配置的誤差範圍內的線後的最小數量的頂點。
在此先感謝!
我正在尋找一種方法將柵格(位圖)手繪線條轉換爲一組近似路徑的向量。如何將一行從光柵轉換爲Java中的矢量?
首先,是否有公共Java庫或算法?
具體地,給出以下位圖格式,我想向量集合組成橙色線的手繪黑線。理想情況下,我不希望矢量太緊密地跟隨位圖。像下面的橙線一樣,它應該包含在某個可配置的誤差範圍內的線後的最小數量的頂點。
在此先感謝!
Imagetracer是一個免費的開源(公有領域)圖書館和應用程序,它可能是有用的。免責聲明:我做到了。
https://github.com/jankovicsandras/imagetracerjava
你可以得到路徑上的物體座標是這樣的:
import jankovicsandras.imagetracer.ImageTracer;
...
HashMap<String,Float> options = new HashMap<String,Float>();
options.put("ltres", 2f); // Linear error treshold
options.put("qtres", 2f); // Quadratic spline error treshold
IndexedImage myimage = ImageTracer.imageToTracedata("input.jpg", options, null);
ArrayList<ArrayList<ArrayList<Double[]>>> mylayers = myimage.layers;
... process coordinates in mylayers
其中
ArrayList<ArrayList<ArrayList<Double[]>>> layers
意味着大約 ArrayList of color layers < ArrayList of paths < ArrayList of line segments < double x, y, type:straight or quadratic spline > > >
檢查這篇文章:HTTP:// www.cs.mtu.edu/~shene/COURSES/cs3621/N OTES/INT-APP/CURVE-APP-global.html – Danstahr