DE10196172B4 - Mehrpoliger Pinsel - Google Patents

Mehrpoliger Pinsel Download PDF

Info

Publication number
DE10196172B4
DE10196172B4 DE10196172T DE10196172T DE10196172B4 DE 10196172 B4 DE10196172 B4 DE 10196172B4 DE 10196172 T DE10196172 T DE 10196172T DE 10196172 T DE10196172 T DE 10196172T DE 10196172 B4 DE10196172 B4 DE 10196172B4
Authority
DE
Germany
Prior art keywords
mask
region
edge
brush
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE10196172T
Other languages
English (en)
Other versions
DE10196172T1 (de
Inventor
Gregg D. Pacific Palisades Wilensky
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE10196172T1 publication Critical patent/DE10196172T1/de
Application granted granted Critical
Publication of DE10196172B4 publication Critical patent/DE10196172B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Computerprogrammprodukt, das real auf einem von einer Maschine lesbaren Medium gespeichert ist, und Befehle umfasst, die ausgeführt werden können, um einen programmierbaren Prozessor zu veranlassen:
ein Bild anzuzeigen, das einen oder mehrere Kanäle aufweist;
einen Teil des Bildes in Erwiderung auf die Betätigung eines mehrpoligen Pinsels durch den Nutzer auszuwählen, wobei der Pinsel zwei oder mehr Regionen aufweist, wobei sich jede Region über einen bestimmten Teil der Pinselfläche erstreckt, wobei die Regionen eine erste Region, welche einem ersten Pol entspricht und eine zweite Region, welche einem zweiten Pol entspricht, der von dem ersten Pol verschieden ist, umfassen, wobei die erste und die zweite Region durch eine Linie trennbar sind, welche durch ein Zentrum der Pinselfläche läuft;
den Wert von einem oder mehreren der Kanäle zu erhöhen, welche durch die erste Region abgedeckt sind; und
den Wert von einem oder mehreren Kanälen zu erniedrigen, welche durch die...

Description

  • HINTERGRUND
  • Die vorliegende Erfindung bezieht sich auf auf einem Computer implementiertes Verfahren für das Modifizieren eines elektronischen Bildes.
  • Computermalprogramme ermöglichen es dem Nutzer, ein elektronisches Bild mit einem "Pinsel" auf dem Schirm, der durch eine Eingabevorrichtung, wie eine Maus, gesteuert wird, zu manipulieren. Der Nutzer kann typischerweise eine Auswahl aus einer Vielzahl von Pinselformen, wie einem Kreis, einem Quadrat oder einem einzigen Bildpunkt, treffen. Der Nutzer zieht den Pinsel entlang einer "Bewegungsbahn" von einem Ort zu einem anderen Ort innerhalb des Bildes, um somit eine "Hüllkurve" zu definieren. Bildpunkte innerhalb der Hüllkurve werden durch die Betätigung des Pinsels beeinflusst. Ein Typ eines Pinsels ermöglicht es einem Nutzer, Farben und Texturen in die Hüllkurve zu "malen". Der Malpinsel ersetzt die Bildpunkte in der Hüllkurve durch das Bild des Pinsels.
  • Oft ist es wünschenswert, ein Objekt aus seinem Hintergrund in einem elektronischen Bild, das hier als "Ursprungsbild" bezeichnet wird, zu extrahieren. Das Objekt kann in einem anderen Bild, das hier als "Zielbild (destination image)" bezeichnet wird, platziert werden. Eine Computeranwendung, die diese Extraktion erzielen kann, ist Adobe PhotoshopTM, das ein Werkzeug für die Objektextraktion einschließt. Werkzeuge für die Objektextraktion schaffen eine Maske, die den Grad anzeigt, bis zu dem jeder Bildpunkt im Bild mit dem Hintergrundobjekt oder dem Vordergrundobjekt verbunden ist. Bei einer 8-Bit-Maske zeigt ein Maskenwert von Null für einen Bildpunkt an, dass der Bildpunkt nur zum Hintergrund gehört, ein Maskenwert von 255 zeigt an, dass der Bildpunkt nur zum Objekt des Vordergrunds gehört. Bildpunkte, die Maskenwerte zwischen null und 255 aufweisen, gehören teilweise sowohl zum Objekt des Vordergrunds als auch zum Hintergrund. Bildpunkte, die sowohl zum Objekt des Vordergrunds als auch zum Hintergrund gehören, können beispielsweise dann auftreten, wenn die Ränder des Objekts in den Hintergrund übergehen.
  • Zusätzlich zur Maske können Werkzeuge für die Objektextraktion geänderte Farbwerte für Bildpunkte, die sowohl zum Objekt im Vordergrund als auch zum Hintergrund gehören, erzeugen. Diese neuen Farben, die man durch das Entfernen der Farbverschleppung (color contamination) erhält, stellen die eigenen Farbwerte des Objekts des Vordergrunds dar.
  • Werkzeuge zur Objektextraktion arbeiten gut mit Objekten, die einfache Ränder aufweisen, aber sie stoßen auf Schwierigkeiten, wenn sie mit Objekten konfrontiert werden, die komplexe Ränder aufweisen. Diese Schwierigkeiten ergeben sich durch das unerwünschte Erscheinen undurchsichtigen Bildpunkten (Bildpunkte mit hohem Maskenwert) in Regionen, die transparent sein sollten (niedrige Maskenwerte aufweisen sollten) als auch von transparenten Bildpunkten in Regionen, die undurchsichtig sein sollten. Diese Artefakte können durch das Berühren des sich ergebenden Bilds mit verschiedenen Farbpinseln und Löschvorrichtungen, die entweder auf das Bild, die Maske oder beide angewandt werden, fixiert werden. Normale Pinsel respektieren jedoch keine Maskenränder und können somit einen große Menge manueller Mühe erfordern, um einen nicht perfekten Maskenrand zu bereinigen. Sie bieten auch keine einfachen Vorrichtungen für das Formen und Schärfen von Rändern.
  • US-A 5,666,499 offenbart ein System mit einer graphischen Benutzeroberfläche, auf welcher Objekte angezeigt sind, wobei ein Benutzer auf die Objekte einwirken kann, indem er eine Primärvorrichtung, um einen Primärcursor zu steuern und eine Sekundärvorrichtung, um einen Sekundärcursor zu steuern, benutzt. Dabei benutzt der Benutzer seine dominante Hand, um die Werkzeuge, wie beispielsweise Farbpinsel etc., zu bedienen und die andere Hand, um die Werkzeugauswahl zu steuern.
  • US-A 5,506,946 offenbart ein Verfahren zum Modifizieren von Farben in einem Bild, welches auf dem Bildschirm eines Computers angezeigt wird. Das Verfahren umfasst das Auswählen von zumindest einem Pixel des Bildes und das Bestimmen der farbmetrischen Werte, die typisch für das Pixel sind und das Auswählen von zumindest einem zweiten Pixel und das Bestimmen der farbmetrischen Werte, die für das zweite Pixel typisch sind. Die farbmetrischen Werte können dann modifiziert werden, wobei eine automatische Farbtransformation verwendet wird und die Schattierung und Textur des Bildes erhalten bleibt.
  • US-A 5,999,190 offenbart eine Graphiksoftware zur Darstellung von Bildern auf einem Computerdisplay. Mittels der Software kann der Benutzer Objekte malen und manipulieren, indem er die dafür vorgesehenen Malwerkzeuge bedient. Die Bilddarstellungswerkzeuge werden aus einer Vielzahl von Werkzeugkomponenten definiert, wobei einige der Werkzeugkomponenten aus mehreren Unterkomponenten aufgebaut sind.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Im Allgemeinen zeigt gemäß einem Aspekt die Erfindung ein Verfahren und ein Computerprogrammprodukt für das Malen in einem Bild, das einen oder mehrere Kanäle aufweist. Es umfasst das Anzeigen eines Bildes, das einen oder mehrere Kanäle umfasst, Auswählen eines Teils des Bildes in Erwiderung auf die Betätigung eines mehrpoligen Pinsels durch den Nutzer, wobei der Pinsel zwei oder mehr Regionen aufweist, wobei sich jede Region über einen bestimmten Teil der Pinselfläche erstreckt, wobei die Regionen eine erste Region, welche einem ersten Pol entspricht und eine zweite Region, welche einem zweiten Pol entspricht, der von dem ersten Pol verschieden ist, umfassen, wobei die erste und die zweite Region durch eine Linie trennbar sind, welche durch ein Zentrum der Pinselfläche läuft; Erhöhen des Werts von einem oder mehreren der Kanäle, welche durch die erste Region abgedeckt sind; und Erniedrigen des Werts von einem oder mehreren Kanälen, welche durch die zweite Region abgedeckt sind.
  • Gemäß einem Ausführungsbeispiel ist ein Verfahren und ein Computerprogrammprodukt für das Manipulieren eines Randes in einem Bild vorgesehen. Es umfasst das Auswählen eines Teils des Bildes in Erwiderung auf die Manipulation eines Pinsels, der zwei oder mehr Regionen aufweist, wobei die Region einen Rand einschließt, durch den Nutzer, das Ausrichten des Pinssels, so dass eine erste Region auf einer ersten Seite des Rands und eine zweite Region auf einer zweiten Seite des Rands liegt, das Erzielen einer ersten Wirkung in dem Teil des Bilds, der durch die erste Region bedeckt ist, und das Erzielen einer zweiten Wirkung in dem Teil des Bildes, der durch die zweite Region bedeckt ist. Der Rand kann ein Rand einer Maske sein.
  • Spezielle Implementierungen können eines oder mehrere der folgenden Merkmale einschließen. Das Bild umfasst einen Maskenkanal, der die Maske definiert, und das Verfahren umfasst das Erzielen erster und zweiter Wirkungen auf dem Maskenkanal. Die erste Seite des Rands der Extraktionsmaske weist eine größere Deckfähigkeit als die zweite Seite des Rands der Extraktionsmaske auf, und das Verfahren umfasst das Erhöhen der Deckfähigkeit der Maske in der ersten Region und das Erniedrigen der Deckfähigkeit der Maske in der zweiten Region. Das Bild umfasst einen oder mehrere Farbkanäle, und das Ver fahren umfasst das Modifizieren der Farbwerte in einem oder mehreren der Farbkanäle. Das Bild umfasst ein Objekt, das aus einem Ursprungsbild extrahiert wurde, und das Verfahren umfasst das Ersetzen der Werte in den Farbkanälen, die durch die erste Region des Bildes bedeckt werden, durch eine Kombination der Werte aus den Farbkanälen im Bild und im Ursprungsbild.
  • Spezielle Implementierungen können auch das Detektieren eines Maskenrandes einschließen. Das Detektieren kann das Berechnen eines Winkels zwischen einer Bezugslinie und einer Senkrechten auf einen möglichen Rand, das Berechnen eines Versatzes (der kürzesten Distanz) zwischen einem Bezugspunkt und dem möglichen Rand, und das Berechnen eines Konfidenzmaßes, dass es sich beim möglichen Rand um einen Rand der Bildmaske handelt, umfassen. Das Berechnen eines Winkels kann das Erhalten des mittleren Moments erster Ordnung der Maske einschließen. Das Berechnen eines Winkels kann das Erhalten des mittleren Werts der Maske innerhalb des Teils einschließen. Das Berechnen eines Versatzes umfasst das Berechnen der kürzesten Distanz zwischen einem Bezugspunkt und dem möglichen Rand und es kann auch das Erhalten des mittleren Werts der Maske innerhalb des Teils einschließen. Das Berechnen eines Konfidenzmaßes umfasst das Erhalten des mittleren Werts der Maske innerhalb des Teils.
  • Im allgemeinen zeigt in einem Aspekt die Erfindung ein Verfahren und ein Computerprogrammprodukt für das Bewegen eines Maskenrandes einer Maske in einem Bild, wobei der Maskenrand eine Region größerer Deckfähigkeit von einer Region geringerer Deckfähigkeit trennt. Es umfasst das Auswählen eines Teils des Bildes in Erwiderung auf die Manipulation eines Pinsels, der zwei oder mehr Regionen umfasst, durch den Nutzer, wobei der Teil den Maskenrand einschließt, das Ausrichten des Pinsels so dass eine erste Pinselregion in der Region größerer Deckfähigkeit liegt, und so dass eine zweite Pinselregion in der Region geringerer Deckfähigkeit liegt, das Erhöhen der Deckfähigkeit der Maske in der ersten Region, und das Erniedrigen der Deckfähigkeit der Maske in der zweiten Region.
  • Spezielle Implementierungen können das Zentrieren des Pinsels in der Umgebung des Maskenrands und das Wiederholen der Schritte der Erhöhung und Erniedrigung umfassen, um somit den Maskenrand zu bewegen. Das Verfahren kann auch das Zentrieren des Pinsels auf dem Maskenrand und das Wiederholen der Schritte der Erhöhung und Erniedrigung umfassen, um somit den Maskenrand zu glätten.
  • Vorteile, die man bei der Implementierung der Erfindung sehen kann, umfassen folgendes. Komplexe Ränder extrahierter Objekte können schnell und einfach scharf gemacht werden. Komplexe Ränder können geglättet werden, um sauberere Ränder zu erzeugen, wobei die Glättung durch den Nutzer steuerbar ist. Buckel können aus den Rändern entfernt werden, wobei die Größe des Buckels durch die Größe des verwendeten Pinsels bestimmt wird. Ränder können durch das Bewegen der Randgrenze in einem lokalen Gebiet eingestellt werden.
  • Die Details einer oder mehrerer Ausführungsformen der Erfindung werden in den begleitenden Zeichnungen und der nachfolgenden Beschreibung angegeben. Andere Merkmale und Vorteile der Erfindung werden aus der Beschreibung, den Zeichnungen und den Ansprüchen deutlich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt einen zweipoligen Pinsel, der zwei Regionen aufweist, die als "Pole" bezeichnet werden.
  • 2 zeigt einen zweipoligen Pinsel, der einen positiven Pol und einen negativen Pol einschließt.
  • 3 zeigt ein Verfahren für das Extrahieren eines Objekts.
  • 4 ist ein Flussdiagramm eines Verfahrens für das Malen eines Bildes.
  • 5 zeigt einen zweipoligen Pinsel, der über einem Maskenrand in einem Bild angeordnet ist.
  • 6 zeigt die Wirkung der Reduzierung von Auslenkungen des Maskenrands innerhalb der Pole des Pinsels.
  • 7 ist ein Flussdiagramm eines Verfahrens für das Detektieren eines Rands.
  • 8 zeigt einen Pinselzeiger, der ein Bildmerkmal beinhaltet, das als "möglicher Rand" bezeichnet wird und einen Rand darstellen kann.
  • Gleiche Bezugszahlen und Bezeichnungen in den verschiedenen Zeichnungen bezeichnen gleiche Elemente.
  • DETAILLIERTE BESCHREIBUNG
  • Wie in 1 gezeigt ist, so umfasst ein zweipoliger Pinsel 102 zwei Regionen, die als "Pole" 104 und 106 bezeichnet werden. Die Pole sind als Ellipsoide gezeigt, aber sie können jede Form annehmen. Zusätzlich können die Pole einen Gradienten aufweisen, der bewirkt, dass die Wirkung eines Pols an seinem Zentrum stärker und an seinen Kanten schwächer ist. Beispielsweise kann ein Gauß'scher Gradient verwendet werden.
  • Der Pol 104 erzielt eine Wirkung, und der Pol 106 erzielt eine andere Wirkung. Beispielsweise könnte der negative Pol eine Gauß'sche Unschärfe erzielen, und der positive Pol könnte keine Wirkung zeigen, oder der positive Pol könnte eine Schärfungsoperation erzielen. Ein solcher Pinsel könnte verwendet werden, um Ränder von Objekten, die zu scharf sind, unschärfer zu machen. Alternativ könnte der negative Pol eine Verschiebung des Farbtons zu einer gewünschten Farbe, sagen wir mal Rot, hin, durchführen, während der positive Pol eine Verschiebung hin zu einer anderen Farbe oder zur selben Farbe aber mit einer anderen Größe der Verschiebung durchführen könnte. Ein solcher Pinsel könnte verwendet werden, um Farbartefakte an Objekträndern zu korrigieren, oder einfach, um interessierende künstlerische Wirkungen zu produzieren. Solche künstlerischen Wirkungen können erhalten werden, wenn der negative Pol einen Stil des Malens anwendet, und wenn der positive Pol einen anderen Stil anwendet. Die sich unterscheidenden Stile können aus sich unterscheidenden Farbübergangsmoden, Farben, Farbtönen, Farbsättigung und sogar der Anwendung unterschiedlich gefärbter Pinsel bestehen. Beispielsweise wendet der "Art History Brush" in Photoshop 5.5 und 6.0 mehrere Pinselfarbstriche, die von einem gegebenen Ort eines Bildpunktes starten, an. Die Striche können in einen Bereich von stilistischen Parametern variiert werden. Solche Striche können mit einem Satz von Parametern durch den negativen Pol und einem anderen Satz von Parametern durch den positiven Pol aufgebracht werden. Natürlich kann der Pinsel 102 mehr als zwei Pole aufweisen.
  • Der zweipolige Pinsel weist eine positive Polregion und eine negative Polregion auf. Zwischen den beiden Regionen besteht eine Abstufung der Werte zwischen positiv und negativ. Dies führt zu Werten, die entlang einer Linie, die durch das Zentrum des Pinsels hindurch geht und die beiden Pole trennt, null sind. Im allgemeinen wird sich eine solche Linie zwischen irgend welchen zwei Polen entgegengesetzter Polarität ergeben, obwohl es sich nicht notwendigerweise um eine gerade Linie handeln muss. Beim zweipoligen Pinsel ist diese Linie ohne Änderung für das Bereinigen leicht ausgefranster Ränder notwendig. Die Unschärfe oder kleine Mängel im Rand bleiben an der Linie ungeändert und ändern sich nur leicht nahe der Linie. Dadurch können unscharfe Ränder beibehalten werden. Alternativ wird ein wiederholtes Darüberfahren mit dem Pinsel die Unschärfe auch entfernen.
  • Andere Implementierungen zeigten Pinsel, die komplexer als der zweipolige Pinsel sind. Im Prinzip kann der Pinsel eine beliebige Anzahl Pole sowohl des positiven als auch des negativen Typs umfassen. Die Form der Regionsgrenze jedes Pols ist beliebig, und die Stärke des Pinsels, wie sie durch eine Funktion, Mehrpolfunktion(x,y) der Pinselkoordinaten x und y bestimmt wird, ist in jeder Region beliebig. Beispielsweise liefert ein Pinsel mit drei negativen Polen, die in drei von vier Quadranten eines Rechtecks angeordnet sind (oben links, oben rechts, unten links) und einem positiven Pol, der im verbleibenden Quadranten (unten rechts) angeordnet ist, einen Mechanismus, um eine Maskenecke zu bereinigen.
  • Ein Pol kann mehr als eine Wirkung erzielen. Beispielsweise kann ein Pol eine Wirkung auf einem Maskierungskanal und eine andere Wirkung auf einem Farbkanal zeigen. Ein Pinsel, der so einen Pol aufweist, kann beispielsweise verwendet werden, um den Rand eines Objekts zu bereinigen, während die Farbe des Objekts heller gemacht wird.
  • Wie in 2 gezeigt ist, so umfasst ein zweipoliger Pinsel 202 einen positiven Pol 204 und einen negativen Pol 206. Der positive Pol fügt Farbe zu einem Bild hinzu, und der negative Pol entfernt Farbe von einem Bild. Ein Bild kann einen oder mehrere Farbkanäle aufweisen. Beispielsweise weist ein RGB-Bild drei Farbkanäle auf: rot, grün und blau. Für jeden Bildpunkt im Bild weist jeder Farbkanal einen Farbwert auf. Beispielsweise können sich bei einem 8-Bit-Farbkanal die Farbwerte im Bereich zwischen 0 und 255 bewegen. Der zweipolige Pinsel 202 fügt Farbe zu einem Bild hinzu, indem er die Farbwerte in einem oder mehreren der Farbkanäle in dem Teil des Bildes, das vom positiven Pol 204 überfahren wird, erhöht. Der zweipolige Pinsel 202 entfernt Farbe aus einem Bild, indem der die Farbwerte in einem oder mehreren der Farbkanäle in dem Teil des Bildes, das vom negativen Pol 206 überfahren wird, erniedrigt.
  • Der zweipolige Pinsel kann verwendet werden, um einen Rand in einem Bild zu schärfen oder zu bewegen. Ein Rand in einem Bild wird durch eine Diskontinuität in den Werten innerhalb eines oder mehrerer Kanäle im Bild definiert. Beispielsweise haben bei einem Bild, das ein rotes scheibenförmiges Objekt enthält, Bildpunkte innerhalb der Scheibe höhere Farbwerte im roten Farbkanal, und Bildpunkte außerhalb des Scheibenobjekts haben niedrigere Farbwerte im roten Farbkanal. Die Diskontinuität im roten Farbkanal zwischen den Bildpunkten innerhalb des Scheibenobjekts und den Bildpunkten außerhalb des Scheibenobjekts definiert den Rand des Scheibenobjekts.
  • Ein Nutzer kann einen Rand eines Objekts unter Verwendung des zweipoligen Pinsels überstreichen, wobei er den Pinsel so ausrichtet, dass der positive Pol innerhalb des Objekts und der negative Pol außerhalb des Objekts liegt. Wenn der Rand komplex ist, so kann der Nutzer den Rand so überstreichen, dass der Rand mitten zwischen den Polen des Pinsels liegt. Der Pinsel kann dann Farbe auf einer Seite des Rands hinzufü gen und er kann Farbe von der anderen Seite entfernen, um somit den Rand zu schärfen.
  • Wenn der Nutzer einen Rand bewegen will, wenn er beispielsweise ein Objekts vergrößern oder verkleinern will, so kann der Nutzer über den Rand so streichen, dass der Rand unterhalb eines der Pole liegt. Wenn sich der Rand unter dem negativen Pol befindet, so wird der Rand auf das Objekt hin wandern. Wenn der Rand unter dem positiven Pol liegt, so wird sich der Rand weg vom Objekt bewegen.
  • Zusätzlich zu einem oder mehreren Farbkanälen umfassen viele Bilder einen Maskenkanal, der ein oder mehrere Objekte definiert. Bildpunkte innerhalb eines Objekts haben einen hohen Maskenwert im Maskenkanal. Bildpunkte außerhalb eines Objekts haben einen niedrigen Maskenwert im Maskenkanal. Dazwischen liegende Maskenwerte im Maskenkanal bezeichnen den Grad, mit dem die Bildpunkte mit einem Objekt verbunden sind.
  • Das Schärfen eines Maskenrades ist insbesondere dann nützlich, wenn es auf die Zielmaske und ein Zielbild angewandt wird, das sich aus dem Extrahieren eines Objekts aus einem Ursprungsbild ergibt. Ein Verfahren zum Extrahieren eines Objekts ist in 3 gezeigt. Ein Ursprungsbild 302 umfasst ein Objekt 304 und einen Hintergrund 306. Der Hintergrund kann andere Objekte, wie einen Baum 308, enthalten. Das Objekt 304 weist eine Maske auf.
  • Ein Nutzer verwendet ein Verfahren 310 zur Extraktion eines Objekts, zum Extrahieren des Objekts 304. Beispielsweise kann das Extraktionsverfahren aus einer einfachen "Schneideoperation" bestehen, die aus einem Programm des graphischen Gewerbes, wie Adobe PhotoshopTM geliefert wird. Das extrahierte Objekt wird verwendet, um ein Zielbild 312 zu erzeugen. Beispielsweise kann der Nutzer einfach das extrahierte Objekt in ein neues Bild "einfügen". Alternativ kann das Extraktionsverfahren ein komplexeres Verfahren sein, wie es beispielsweise durch das Merkmal "Bildextrahierung (Image Extrakt)" von Adobe PhotoshopTM ausgeführt wird. In diesem Verfahren werden sowohl eine Zielmaske als auch ein Zielfarbenbild geschaffen, um Extraktionen möglicherweise unscharfer Objekte, wie solcher, die Haar und Pelz enthalten, zu erzeugen.
  • Das extrahierte Objekt kann einen komplexen Rand, wie er durch seine Maske definiert wird, haben. Beispielsweise kann der Maskenrand gezackt sein oder Lücken aufweisen. Ein solcher Rand kann durch ein unscharfes Objekt, wie Pelz oder Haar, erzeugt werden. Der zweipolige Pinsel kann verwendet werden, um den Rand zu bereinigen.
  • 4 ist ein Flussdiagramm eines Verfahrens 400 für das Malen eines Bildes. Ein Nutzer handhabt eine zweipoligen Pinsel. Im Erwiderung darauf wird ein Teil eines Bildes ausgewählt (Schritt 402). Das Verfahren 400 bestimmt, ob der ausgewählte Teil des Bildes (das ist der Teil des Bildes innerhalb des Pinselzeigers) einen Maskenrand einschließt (Schritt 404). Wenn dem nicht so ist, so kehrt das Verfahren zum Schritt 402 zurück. Ein Verfahren für das Detektieren eines Randes wird nachfolgend detailliert beschrieben.
  • 5 zeigt einen zweipoligen Pinsel 502, der über einem Maskenrand 508 in einem Bild angeordnet ist. Der Maskenrand 508 ist gezackt und erstreckt sich sowohl innerhalb des positiven Pols 504 als auch des negativen Pols 506 des Pinsels 502. Damit der Pinsel beim Bereinigen eines Randes am wirksamsten funktioniert, sollte er mit dem Rand ausgerichtet werden. Das Verfahren richtet den Pinsel so aus, dass der positive Pol 504 innerhalb des dichteren Teils des Maske (der Teil, der das Objekt darstellt) liegt, und so, dass der negative Pol 506 außerhalb des dichteren Teils (innerhalb des we niger dichten Teils, der die Region außerhalb des Objekts darstellt) liegt (Schritt 406). Das Verfahren richtet den Pinsel automatisch auf den Rand aus. Wenn der Pinsel passend auf den Rand ausgerichtet ist, so ändert sich der Zeiger, um die Ausrichtung anzuzeigen. Beispielsweise kann der Zeiger ein Paar Fadenkreuze, die mit dem Rand ausgerichtet sind, zeigen. Wahlweise kann das Verfahren den Pinsel über dem Maskenrand zentrieren.
  • Das Verfahren erhöht die Deckfähigkeitswerte im Maskenkanal nahe dem positiven Pol des Pinsels (Schritt 408). Das Verfahren erniedrigt auch die Deckfähigkeitswerte im Maskenkanal nahe dem negativen Pol des Pinsels (Schritt 410). Beispielsweise hat dies Operation die Wirkung, dass Auslenkungen des Maskenrands innerhalb der Pole des Pinsels reduziert werden, wie dies in 6 gezeigt ist.
  • Wenn die Maske wächst, so füllt das Verfahren auch das neue Gebiet der Maske mit Farbe, indem es die Farbwerte in den Farbkanälen des Bildes nahe dem positiven Pol des Pinsels modifiziert (Schritt 412). Die Farbe, die verwendet wird, um einen Bildpunkt zu füllen, ist eine Kombination der Farbe des Bildpunktes im Zielbild und der Farbe des entsprechenden Bildpunkts im Ursprungsbild. Die Teile der Ursprungsfarbe und der Zielfarbe, die verwendet werden, werden gemäß dem Deckfähigkeitswert im Maskenkanal für den Bildpunkt bestimmt.
  • Die Farbe eines Bildpunkts werde als ein Vektor C beschrieben. Für ein RGB-Bild ist C = (r,g,b), wobei r, g und b die Farbwerte in den roten, grünen und blauen Farbkanälen für den Bildpunkt, der durch C beschrieben wird, darstellen. Dann ist die neue Farbe Cd' eines Zielbildpunktes gegeben durch Cd' = hCs + (1 – h)Cd wobei Cd die aktuelle Farbe des Zielbildpunkts ist, Cs die Farbe des entsprechenden ursprünglichen Bildpunkts ist, und h bestimmt wird zu h = ad + ½(1 – ad)2 wobei ad der Deckfähigkeitswert im Maskenkanal für den Bildpunkt geteilt durch die Anzahl der möglichen Deckfähigkeitswerte minus eins ist. Beispielsweise ist bei einem 8-Bit-Maskenkanal die Anzahl der möglichen Deckfähigkeitswerte minus eins 256 – 1 = 255.
  • 7 ist ein Flussdiagramm für ein Verfahren 700 für das Detektieren eines Rands. 8 zeigt einen Pinselzeiger 802 über einem Bildmerkmal, das als "möglicher Rand" 804 bezeichnet wird, wobei es sich um einen Rand handeln kann. Zuerst definiert das Verfahren einen Bezugspunkt 806 und eine Bezugslinie 808. Der Bezugspunkt kann das Zentrum eines runden Pinsels sein. Die Bezugslinie kann eine horizontale Linie, die durch das Zentrum eines runden Pinsels hindurch geht, sein.
  • Das Verfahren berechnet einen Winkel 810 zwischen der Bezugslinie und einer Senkrechten 812 zum möglichen Rand (Schritt 702). In einer Implementierung wird ein Näherungsverfahren der kleinsten Quadrate verwendet, um die mittlere Differenz zwischen dem mittleren Maskierungswert und einem einfachen Modell des Maskierungswerts zu minimieren. Es wird angenommen, dass die Bildintensität des Modells einen linearen Gradienten darstellt, der gegeben ist durch: mask(x,y) = m(x,y) = m0 + gradient × ((nx × x) + (ny × y))wobei m0 eine Konstante ist, die den mittleren Wert der Maskierungsintensität unter der Pinselfläche darstellt, nx und ny Komponenten eines zweidimensionalen Einheitsvektors, der rechtwinklig zum Rand zeigt, sind, und gradient eine Kon stante ist, die die Schärfe des Übergangs über der Pinselfläche kennzeichnet.
  • Mit diesem vereinfachte Modell kann der Winkel 810, Theta, als Theta = pi/2 + atan(–ny/nx) berechnet werden, wobei nx = N × [<mx> – <m><x>] ny = N × [<my> – <m><y>] N = 1/√((<mx> – <m><x>)2 + (<my> – <m><y>)2)
  • Das Symbol <..> bezeichnet einen Mittelwert der Pinselfläche, und m ist der Maskierungsintensitätswert am Ort x, y, gegeben durch m = m(x,y)
    wobei dieser einen der Werte von 0 bis zur Anzahl der Deckfähigkeitswerte minus eins annimmt. Beispielsweise ist für eine 8-Bit-Maske die Anzahl der Deckfähigkeitswerte minus ein 256 – 1 = 255, und m kann Werte aufweisen, die von 0 bis 255 gehen. mx ist das Produkt des Maskierungsintensitätswerts mit der x Koordinate und ist gegeben durch m = m(x,y) × xmy ist das Produkt des Maskierungsintensitätswerts mit der y-Koordinate und ist gegeben durch m = m(x,y) × y
  • Die Mittelwerte von mx und my, die mit <mx> beziehungsweise <my> bezeichnet sind, werden als die ersten Momente der Maskierungsintensität bezeichnet.
  • Das Verfahren berechnet den Versatz 814 zwischen dem Bezugspunkt und dem möglichen Rand (Schritt 704). Der Versatz kann die kürzeste Distanz zwischen dem Bezugspunkt und dem möglichen Rand sein. In einer Implementierung wird der Versatz durch das Erhalten des mittleren Moments erster Ordnung der Maske erhalten.
  • Der Versatz des Rands gegenüber dem Zentrum des Pinsels kann aus der mittleren Maskendichte unter dem Pinsel, <m>, bestimmt werden. Ein passender Ausdruck ist: Versatz/Pinselradius = pi/2 delta + (8 – 2pi) delta3 wobei delta = <m> – 1/2 und der Pinselradius der Radius des kreisförmigen Pinsels ist.
  • Das Verfahren berechnet ein Konfidenzmaß, dass der mögliche Rand ein Rand der Bildmaske ist (Schritt 706). Das Konfidenzmaß wird durch das Berechnen des mittleren Werts der Maske innerhalb des Teils des Bildes, der durch den Pinsel ausgewählt wurde, erhalten.
  • Das Verfahren vergleicht das Konfidenzmaß mit einem vorbestimmten Grenzwert (Schritt 708). Wenn das Konfidenzmaß den vorbestimmten Grenzwert überschreitet, dann hat das Verfahren einen Rand detektiert (Schritt 710). Wenn dem nicht so ist, so wurde kein Rand detektiert (Schritt 712).
  • In einer Implementierung wird das Konfidenzmaß durch den Prozentsatz, mit dem der Pinselzeiger durch die Maske belegt wird, bestimmt. Dieser Bruchteil f ist gegeben durch f = <m>
  • Wenn die Maske einen zu geringen Teil des Pinselzeigers belegt, oder wenn sie zu viel des Pinselzeigers belegt, so wurde kein Rand detektiert (die Konfidenz, dass ein Rand vorhanden ist, wird in diesem Fall als null betrachtet). Ansonsten kann angenommen werden, dass die Konfidenz 1,0 (100%) beträgt. In dieser Implementierung wird der Maskenbruchteil f mit zwei vorbestimmten Grenzwerten verglichen. Wenn beispielsweise die Maske weniger als 90% aber mehr als 10% des Pinselzeigers belegt, dann wurde ein Rand detektiert, und der mögliche Rand ist ein tatsächlicher Rand. In dieser Situation kann die logische Formel, die die Konfidenzwerte erzeugt, zusammengefasst werden als:
    Wenn (f > 0,10 und f < 0,90)
    dann
    Konfidenz = 1,0
    sonst
    Konfidenz = 0,0
  • Wenn das Verfahren einen Rand mit hoher Konfidenz detektiert hat, so werden sein Ort und seine Ausrichtung durch den Versatz und den Winkel, die vom Verfahren berechnet wurden, gegeben. Natürlich können andere Verfahren verwendet werden, um einen Rand zu detektieren. Wenn man einen Rand mit hoher Konfidenz lokalisiert hat, so wird die Pinselwirkung auf die Maske und/oder das Bild angewandt.
  • Wenn gefunden wird, dass die Konfidenz niedrig ist, so modifiziert der Pinsel die Maske oder die Bildfarben in einer Implementierung nicht, wie das durch die Option "Nein" in 4 beschrieben ist (Schritt 404). In einer alternativen Implementierung ändert der Pinsel in dieser Situation die Maske oder die Bildfarben und wirkt als ein normaler, nicht ausgerichteter Pinsel. Beispielsweise kann der Pinsel in dieser Situation als ein einpoliger Pinsel wirken, wobei ein einziger Pol zentral um das Zentrum des Pinsels angeordnet ist, und er kann die Maskenwerte in den Regionen mit einem hohen Maskenwert erhöhen, und er kann die Maskenwerte in Regionen mit niedrigem Maskenwert erniedrigen.
  • Das Pinselprofil werde durch eine Funktion B(x,y) bezeichnet. Diese Funktion wird positive Werte in Regionen, die den positiven Polen des Pinsels entsprechen, und negative Werte in den Regionen, die den negativen Polen des Pinsels entsprechen, aufweisen. Der Pinsel hat keine Wirkung, wenn sein Wert B(x,y) = 0 ist. Insbesondere wird ein kreisförmiger Pinsel Werte B(x,y) = 0 aufweisen, immer wenn die Koordinaten (x,y) außerhalb des Radius des Pinsels liegen. B(x,y) = 0 wenn (x – xZentrum)2 + (y – yZentrum)2 > Pinselradius2 wobei (xZentrum, yZentrum) die Koordinaten des Zentrums des kreisförmigen Pinsels sind.
  • Wenn die gewünschte Wirkung des mehrpoligen Pinsels darin besteht, die Maskenintensität zu ändern, dann modifiziert jede Anwendung des Pinsels den Maskenwert m(x,y) um eine Größe, die proportional zur Pinselfunktion B(x,y) ist. Zuerst wird der Pinsel auf den Rand ausgerichtet und entweder am Rand oder am Zentrum des Pinsels zentriert. Die Ausrichtung umfasst das Drehen der Pinselprofilfunktion B(x,y) um den berechneten Winkel Theta. Das Zentrieren umfasst das Verschieben dieser Funktion um den berechneten Versatzwert, wenn die Option der Zentrierung am Rand gewünscht wird. Dann wird der Maskenwert durch einen neuen Wert ersetzt, gemäß: Neuer Wert von m(x,y) = alter Wert von m(x,y) + B(x,y) × DruckWenn (Neuer Wert von m(x,y) > 255), dann neuer Wert von m(x,y) = 255 (für eine 8-Bit Maske)
    Wenn (Neuer Wert von m(x,y) < 0), dann neuer Wert von m(x,Y) = 0,
    wobei "Druck" eine Konstante ist, die die Stärke der Pinselwirkung bestimmt. Typische Werte für den "Druck" liegen zwischen 0 und 20.
  • Die Erfindung kann in einer digitalen elektronischen Schaltung oder in Computerhardware, Firmware, Software oder in Kombinationen daraus implementiert werden. Die Vorrichtung der Erfindung kann in einem Computerprogrammprodukt, das real in einer von einer Maschine lesbaren Speichervorrichtung für eine Ausführung durch einen programmierbaren Prozessor ver körpert ist, implementiert werden, und die Verfahrensschritte der Erfindung können durch einen programmierbaren Prozessor, der ein Programm von Befehlen ausführt, um die Funktionen der Erfindung durch einen Betrieb mit Eingabedaten und das Erzeugen von Ausgabedaten durchzuführen, ausgebildet werden. Die Erfindung kann vorteilhafterweise in einem oder in mehreren Computerprogrammen, die auf einem programmierbaren System ausführbar sind, das mindestens einen programmierbaren Prozessor, der so geschaltet ist, dass er Daten und Befehle aus einem Datenspeichersystem, empfangen und Daten und Befehle an dieses senden kann, mindestens eine Eingabevorrichtung und mindestens eine Ausgabevorrichtung einschließt. Jedes Computerprogramm kann in einer Prozedur- oder Objekt-orientierten Programmiersprache hohen Niveaus oder in einem Assembler oder einer Maschinensprache, sofern dies gewünscht wird, implementiert werden, wobei es sich in jedem Fall bei der Sprache um eine kompilierte oder interpretierbare Sprache handeln kann. Geeignete Prozessor umfassen beispielsweise allgemeine und spezielle Mikroprozessoren. Im allgemeinen wird ein Prozessor Befehle und Daten von einem Nur-Lese-Speicher und/oder einem Speicher mit wahlfreiem Zugriff empfangen. Im allgemeinen wird ein Computer eine oder mehrere Massenspeichervorrichtungen für das Speichern von Dateien aufweisen, wobei solche Vorrichtungen Magnetplatten, wie interne Festplatten und austauschbare Platten, magnetisch-optische Platten und optische Platten einschließen. Speichervorrichtungen, die für die reelle Verkörperung von Computerprogrammbefehlen und Daten geeignet sind, umfassen alle Formen nicht flüchtiger Speicher, wobei diese beispielsweise Halbleiterspeichervorrichtungen, wie EPROM, EEPROM und Flash-Speichervorrichtungen, Magnetplatten, wie interne Festplatten und austauschbare Platten, magnetisch-optische Platten und CD-ROMs einschließen. Jede der vorangehenden Vorrichtungen kann durch ASICs (kundenspezifische integrierte Schaltungen) ergänzt oder in diese eingefügt werden.
  • Um eine Interaktion mit dem Nutzer zu liefern, kann die Erfindung auf einem Computersystem, das eine Anzeigevorrichtung, wie einen Monitor oder einen LCD-Schirm, um dem Nutzer Information anzuzeigen, und eine Tastatur und eine Zeigevorrichtung, wie eine Maus oder einen Trackball, mit dem der Nutzer eine Eingabe an das Computersystem vornehmen kann, umfasst, implementiert werden. Das Computersystem kann programmiert werden, um eine graphische Nutzerschnittstelle bereit zu stellen, durch die die Computerprogramme mit den Nutzern interagieren.
  • Die Erfindung wurde anhand spezieller Ausführungsformen beschrieben. Andere Ausführungsformen liegen im Umfang der folgenden Ansprüche. Beispielsweise können die Schritte der Erfindung in einer anderen Reihenfolge durchgeführt werden und dennoch wünschenswerte Ergebnisse erzielen.
  • Als anderes Beispiel kann die Pinselform variiert werden, indem die Anzahl und die Platzierung der Pole geändert wird. Eine Form B(x,y) für einen zweipoligen Pinsel ist gegeben durch: B(x,y) = Formfaktor(r) × Mehrpolfunktion(x,y)wobei r = √((x – xZentrum)2 – (y – yZentrum)2)wobei (xZentrum, yZentrum) die Koordinate des Zentrums des Pinsels ist. Für einen kreisförmigen Pinsel werden beispielhafte Funktionen gegeben durch:
    Formfaktor(r) = 1 wenn (r < Pinselradius) und ansonsten 0, und Mehrpolfunktion(x,y) = x1 × abs(x1) × Gauß(r)wobei Gauß(r) = e(rxr/(0,6 Pinselradius × 0,6 Pinselradius))
  • Wenn Theta der Winkel der Normalen auf den Rand ist (ein Wert von 0 Rad wird anzeigen, dass bei einem vertikalen Rand, dessen Übergang von undurchsichtig nach transparent von links nach rechts geht, die Senkrechte auf den Rand nach rechts zeigt und die Winkel im Uhrzeigersinn zunehmen), dann ist x1 = x cos(Theta) – y sin(Theta), wobei x und y Koordinaten entlang der Bildachsen x beziehungsweise y sind. Wenn eine elektrische Ladungsverteilung in Ausdrücken von Polen verschiedener Ordnung erweitert werden kann (einpolig, zweipolig, vierpolig etc.) können verschiedene Pinsel höherer Ordnung durch das Nachahmen dieser Ladungsverteilungen gestaltet werden. Eine andere analytische Formel für die Pinselform kann man aus den normalen mechanischen Mengenlösungen für die Elektronenverteilung in einem Atom, wenn diese auf zwei Dimensionen abgebildet werden, erhalten. Die volle dreidimensionale Form der Verteilung kann für dreidimensionale Pinsel verwendet werden, die verwendet werden können, um ein dreidimensionales Bild zu modifizieren. Natürlich sind andere Variationen möglich.
  • In der oben beschriebenen Implementierung wird eine kreisförmige Pinselform verwendet. Die kreisförmige Form ist eine, in der die Wirkung der Anwendung des Pinsels außerhalb eines Kreises (wobei der Radius gleich dem Pinselradius ist), der um das Zentrum des Pinsels zentriert ist, verschwindet. Die Pinselform wird durch das Verschwinden der Pinselfunktion B(x,y) außerhalb des Kreises, wie er durch den Pinselformfaktor festgelegt wird, bestimmt. Dies ist für viele Anwendungen eine geeignete Form. Es ist aber nichts Einzigartiges an einer kreisförmigen Form. Andere Formen des Pinsels können verwendet werden. Beispielsweise könnte die Pinselform quadratisch, rechteckig oder elliptisch sein. Der Pinsel muss auch keine symmetrische Form aufweisen. Tatsächlich könnte der Pinsel eine beliebige Form seiner Begrenzung aufweisen. Wenn künstlerische Wirkungen auf den Rand eines Objekts im Bild angewandt werden sollen, so kann eine komplexe Form eine wünschenswertere künstlerische Wirkung erzeugen.
  • Zusätzlich zum Formfaktor, der den Pinsel begrenzt, so dass er außerhalb einer spezifischen Form verschwindet, wird die Pinselfunktion B(x,y) auch durch die Mehrpolfunktion(x,y) bestimmt. Diese bestimmt die Stärke und die Polarität der Regionen innerhalb des Pinsels. Regionen mit einer positiven Polarität weisen eine Mehrpolfunktion(x,y) von größer als null auf und sie führen zu einem Hinzufügen von Maskenwerten (oder anderen Kanalwerten), während Regionen mit einer negativen Polarität eine Mehrpolfunktion(x,y) von kleiner als null aufweisen, und zu einer Subtraktion von Maskenwerten (oder anderen Kanalwerten) führen.

Claims (40)

  1. Computerprogrammprodukt, das real auf einem von einer Maschine lesbaren Medium gespeichert ist, und Befehle umfasst, die ausgeführt werden können, um einen programmierbaren Prozessor zu veranlassen: ein Bild anzuzeigen, das einen oder mehrere Kanäle aufweist; einen Teil des Bildes in Erwiderung auf die Betätigung eines mehrpoligen Pinsels durch den Nutzer auszuwählen, wobei der Pinsel zwei oder mehr Regionen aufweist, wobei sich jede Region über einen bestimmten Teil der Pinselfläche erstreckt, wobei die Regionen eine erste Region, welche einem ersten Pol entspricht und eine zweite Region, welche einem zweiten Pol entspricht, der von dem ersten Pol verschieden ist, umfassen, wobei die erste und die zweite Region durch eine Linie trennbar sind, welche durch ein Zentrum der Pinselfläche läuft; den Wert von einem oder mehreren der Kanäle zu erhöhen, welche durch die erste Region abgedeckt sind; und den Wert von einem oder mehreren Kanälen zu erniedrigen, welche durch die zweite Region abgedeckt sind.
  2. Produkt nach Anspruch 1, wobei: eine erste Wirkung die Kanalwerte in einem oder mehreren Kanälen erhöht; und eine zweite Wirkung die Kanalwerte in einem oder mehreren Kanälen erniedrigt.
  3. Produkt nach Anspruch 1, wobei es weiter Befehle umfasst, um: auf eine Auswahl des Nutzers für einen Teil des Bildes, der einen Rand einschließt, zu antworten, indem der mehrpolige Pinsel automatisch so ausgerichtet wird, dass die erste Region auf einer ersten Seite des Rands liegt, und dass die zweite Region auf einer zweiten Seite des Rands liegt.
  4. Produkt nach Anspruch 3, wobei der Rand ein Rand einer Maske ist.
  5. Produkt nach Anspruch 4, wobei das Bild einen Maskenkanal, der die Maske definiert, umfasst, und Befehle umfasst, um: die ersten und zweiten Wirkungen auf dem Maskenkanal zu erzielen.
  6. Produkt nach Anspruch 5, wobei die erste Seite des Maskenrands eine größere Deckfähigkeit als die zweite Seite des Maskenrands aufweist, wobei es weiter Befehle umfasst, um: die Deckfähigkeit der Maske in der ersten Region zu erhöhen; und die Deckfähigkeit der Maske in der zweiten Region zu erniedrigen.
  7. Produkt nach Anspruch 6, wobei das Bild einen oder mehrere Farbkanäle einschließt, wobei es weiter Befehle umfasst, um: die Farbwerte in einem oder mehreren der Farbkanäle zu modifizieren.
  8. Produkt nach Anspruch 7, wobei das Bild ein Objekt, das aus einem Ursprungsbild extrahiert wurde, einschließt, wobei es weiter Befehle umfasst, um: die Werte in den Farbkanälen des Bildes, die durch die erste Region bedeckt werden, durch eine Kombination der Werte aus den Farbkanälen im Bild und im Ursprungsbild zu ersetzen.
  9. Produkt nach Anspruch 4, wobei es weiter Befehle enthält, um: den Maskenrand zu detektieren.
  10. Produkt nach Anspruch 9, wobei die Befehle für die Detektion Befehle umfassen, um: einen Winkel zwischen einer Bezugslinie und einer Senkrechten auf einen möglichen Rand zu berechnen; einen Versatz zwischen einem Bezugspunkt und dem möglichen Rand zu berechnen; und ein Konfidenzmaß dafür, dass der mögliche Rand ein Rand der Bildmaske ist, zu berechnen.
  11. Produkt nach Anspruch 10, wobei die Befehle, um einen Winkel zu berechnen, Befehle umfassen, um: das mittlere Moment erster Ordnung der Maske zu erhalten.
  12. Produkt nach Anspruch 10, wobei die Befehle, um einen Winkel zu berechnen, Befehle umfassen, um: den mittleren Wert der Maske innerhalb des Teils zu erhalten.
  13. Produkt nach Anspruch 10, wobei die Befehle, um einen Versatz zu berechnen, Befehle umfassen, um: eine kürzeste Distanz zwischen einem Bezugspunkt und dem möglichen Rand zu berechnen.
  14. Produkt nach Anspruch 13, wobei die Befehle, um einen Versatz zu berechnen, weiter Befehle umfassen, um: einen mittleren Wert der Maske in dem Teil zu erhalten.
  15. Produkt nach Anspruch 10, wobei die Befehle, um ein Konfidenzmaß zu berechnen, Befehle umfassen, um: einen mittleren Wert der Maske innerhalb des Teils zu erhalten.
  16. Produkt nach Anspruch 1, wobei die Regionen eine dritte und eine vierte Region umfassen, wobei es weiter Befehle umfasst, um: eine dritte Wirkung in dem Teil des Bilds, der durch die dritte Region bedeckt ist, durchzuführen; und eine vierte Wirkung in dem Teil des Bildes, der durch die vierte Region bedeckt ist, durchzuführen.
  17. Produkt nach Anspruch 16, wobei es weiter Befehle umfasst, um: auf die Auswahl eines Nutzers für einen Teil des Bildes, der eine Ecke einer Maske einschließt, zu antworten, indem der mehrpolige Pinsel so ausgerichtet wird, dass die erste Region auf der Innenseite der Ecke liegt, und die zweiten, dritten und vierten Regionen auf der Außenseite der Ecke liegen.
  18. Produkt nach Anspruch 17, wobei die dritten und vierten Wirkungen identisch der zweiten Wirkung und anders als die erste Wirkung sind.
  19. Produkt nach Anspruch 1, wobei es weiter Befehle umfasst, um: eine Kombination der ersten und zweiten Wirkungen in dem Teil des Bildes, der zwischen der ersten Region und der zweiten Region liegt, zu erzielen.
  20. Produkt nach Anspruch 19, wobei die Intensitäten der ersten und zweiten Wirkungen mit der Distanz zur ersten Region beziehungsweise zur zweiten Region abnehmen.
  21. Verfahren für das Editieren eines Bildes, umfassend: Anzeigen eines Bildes, das einen oder mehrere Kanäle aufweist; Auswählen eines Teils des Bildes in Erwiderung auf die Manipulation des mehrpoligen Pinsels, wobei der Pinsel zwei oder mehr Regionen aufweist, wobei sich jede Region über einen bestimmten Teil der Pinselfläche erstreckt, wobei die Regionen eine erste Region, welche einem ersten Pol entspricht und eine zweite Region, welche einem zweiten Pol entspricht, der von dem ersten Pol verschieden ist, umfassen, wobei die erste und die zweite Region durch eine Linie trennbar sind, welche durch ein Zentrum der Pinselfläche läuft; Erhöhen des Werts von einem oder mehreren der Kanäle, welche durch die erste Region abgedeckt sind; und Erniedrigen des Werts von einem oder mehreren Kanäle, welche durch die zweite Region abgedeckt sind.
  22. Verfahren nach Anspruch 21, wobei das Erzielen einer ersten Wirkung umfasst: Erhöhen der Kanalwerte in einem oder mehreren Kanälen; und das Erzielen einer zweiten Wirkung umfasst: Erniedrigen der Kanalwerte in einem oder mehreren Kanälen.
  23. Verfahren nach Anspruch 21, weitere umfassend: Antworten auf eine Auswahl des Nutzers für einen Teil des Bildes, der einen Rand einschließt, indem der mehrpolige Pinsel automatisch so ausgerichtet wird, dass die erste Region auf einer ersten Seite des Rands liegt, und dass die zweite Region auf einer zweiten Seite des Rands liegt.
  24. Verfahren nach Anspruch 23, wobei der Rand ein Rand einer Maske ist.
  25. Verfahren nach Anspruch 24, wobei das Bild einen Maskenkanal, der die Maske definiert, umfasst, und wobei es weiter umfasst: Erzielen der ersten und zweiten Wirkungen auf dem Maskenkanal.
  26. Verfahren nach Anspruch 25, wobei die erste Seite des Maskenrands eine größere Deckfähigkeit als die zweite Seite des Maskenrands aufweist, weiter Befehle umfassend: Erhöhen der Deckfähigkeit der Maske in der ersten Region; und Erniedrigen der Deckfähigkeit der Maske in der zweiten Region.
  27. Verfahren nach Anspruch 26, wobei das Bild einen oder mehrere Farbkanäle einschließt, weiter umfassend: Modifizieren der Farbwerte in einem oder mehreren der Farbkanäle.
  28. Verfahren nach Anspruch 27, wobei das Bild ein Objekt, das aus einem Ursprungsbild extrahiert wurde, einschließt, weiter umfassend: Ersetzen der Werte in den Farbkanälen des Bildes, die durch die erste Region bedeckt werden, durch eine Kombination der Werte aus den Farbkanälen im Bild und im Ursprungsbild.
  29. Verfahren nach Anspruch 24, wobei es weiter das Detektieren des Maskenrands umfasst.
  30. Verfahren nach Anspruch 29, wobei der Schritt der Detektion weiter umfasst: Berechnen eines Winkels zwischen einer Bezugslinie und einer Senkrechten auf einen möglichen Rand; Berechnen eines Versatzes zwischen einem Bezugspunkt und dem möglichen Rand; und Berechnen eines Konfidenzmaßes dafür, dass der mögliche Rand ein Rand der Bildmaske ist.
  31. Verfahren nach Anspruch 30, wobei der Schritt der Berechnung eines Winkels weiter umfasst: Erhalten des mittleren Moments erster Ordnung der Maske.
  32. Verfahren nach Anspruch 30, wobei der Schritt der Berechnung eines Winkels weiter umfasst: Erhalten des mittleren Werts der Maske innerhalb des Teils.
  33. Verfahren nach Anspruch 30, wobei der Schritt der Berechnung eines Versatzes umfasst: Berechnen einer kürzesten Distanz zwischen einem Bezugspunkt und dem möglichen Rand.
  34. Verfahren nach Anspruch 33, wobei der Schritt der Berechnung eines Versatzes weiter umfasst: Erhalten eines mittleren Werts der Maske in dem Teil.
  35. Verfahren nach Anspruch 30, wobei der Schritt der Berechnung eines Konfidenzmaßes umfasst: Erhalten eines mittleren Werts der Maske innerhalb des Teils.
  36. Verfahren nach Anspruch 21, wobei die Regionen eine dritte und eine vierte Region umfassen, weiter umfassend: Erzielen einer dritten Wirkung in dem Teil des Bilds, der durch die dritte Region bedeckt ist; und Erzielen einer vierten Wirkung in dem Teil des Bildes, der durch die vierte Region bedeckt ist.
  37. Verfahren nach Anspruch 36, weiter umfassend: Antworten auf die Auswahl eines Nutzers für einen Teil des Bildes, der eine Ecke einer Maske einschließt, indem der mehrpolige Pinsel so ausgerichtet wird, dass die erste Region auf der Innenseite der Ecke liegt, und die zweiten, dritten und vierten Regionen auf der Außenseite der Ecke liegen.
  38. Verfahren nach Anspruch 37, wobei die dritten und vierten Wirkungen identisch der zweiten Wirkung und anders als die erste Wirkung sind.
  39. Verfahren nach Anspruch 21, weiter umfassend: Erzielen einer Kombination der ersten und zweiten Wirkungen in dem Teil des Bildes, der zwischen der ersten Region und der zweiten Region liegt.
  40. Verfahren nach Anspruch 39, wobei die Intensitäten der ersten und zweiten Wirkungen mit der Distanz zur ersten Region beziehungsweise zur zweiten Region abnehmen.
DE10196172T 2000-05-10 2001-05-10 Mehrpoliger Pinsel Expired - Lifetime DE10196172B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/568,623 US6456297B1 (en) 2000-05-10 2000-05-10 Multipole brushing
US09/568,623 2000-05-10
PCT/US2001/015398 WO2001086595A1 (en) 2000-05-10 2001-05-10 Multi-pole brush

Publications (2)

Publication Number Publication Date
DE10196172T1 DE10196172T1 (de) 2003-06-18
DE10196172B4 true DE10196172B4 (de) 2006-06-29

Family

ID=24272037

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10196172T Expired - Lifetime DE10196172B4 (de) 2000-05-10 2001-05-10 Mehrpoliger Pinsel

Country Status (3)

Country Link
US (1) US6456297B1 (de)
DE (1) DE10196172B4 (de)
WO (1) WO2001086595A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6870550B1 (en) * 1999-04-26 2005-03-22 Adobe Systems Incorporated Digital Painting
US6888539B2 (en) * 2002-08-27 2005-05-03 General Electric Company Business methods and hardware to implement same
US20040196282A1 (en) * 2003-02-14 2004-10-07 Oh Byong Mok Modeling and editing image panoramas
US7327374B2 (en) * 2003-04-30 2008-02-05 Byong Mok Oh Structure-preserving clone brush
US20060053374A1 (en) * 2004-09-07 2006-03-09 Adobe Systems Incorporated Localization of activity with respect to digital data
US7593603B1 (en) 2004-11-30 2009-09-22 Adobe Systems Incorporated Multi-behavior image correction tool
US7602405B2 (en) * 2006-03-17 2009-10-13 Microsoft Corporation Multiple brush components
US8004536B2 (en) * 2006-12-01 2011-08-23 Adobe Systems Incorporated Coherent image selection and modification
US8175409B1 (en) 2006-12-01 2012-05-08 Adobe Systems Incorporated Coherent image selection and modification
US9355469B2 (en) 2009-01-09 2016-05-31 Adobe Systems Incorporated Mode-based graphical editing
US8406566B1 (en) * 2010-05-27 2013-03-26 Adobe Systems Incorporated Methods and apparatus for soft edge masking
US8749572B2 (en) * 2010-05-28 2014-06-10 Adobe Systems Incorporated System and method for simulation of brush-based painting in a color space that includes a fill channel
US11049289B2 (en) 2019-01-10 2021-06-29 General Electric Company Systems and methods to semi-automatically segment a 3D medical image using a real-time edge-aware brush

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506946A (en) * 1991-10-01 1996-04-09 Electronics For Imaging, Inc. Selective color correction
US5666499A (en) * 1995-08-04 1997-09-09 Silicon Graphics, Inc. Clickaround tool-based graphical interface with two cursors
US5999190A (en) * 1997-04-04 1999-12-07 Avid Technology, Inc. Computer imaging using graphics components

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4954970A (en) * 1988-04-08 1990-09-04 Walker James T Video overlay image processing apparatus
GB9002477D0 (en) * 1990-02-05 1990-04-04 Crosfield Electronics Ltd Improvements relating to control data arrays
JPH06507743A (ja) * 1991-05-21 1994-09-01 ケンブリッジ アニメーション システムズ リミテッド 画像合成及び処理
US5828379A (en) * 1997-02-12 1998-10-27 Eastman Kodak Company Computer program product for generating a soft edge on a digital mask

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506946A (en) * 1991-10-01 1996-04-09 Electronics For Imaging, Inc. Selective color correction
US5666499A (en) * 1995-08-04 1997-09-09 Silicon Graphics, Inc. Clickaround tool-based graphical interface with two cursors
US5999190A (en) * 1997-04-04 1999-12-07 Avid Technology, Inc. Computer imaging using graphics components

Also Published As

Publication number Publication date
US6456297B1 (en) 2002-09-24
WO2001086595A1 (en) 2001-11-15
DE10196172T1 (de) 2003-06-18

Similar Documents

Publication Publication Date Title
DE60132278T2 (de) Rauschverminderungsverfahren unter Verwendung von Farbinformationen, einer Vorrichtung und eines Programms zur Digital-Bildverarbeitung
DE10196172B4 (de) Mehrpoliger Pinsel
DE69128548T2 (de) Verbesserungen in Steuerdatenfeldern von Bildelementen
DE102019008221A1 (de) Interaktives Bildmattieren unter Verwendung neuronaler Netze
DE60225296T2 (de) Allzweckbildverbesserungsalgorithmus, der details in digitalbildern visuell besser erkennbar macht
DE60320178T2 (de) Verfahren und System zur Verbesserung von Portraitbildern
DE69624311T2 (de) Verfahren zur Berechnung von Farbtonbereichen
DE60030798T2 (de) Identifizierung von eigentlichen Pixelfarben im Bereich mit unsicheren Pixeln
DE69725809T2 (de) Anpassungsschichten für die Manipulation von zusammengesetzten Bildern
DE60017600T2 (de) Digitales bilderzeugungsverfahren
DE69029403T2 (de) Verfahren und vorrichtung zur autoadaptiven einblendung von farbvideobildern
DE69310293T2 (de) Umscharte Maske mit Farbtabelle
DE69734694T2 (de) Automatisches Bildbeschneiden
DE60009644T2 (de) Farbtonumsetzung unter Verwendung lokaler Information
DE3148116C2 (de)
DE69719164T2 (de) Verfahren und Gerät zur Änderung von Bildern in Rechnersystemen
DE69029136T2 (de) Gerät und verfahren zum transformieren eines digitalisierten bildsignals
DE10319094B4 (de) Verfahren und Vorrichtung zum Zuordnen einer Bildverbesserung zu einer Farbe
DE69826044T2 (de) Vektorkartenplanarisierung und -einfang
EP1316057B1 (de) Auswerten von kantenrichtungsinformation
DE10311711A1 (de) Farbjustierverfahren, Farbjustiervorrichtung, Vorrichtung zur Editierung einer Farbkonversionsdefinition, Bildverarbeitungsvorrichtung, Programm und Speichermedium
DE10319118A1 (de) Verfahren und Vorrichtung zur Parametrisierten Schärfung und Glättung
DE102015009820A1 (de) Bildsegmentierung für eine Kamera-Liveeinspielung
DE10246102A1 (de) Verfahren und Vorrichtung zum Filtern von Rauschen von einem digatalen Bild
DE69216244T2 (de) Vorrichtung zum erzeugen von aliasfreien anzeigebildern mit halo

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
R081 Change of applicant/patentee

Owner name: ADOBE INC., SAN JOSE, US

Free format text: FORMER OWNER: ADOBE SYSTEMS, INC., SAN JOSE, CALIF., US

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R071 Expiry of right