A simple python addon for blender using spectral clustering to segment meshes. Uses numpy and scipy for matrix calculations. Developed as a project for the spectral-clustering course of University Bremen. Based on the paper "Segmentation of 3D Meshes through Spectral Clustering" by Rong Liu and Hao Zhang (https://doi.org/10.1109/PCCGA.2004.1348360).
- Install scipy in the Python installation that is used by Blender. On Linux this should usually be the system Python, so simply installing scipy with your package manager should work. On Windows there will usually be a separate Python installation coming with Blender, so it's a bit more tricky. Perhaps the simplest way is to open a command prompt or power shell with admin rights, navigate to "YOUR_BLENDER_PATH/python/bin" and run
./python -m ensurepip
followed by./python -m pip install scipy
- Download "mesh_segmentation.zip" for the version you need from the Release page.
- Open Blender, go to "Edit -> Preferences -> Add-ons" and click on "Install...". Select the "mesh_segmentation.zip" archive that you just downloaded.
- In the list, search for "Mesh Segmentation" and activate the add-on by ticking the box at the right.
Make sure you have "Developer Extras" enabled ("Edit -> Preferences -> Interface -> Developer Extra") so that the addon operator can be found in the menu search (F3). Now you can select an object in the 3D viewport, hit F3 and search for "Segment Mesh". Clicking on that entry shows the addon in a popup.
You can find more examples in the example-results folder.