2014-04-07 4 views
3

래스터 (비트 맵) 손으로 그린 ​​선을 경로에 가까운 벡터 집합으로 변환하는 방법을 찾고 있습니다.Java에서 벡터를 래스터에서 벡터로 변환하는 방법은 무엇입니까?

우선 공개 Java 라이브러리 또는 알고리즘이 있습니까?

즉, 비트 맵 형식, I는 오렌지 라인을 구성하는 벡터의 세트를 원하는 아래 손으로 그린 ​​블랙 라인 주어. 이상적으로는 벡터가 비트 맵을 너무 가깝게 따르기를 원하지 않습니다. 아래의 주황색 선과 마찬가지로 구성 가능한 오차 범위 내에서 선을 따라가는 정점의 최소 수를 포함해야합니다. 사전에

enter image description here

감사합니다!

+1

확인이 문서 의미 곳 www.cs.mtu.edu/~shene/COURSES/cs3621/N 외경/INT-APP/CURVE-APP-global.html – Danstahr

답변

1

Imagetracer는 무료이며 공개 소스 (공개 도메인) 라이브러리 및 응용 프로그램으로 유용 할 수 있습니다. 면책 조항 : 나는 이것을했다.

https://github.com/jankovicsandras/imagetracerjava

당신은 경로 객체를 얻을 수는 다음과 같이 좌표 : HTTP : //

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

관련 문제