Smart Segments: Krita plugin that adds Segment Anything object selection using

3 months ago 2

AI-Powered Intelligent Segmentation Plugin

 MIT Python Krita

Transform your digital art workflow with cutting-edge AI segmentation technology. Smart Segments leverages the power of SAM2 (Segment Anything Model 2) to provide intuitive, one-click object detection and selection in Krita.


  • 🧠 AI-Powered Segmentation - Advanced machine learning for precise object detection
  • 🎯 Interactive Selection - Click-to-select any object in your artwork
  • Real-time Preview - Instant visual feedback as you work
  • 🔧 Smart Tools Integration - Seamless integration with Krita's native tools
  • 🎨 Artist-Friendly - Designed by artists, for artists
  • 🚀 One-Click Setup - Automated installation and configuration
Requirement Version Notes
Krita 5.0+ APT version with Python support (not Snap)
Python 3.7+ System Python installation
PyQt5 Latest For Python-Krita bindings
Disk Space ~5GB For AI models and dependencies
RAM 4GB+ Recommended for optimal performance

Built and tested on Ubuntu 24.04 LTS, with potential cross-platform compatibility for:

  • 🐧 Linux (Ubuntu, Debian, Fedora, Arch)
  • 🪟 Windows 10/11
  • 🍎 macOS (experimental)

Ubuntu Development Dependencies

sudo apt install libgtk-4-dev libadwaita-1-dev git blueprint-compiler gettext libxml2-utils libgtk4-layer-shell-dev

Note: While developed on Ubuntu, the plugin architecture supports cross-platform deployment. Windows and macOS compatibility may require additional testing.

🎯 One-Command Setup (Recommended)

What this does:

  • ✅ Verifies Krita installation and Python support
  • ✅ Installs missing dependencies automatically
  • ✅ Creates development symlinks for live editing
  • ✅ Provides step-by-step activation guide
Click to expand manual installation steps

Step 1: Install Dependencies

sudo apt update && sudo apt install krita python3-pyqt5

Step 2: Link Plugin to Krita

# Create Krita plugin directory mkdir -p ~/.local/share/krita/pykrita # Create symbolic links for development ln -sf "$(pwd)/smart_segments" ~/.local/share/krita/pykrita/smart_segments ln -sf "$(pwd)/smart_segments.desktop" ~/.local/share/krita/pykrita/smart_segments.desktop

Step 3: Activate in Krita

  1. Launch Krita: krita
  2. Navigate to SettingsConfigure KritaPython Plugin Manager
  3. Enable "Smart Segments" plugin
  4. Restart Krita
  5. Access via ToolsSmart Segments

See Smart Segments in action with these screenshots from the development process:

Development Mode: The plugin uses symbolic links, so code changes are immediately available after restarting Krita.

Command Description Alternative
./dev-install.sh Install plugin (dev mode) -
./dev-uninstall.sh Remove plugin -
./dev-utils.sh help Show all utilities -
./dev-utils.sh bundle Create distribution python3 create_plugin_package.py
./dev-utils.sh test Run test suite cd tests && python3 run_tests.py
./dev-utils.sh clean Clean artifacts -
./dev-utils.sh version Show version -
📦 Smart Segments ├── 🎨 smart_segments/ # Main plugin source ├── 🧪 tests/ # Test suite ├── 📚 documents/ # Documentation ├── 🎁 resources/ # Icons and assets ├── 🔧 dev-*.sh # Development scripts └── 📋 create_plugin_package.py # Distribution builder
Component Location Type
Plugin Source smart_segments/ Directory
Plugin Installation ~/.local/share/krita/pykrita/smart_segments Symlink
Krita Logs ~/.local/share/krita/krita.log File
Krita Config ~/.local/share/krita/ Directory
Click for troubleshooting steps
  1. Verify Krita Version

    which krita # Should show: /usr/bin/krita
  2. Check Plugin Installation

    ls -la ~/.local/share/krita/pykrita/
  3. Monitor Krita Logs

    tail -f ~/.local/share/krita/krita.log
  4. Common Issues

    • ❌ Using Snap version of Krita (doesn't support Python plugins)
    • ❌ Missing PyQt5 bindings
    • ❌ Plugin not enabled in Python Plugin Manager

If you have the Snap version of Krita, you'll need to switch to the APT version:

# Remove snap version sudo snap remove krita # Install APT version with Python support sudo apt install krita python3-pyqt5
# System check ./dev-utils.sh version # Plugin verification ls -la ~/.local/share/krita/pykrita/smart_segments # Real-time log monitoring tail -f ~/.local/share/krita/krita.log

When you first launch Smart Segments, the Setup Wizard automatically handles everything:

🎯 Automated Setup Process

graph LR A[Launch Plugin] --> B[System Check] B --> C[Create Virtual Env] C --> D[Download AI Models] D --> E[Install Dependencies] E --> F[Test Segmentation] F --> G[Ready to Use! 🎉]
Loading Step Description Time Requirements
1️⃣ System Requirements Check ~5s -
2️⃣ Virtual Environment Creation ~30s Python 3.7+
3️⃣ AI Model Download (SAM2) ~5-10min Internet connection
4️⃣ Dependency Installation ~2-5min Internet connection
5️⃣ Test Segmentation ~30s -

📡 Internet Required: First setup requires internet connection for downloading AI models (~2-3GB)

💾 Dependencies (Auto-installed)

  • PyTorch - Deep learning framework
  • SAM2 Models - AI segmentation models
  • NumPy - Numerical computing
  • OpenCV - Computer vision utilities
  • Pillow - Image processing
  • Base Plugin: ~50MB
  • AI Models: ~2-3GB
  • Dependencies: ~1-2GB
  • Total: ~5GB

We welcome contributions! See our contributing guidelines for details.

This project is licensed under the MIT License - see the LICENSE file for details.

  • Krita Foundation - For the amazing open-source digital painting software
  • Meta AI - For the incredible SAM2 model
  • PyTorch Team - For the powerful deep learning framework

Read Entire Article