2014-04-07 68 views
3

我正在尋找一種方法將柵格(位圖)手繪線條轉換爲一組近似路徑的向量。如何將一行從光柵轉換爲Java中的矢量?

首先,是否有公共Java庫或算法?

具體地,給出以下位圖格式,我想向量集合組成橙色線的手繪線。理想情況下,我不希望矢量太緊密地跟隨位圖。像下面的橙線一樣,它應該包含在某個可配置的誤差範圍內的線後的最小數量的頂點。

enter image description here

在此先感謝!

+1

檢查這篇文章:HTTP:// www.cs.mtu.edu/~shene/COURSES/cs3621/N OTES/INT-APP/CURVE-APP-global.html – Danstahr

回答

1

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 > > >

相關問題