/autosvg

Autosvg is tracing tool, which can convert image format like (jpg,png,gif) into vector

Primary LanguageJavaScript

AutoSvg

All Contributors

Autosvg is tracing tool, which can convert image format like (jpg,png,gif) into vector svg. You can check your result here (Live Demo)[https://autosvg.now.sh].

Results

Clipart tracing

Result-1

Logo tracing

Result-2

Image tracing

Result-3

Building AutoSVG-WASM.js

Prerequisite

  • cmake, boost, python

  • MacOS

> brew install cmake boost

Automatic Setup

> git submodule update --init

> sh build.sh

Manual Setup

#
# https://github.com/emscripten-core/emsdk.git
#
export EMSDK=< path to Emscripten SDK repo>
#
# https://github.com/opencv/opencv.git
#
export OPENCV_SDK=<path to opencv repo>
#
# https://github.com/dpilger26/NumCpp.git
#
export NUMCPP=<path to numcpp repo>
  • Build Emscripten

https://emscripten.org/docs/getting_started/downloads.html

  • Build OpenCV WASM
cd $OPENCV_SDK
python ./platforms/js/build_js.py build_wasm --build_wasm
cd ../..
  • Run cmake building script for emscripten tool chain via
> cmake -DCMAKE_TOOLCHAIN_FILE=${EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
  • Run make command to complile source code and building WASM file.
> make
Scanning dependencies of target autosvg-wasm
[ 25%] Building CXX object CMakeFiles/autosvg-wasm.dir/src/cpp/AutosvgWASM.cpp.o
[ 50%] Building CXX object CMakeFiles/autosvg-wasm.dir/src/cpp/core/Operations.cpp.o
[ 75%] Building CXX object CMakeFiles/autosvg-wasm.dir/src/cpp/utils/CurveUtils.cpp.o
[100%] Linking CXX executable autosvg-wasm.js
[100%] Built target autosvg-wasm 
  • Copy wasm files to ui-app public folder.
cp autosvg-wasm.* src/autosvg_ui/public

Running AutoSVG-UI

> cd src/autosvg_ui/ && npm install
> npm run start 

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Abhas Tandon

💻

Prasoon

💻

This project follows the all-contributors specification. Contributions of any kind welcome!