This is a pure frontend implementation of the image to mesh workflow originally published here. The meshing part is done by gmsh that is compiled into webassembly. There is also an automatic background removal thanks to ONNX and the great u2netp hosted at rembg.
Click here for a live demo.
Requirements:
- node
- emscripten (follow the install instructions here)
- cmake
Steps for building:
Building the webassembly part of the app:
git clone https://github.com/lvk88/arc.git
cd arc
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE={path_to_emsdk}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake -DCMAKE_BUILD_TYPE=Release ../
make -j8 emarclib
Building the rest of the app:
cd www
npm i
npm run start
For some reason, the background removal produces different (in my opinion, worse) results on Firefox than on Chrome. If you have an idea why, you're welcome to open a PR :).