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