Schärfekernel berechnen
Dieser Rechner wandelt einen einzelnen Schärfewert in die exakte 3x3-Faltungsmatrix einer gaußschen Unschärfemaske um.
Im Browser ausführen – kostenlos
Er eignet sich, wenn eine Bildbibliothek, ein Shader, eine Canvas-Pipeline oder ein eigener Prozessor konkrete Koeffizienten statt eines Schiebereglers erwartet. Das Ergebnis ist deterministisch, zur Erhaltung gleichmäßiger Helligkeit normiert und direkt in Programmcode übertragbar. Geben Sie eine endliche Stärke zwischen 0 und 5 ein, um Mittel-, Rand- und Eckgewichte zu prüfen, ohne ein Bild hochzuladen oder zu verarbeiten.
Vom Schärferegler zu konkreten Koeffizienten
Eine Benutzeroberfläche beschreibt die Schärfung häufig mit einem einzigen Regler, doch eine Faltungsfunktion benötigt neun als Matrix angeordnete Zahlen. Dieser Rechner verbindet beide Darstellungen. Ausgangspunkt ist der normierte gaußsche 3x3-Weichzeichnungskernel, dessen Zeilen proportional zu 1–2–1 sind. Daraus entsteht eine Unschärfemaske, indem das Originalsignal addiert und das mit der Stärke skalierte Weichzeichnungssignal subtrahiert wird. Kurz geschrieben lautet der Kernel (1 + strength)I − strength·G, wobei I die Identitätsmatrix und G den Gauß-Kernel bezeichnet. Die resultierende Matrix enthält gleiche Eckwerte, gleiche Kantenwerte und einen größeren Mittelwert. Bei Stärke null entspricht sie der Identität und lässt jedes Pixel unverändert. Mit zunehmender Stärke tragen benachbarte Pixel negativ bei, während das Mittelgewicht wächst. Dadurch wird der lokale Kontrast an Konturen betont. Nach der stabilen Rundung beträgt die Koeffizientensumme weiterhin exakt eins. Eine vollkommen gleichmäßige Bildfläche behält deshalb ihren Gesamtpegel und wird nicht systematisch heller oder dunkler.
Die 3x3-Matrix lesen und anwenden
Das Ergebnis gibt den Kernel als drei Arrays in Zeilenreihenfolge aus. Richten Sie für jedes Ausgabepixel die Matrixmitte am betreffenden Pixel aus, multiplizieren Sie jeden Koeffizienten mit dem passenden Pixel der 3x3-Nachbarschaft und addieren Sie alle neun Produkte. Führen Sie diesen Vorgang für die Farbkanäle getrennt aus, sofern Ihr System keine reine Luminanzverarbeitung vorgibt. Die Randbehandlung gehört bewusst nicht zu dieser Schätzung, denn Faltungsbibliotheken bieten unterschiedliche Verfahren: Festhalten des nächsten Randpixels, Spiegeln des Bildes, zyklisches Fortsetzen der Koordinaten oder Auslassen unvollständiger Nachbarschaften. Diese Wahl kann das Aussehen am Bildrahmen verändern, nicht aber den Kernel selbst. Benötigt eine Bibliothek eine flache Liste, hängen Sie die ausgegebenen Zeilen von oben nach unten aneinander. Andere Werkzeuge berechnen eine Korrelation statt einer Faltung; wegen der Rotationssymmetrie dieses Kernels ergeben beide Richtungen dieselben Koeffizienten. `coefficient_sum` dient als Normierungsprüfung, während `size` die erwartete Dimension für programmatische Verbraucher bestätigt.
Eine sinnvolle Stärke wählen und die Grenze verstehen
Beginnen Sie mit einer mäßigen Stärke und beurteilen Sie das Resultat anhand repräsentativer Bilder, nicht nur anhand eines kontrastreichen Ausschnitts. Schärfung erhöht den lokalen Kontrast. Dadurch können echte Details klarer wirken, zugleich können aber Sensorrauschen, Kompressionsblöcke, Überschwinger und Halos stärker hervortreten. Der zulässige Bereich reicht einschließlich der Grenzen von 0 bis 5. Diese eindeutige Begrenzung erkennt versehentlich eingegebene Prozentwerte und andere Fehleingaben, bevor extreme Koeffizienten entstehen. Der Wert 1 kombiniert das Originalbild mit dem vollständigen Restsignal zwischen Quelle und gaußscher Weichzeichnung. Bruchwerte bewirken eine sanftere Korrektur, höhere Werte überzeichnen das Restsignal. Da die Berechnung kein Bild untersucht, kann sie keine ästhetisch optimale Einstellung empfehlen. Sie liefert ausschließlich den exakten mathematischen Kernel für den angeforderten Parameter. Dokumentieren Sie für reproduzierbare Abläufe zusätzlich Randbehandlung, Farbraum, Kanalstrategie sowie jede nach der Faltung ausgeführte Begrenzung oder Quantisierung. Solche Rahmenbedingungen erklären häufig sichtbare Unterschiede zwischen Werkzeugen mit derselben nominellen Schärfestärke.
Anwendungsfälle
Eine Bildbibliothek konfigurieren
Wandeln Sie eine verständliche Schärfestärke in die neun Koeffizienten einer allgemeinen Faltungsfunktion um.
Einen Shader- oder Canvas-Filter erstellen
Erzeugen Sie einen normierten Kernel für einen GPU-Shader, einen WebGL-Effekt oder eine Canvas-Verarbeitung.
Einen reproduzierbaren Bildablauf dokumentieren
Halten Sie die exakte Matrix einer Einstellung fest, damit eine andere Implementierung dieselbe mathematische Operation nachbilden kann.
Häufige Fragen
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Dieselbe deterministische Berechnung ist im Browser kostenlos verfügbar.
Welche Stärkewerte werden unterstützt?
Die Stärke muss eine endliche Zahl zwischen 0 und 5 einschließlich sein. Werte außerhalb dieses Bereichs führen zu einem Eingabefehler.
Was ergibt eine Stärke von null?
Sie ergibt den 3x3-Identitätskernel: Der mittlere Koeffizient ist 1, alle benachbarten Koeffizienten sind 0.
Warum ist die Summe der Koeffizienten eins?
Eine Summe von eins erhält konstante Bildbereiche und verhindert Helligkeitsänderungen, wenn alle benachbarten Pixel denselben Wert haben.
Schärft dieses Werkzeug mein Bild?
Nein. Es berechnet nur den Kernel. Wenden Sie die Matrix mit einer Bildbibliothek, Faltungsfunktion, einem Shader oder einem anderen Prozessor an.
Entspricht das jedem Schärferegler in Anwendungen?
Nicht unbedingt. Anwendungen können andere Radien, Schwellen, Farbräume, Randverfahren oder nichtlineare Prozesse verwenden. Dieses Ergebnis folgt der dokumentierten gaußschen 3x3-Unschärfemaskenformel.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/image/sharpen-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"strength":1}'const res = await fetch("https://api.kit.forhosting.com/image/sharpen-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"strength": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/sharpen-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"strength": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/sharpen-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"strength":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"strength":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/sharpen-estimate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"strength": 1
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.sharpen_estimate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_mb | 15 |
max_megapixels | 12 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |