2013-09-02 2 views
1

래스터 이미지를 벡터화 된 라이브러리로 변환하여 샘플링 된 색상의 수를 특정 세트로 제한하는 라이브러리가 있습니까? VectorMagic에서 수행되는 작업과 비슷하지만 사용되는 색상의 하위 집합을 제공합니다.래스터 - 벡터 변환 라이브러리

답변

1

괜찮은 벡터화를 수행하는 opensource 라이브러리/프로그램 potrace이 있습니다. 먼저 입력 이미지를 luminensce 이미지로 변환 한 다음 이진화합니다. 이 단계는 별도의 프로그램으로 만든 선택 사항이므로 potrace를 사용할 수 있지만 여러 가지 버전의 이진 이미지를 직접 구성하여 다른 방식으로 사용할 수 있습니다. 저는 VectorMagic이 입력 이미지의 그래디언트/라플라시안 (laplacian)을 기반으로 윤곽선을 작성했기 때문에 어떤 색상 세트도 지정할 수 없습니다. 당신은 색상의 부분 집합이 입력으로 사용하는 경우

, 나는 다음과 같은 알고리즘 folow 조언 : 색상의 입력 부분 집합의 각 색상에 대한

  • 를 색 공간의 부분 공간을 찾을 수있는 선택한 색상에서 다른 색상보다 "가장 가까운 색상"입니다. 입력 서브 세트의 보로 노이 파티션을 계산하는 알고리즘과 같은 것이 바로 그 일을 아주 잘 수행 할 것입니다. 예를 들어 qhull을 사용하십시오.
  • 각 부분 공간에 대해 입력 이미지를 이진화하고 모든 픽셀을 흰색으로 그려야하며 그렇지 않은 경우 검정색으로 그립니다. 그런 다음 potrace 또는 VectorMagic의 벡터화를 적용하십시오.

마지막으로 윤곽 집합이 표시됩니다. 윤곽선이 정확하게 일치하지 않을 수도 있지만 윤곽선을 단순화하고 윤곽선을 올바르게 삭제할 수있을만큼 충분히 가까울 수 있습니다.

+0

또한 세그먼트/계층화 된 이미지로 윤곽을 사용 후 HSB 색 공간의 이미지를 클러스터링하고있다. 그 후에 potrace를 사용할 수 있습니다. – Soley

1

Imagetracer는 무료이며 공개 소스 (공개 도메인) 라이브러리 및 응용 프로그램으로 유용 할 수 있습니다. 면책 조항 : 나는 이것을 만들었습니다. 당신이 명령 줄 응용 프로그램이 필요하면

, 내가 4. 만약에 색상의 수를 제한하기 위해 이러한

java -jar ImageTracer.jar input.png outfilename output.svg numberofcolors 4

같은 옵션

https://github.com/jankovicsandras/imagetracerjava

에서 ImageTracer.jar 추천 Java 프로그램에서 라이브러리를 호출하고 사용자 정의 팔레트를 사용할 수 있으며 다른 많은 옵션이 있습니다.

당신은 브라우저 또는 Node.js를 사용하여 자바 스크립트 버전을 사용할 수 있습니다 https://github.com/jankovicsandras/imagetracerjs

관련 문제