Foto / Illustration von Open-Source / CanvaRembg + PowerShell: So entfernst du Hintergründe batchweise mit lokaler KI
Veröffentlicht:Das Entfernen von Bildhintergründen kann zeitaufwendig sein – besonders, wenn du viele Bilder auf einmal bearbeiten möchtest. Ob für Produktbilder, Social-Media-Posts oder kreative Projekte, saubere Freisteller sparen Zeit und Nerven. In diesem Artikel zeige ich dir, wie du mit Rembg und PowerShell ganze Ordner voller Bilder automatisiert bearbeiten kannst. Außerdem erkläre ich, warum ich Rembg der Alternative LocalBG vorziehe.
Was ist Rembg?
Rembg ist ein Open-Source-Tool, das KI-basiert den Hintergrund von Bildern entfernt. Es basiert auf neuronalen Netzen, die trainiert wurden, Objekte im Vordergrund zu erkennen und den Hintergrund präzise zu löschen.
Die Vorteile von Rembg auf einen Blick:
- Open-Source & kostenlos – keine Lizenzgebühren.
- Cross-Platform – läuft auf Windows, macOS und Linux.
- Batch-fähig – kann ganze Ordner automatisiert verarbeiten.
- CLI und Python-Support – lässt sich einfach in Skripte integrieren.
- Transparente Ergebnisse – erzeugt saubere PNGs mit transparentem Hintergrund.
Rembg eignet sich hervorragend für Entwickler, Designer oder Hobby-Fotografen, die viele Bilder effizient freistellen möchten.
Warum Rembg statt LocalBG?
Viele Nutzer greifen auch zu LocalBG, einem weiteren Tool zum Entfernen von Hintergründen. Es gibt jedoch einige Gründe, warum Rembg oft die bessere Wahl ist:
- Keine Lizenzkosten: Rembg ist komplett kostenlos, während LocalBG in der kostenlosen Version eingeschränkte Funktionen bietet und für volle Features eine kostenpflichtige Lizenz erfordert.
- Flexibilität: Rembg bietet mehr Möglichkeiten zur Anpassung und Integration in eigene Skripte, während LocalBG eher auf eine benutzerfreundliche Oberfläche setzt.
Kurz gesagt: Wer volle Kontrolle über den Workflow haben möchte, ist mit Rembg besser bedient.
Vorbereitung: Installation von Rembg Docker
Wenn du Docker installiert hast, kannst du die Docker-Variante von Rembg nutzen. Sie ist besonders praktisch, weil du keine lokale Python-Installation brauchst. Ich nutze die Docker Version einfach um nicht nicht um virtuelle Umgebungen kümmern zu müssen. Docker ist einfach für mich die beste Lösung, um Rembg schnell und unkompliziert zum Laufen zu bringen.
Schritte:
Docker installieren
Lade Docker Desktop herunter und installiere es: https://www.docker.com/get-startedRembg Docker-Image testen
docker run -it --rm rembg/rembg -h
Du solltest eine Übersicht der CLI-Befehle sehen.
Automatisches Entfernen von Hintergründen mit PowerShell + Docker
Um viele Bilder auf einmal zu bearbeiten, bietet sich ein PowerShell-Skript an. Hierbei wird für jedes Bild ein Rembg-Docker-Container gestartet. Ich verwende dabei zwei verschiedene Modelle: isnet-general-use für allgemeine Fotos und u2net für detailliertere Freisteller. isnet-general-use ist aggressiver und entfernt mehr Hintergrund, während u2net feiner arbeitet und mehr Details erhält. So kannst du je nach Bildtyp das passende Ergebnis erzielen. Ich lasse beide Modelle laufen, um die Unterschiede zu sehen und das beste Ergebnis auszuwählen.
param (
[Parameter(Mandatory=$true)]
[string]$InputFolder,
[Parameter(Mandatory=$true)]
[string]$OutputFolder
)
# Prüfen ob Docker existiert
if (-not (Get-Command docker -ErrorAction SilentlyContinue)) {
Write-Error "Docker wurde nicht gefunden. Bitte installiere Docker Desktop."
exit 1
}
# Docker läuft?
docker info > $null 2>&1
if ($LASTEXITCODE -ne 0) {
Write-Error "Docker läuft nicht. Bitte starte Docker Desktop."
exit 1
}
# Absolute Pfade erzeugen
$InputFolder = (Resolve-Path $InputFolder).Path
if (-not (Test-Path $OutputFolder)) {
New-Item -ItemType Directory -Path $OutputFolder | Out-Null
}
$OutputFolder = (Resolve-Path $OutputFolder).Path
# Unterstützte Dateitypen
$extensions = @("*.jpg", "*.jpeg", "*.png", "*.webp")
foreach ($ext in $extensions) {
Get-ChildItem -Path $InputFolder -Filter $ext | ForEach-Object {
$fileName = $_.Name
$baseName = $_.BaseName
Write-Host "Verarbeite: $fileName"
# Windows-Pfade für Docker
$dockerInput = $InputFolder -replace '\\','/'
$dockerOutput = $OutputFolder -replace '\\','/'
# Version 1: isnet-general-use
docker run --rm --gpus all `
-v "${dockerInput}:/input" `
-v "${dockerOutput}:/output" `
danielgatis/rembg `
i -m isnet-general-use "/input/$fileName" "/output/${baseName}-1.png"
if ($LASTEXITCODE -eq 0) {
Write-Host "Version 1 fertig: ${baseName}-1.png" -ForegroundColor Green
} else {
Write-Host "Fehler bei Version 1: $fileName" -ForegroundColor Red
}
# Version 2: u2net
docker run --rm --gpus all `
-v "${dockerInput}:/input" `
-v "${dockerOutput}:/output" `
danielgatis/rembg `
i -m u2net "/input/$fileName" "/output/${baseName}-2.png"
if ($LASTEXITCODE -eq 0) {
Write-Host "Version 2 fertig: ${baseName}-2.png" -ForegroundColor Green
} else {
Write-Host "Fehler bei Version 2: $fileName" -ForegroundColor Red
}
}
}
Write-Host "Alle Bilder wurden verarbeitet."
Verwendung des Skripts
Speichere das Skript z. B. als remove-background-docker.ps1.
Dann führst du es so aus:
.\remove-background-docker.ps1 -InputFolder "C:\Bilder\Input" -OutputFolder "C:\Bilder\Output"
Das Skript durchsucht den Input-Ordner nach allen JPG-, JPEG-, PNG- und WEBP-Dateien, entfernt die Hintergründe via Rembg Docker-Container und speichert die Ergebnisse als PNGs im Output-Ordner.
Optional kannst du die Option -Recurse nutzen, um auch Unterordner zu verarbeiten:
Get-ChildItem -Path $InputFolder -Filter $ext -Recurse
Tipps für den Workflow
- PNG verwenden: Für transparente Hintergründe immer PNG als Ausgabeformat wählen.
- Original behalten: Speichere die Originalbilder in einem separaten Ordner, falls du später Änderungen brauchst.
- Batch-Größe beachten: Bei sehr vielen Bildern kann es sinnvoll sein, die Verarbeitung in Stapeln zu machen, um Systemressourcen zu schonen.
- GPU-Unterstützung: Mit Docker kannst du NVIDIA-GPU-Unterstützung aktivieren, um die Verarbeitung deutlich zu beschleunigen (Docker + NVIDIA Container Toolkit).
Beispiel: So schnell geht’s
Angenommen, du hast 200 Produktbilder in C:\Bilder\Input. Nach dem Start des Skripts werden alle Bilder automatisch freigestellt und in C:\Bilder\Output abgelegt. Jeder Schritt wird in der Konsole angezeigt, sodass du den Fortschritt verfolgen kannst.
Für Designer oder Online-Shop-Betreiber bedeutet das eine enorme Zeitersparnis.
Mit Rembg und PowerShell kannst du ganze Bildordner automatisiert freistellen – ohne teure Software oder manuelles Zuschneiden. Die Kombination aus Open-Source-KI und Skripting bietet dir:
Schnelligkeit Präzision Flexibilität Plattformunabhängigkeit
Verglichen mit Tools wie LocalBG hast du volle Kontrolle über den Workflow, kannst Batch-Prozesse automatisieren und musst dich nicht auf eingeschränkte Softwareversionen verlassen. Mit diesem Setup sparst du Stunden an manueller Arbeit und hast saubere, transparente Bilder sofort einsatzbereit – egal ob für Webshops, Social Media oder eigene kreative Projekte.
Ich nutze Rembg zum Beispiel um meine Bilder für Youtube-Thumbnails freizustellen. So kann ich schnell und einfach ansprechende Vorschaubilder erstellen, die mehr Aufmerksamkeit erregen. Probier es doch einfach mal aus!