-
Die vorliegende Erfindung bezieht
sich allgemein auf eine Digitalbildverarbeitung und insbesondere auf
ein System und ein Verfahren zum Manipulieren eines schräggestellten
digitalen Bildes.
-
Bis vor kurzem war eine Echtzeitbearbeitung
digitaler Bilder nur auf teuren Hochleistungscomputerarbeitsplatzrechnern
mit einer zweckgebundenen Spezialhardware machbar. Der Fortschritt
der integrierten Schaltungstechnologie in den letzten Jahren hat
Mikroprozessoren mit einer wesentlich verbesserten Verarbeitungsleistung
erzeugt und die Kosten eines Speichers reduziert. Diese Entwicklungen
haben es machbar gemacht, Bildbearbeitungstechniken in Personalcomputer
zu implementieren.
-
Eine Software mit einer graphischen
Benutzerschnittstelle (GUI) zum Auswählen und Bearbeiten eines digital
erzeugten Bildes auf eine Anzahl von Weisen ist kommerziell verfügbar. Um
z. B, einen Abschnitt des Bildes „auszuschneiden" oder zu löschen, kann
der Benutzer eine Maus verwenden, um einen Bereich des Bildes auszuwählen, indem
er den linken Mausknopf drückt,
während
sich der Bildschirm-„Cursor" auf einer Ecke des
Bildes befindet, die gelöscht
werden soll, indem er den Bildschirm-„Cursor" mit der Maus zu einer anderen Ecke
zieht, wodurch ein Abschnitt des Bildes oder das gesamte Bild umrissen
ist. Einige andere Bildeditoren machen es einem Bediener möglich, mehrere
Punkte einzugeben, die ein Vieleck definieren, das mehr als vier
Seiten aufweist. Bildverarbeitungsalgorithmen werden dann selektiv über die
dem Vieleck zugeordneten Pixel angewendet.
-
Unabhängig von der Form der ausgewählten Region
stellt der Benutzer, sobald derselbe eine Region des Bildes definiert
hat, den „Schnitt" durch entweder ein
Auswählen
des „Ausschneiden"-Befehls von einem Aufklappmenü (unter
Verwendung seiner Maus und/oder einer Tastatur) oder alternativ
durch ein Verwenden seiner Maus, um einen GUI-„Ausschneiden"-Knopf oder ein -Icon auszuwählen und
zu aktivieren, fertig. In jedem Fall wird eine bekannte Bildbearbeitungssoftware
aufgerufen, die die „Ausschneiden"-Operation durchführt, was
dazu führt,
daß das
ursprüngliche
Bild durch ein bearbeitetes Bild ersetzt wird, das einen ausgelöschten Bereich
aufweist, der durch die Grenzen der Region, die so ausgewählt wurde,
eingeschlossen ist.
-
Wenn ein Scanner bzw. eine Abtastvorrichtung
ein Quellenobjekt (d. h. eine Photographie oder ein Textdokument)
scannt bzw. abtastet, wird üblicherweise
ein digitales Bild des ursprünglichen
Quellenobjektes erzeugt. Das digitale Bild wird oft als ein Raster-
oder Bittabellenbild gespeichert. Das Raster- oder Bittabellenbild
wird üblicherweise
in einem Digitalbildverarbeitungssystem durch ein rechteckiges Gitter
aus Pixeln dargestellt, wobei das Pixel eine grundlegende diskrete
Einheit zum Definieren von Bittabellenbildern ist und einen definierten
Ort und eine Farbwert aufweist. Ein 24-Bit-Digitalbildsystem kann
durch drei Kanäle
definiert sein, die Rot (R) , Grün
(G) und Blau (B) aufweisen, wobei jeder Farbkanal acht Bits Informationen
mit einem Bereich von 0 bis 255 enthält.
-
Digital gespeicherte Bilder können während des
Scan- bzw. Abtastprozesses schräggestellt
werden, der das Quellenobjekt (z. B. ein Dokument oder eine Photographie)
in Binärinformationen
umwandelt, die durch ein Bilderzeugungssystem und/oder ein Computersystem
verarbeitet werden können.
Das Bittabellenbild wird schräggestellt,
wenn das Quellenobjekt vor der Scanoperation hinsichtlich der Scannerplatte
schräggestellt
ist oder durch eine automatische Seitenzuführungsvorrichtung fehlausgerichtet
ist. Eine weitere Wei se, auf die das Bittabellenbild unter Umständen hinsichtlich
des Gitters aus Pixeln schräggestellt
sein kann, ist, wenn das ursprüngliche
Bild hinsichtlich des Papiers schräggestellt ist. Dies kann auftreten,
wenn das Bild photokopiert ist und die Kopie als das Quellenobjekt
verwendet wird (d. h. die schräggestellte
Kopie wird gescannt). Ein Bild, das während des Photokopierprozesses
schräggestellt
wird, bleibt nach einem Scannen unter der Annahme schräggestellt,
daß die
kopierte Quelle korrekt mit der Scannerplatte ausgerichtet ist und
die Platte und der Bildsensor ausgerichtet sind.
-
Wenn ein erfaßtes digitales Bild des Quellenobjektes
innerhalb des gesamten Scanbildes schräggestellt oder rotiert wird
(d. h. innerhalb des gesamten digitalen Bildes, das von dem Scanner
erhalten wird), umfaßt
das erfaßte
digitale Bild üblicherweise
ein Bild des Quelleninhaltes (d. h. der Photographie oder des Texts eines
Dokumentes) sowie Fremdinformationen (z. B. ein Bild der Unterseite
einer Abdeckung von einem Flachbettscanner). Allgemein sind Bildrechtecke,
die durch eine Bilderfassungssoftware gebildet sind, mit der Absicht
konfiguriert, alle Quelleninformationen innerhalb der Grenzen des
Bildrechtecks zu erfassen. Wenn die Quelle schräggestellt ist (d. h. hinsichtlich
des rechteckigen Gitters fehlausgerichtet), enthalten die Ränder des digital
gespeicherten Bildrechtecks allgemein dreieckige grenzen von Hintergrundinformationen.
-
Die Hintergrundinformationen werden
eingeführt,
da typische Scanner die gesamte verfügbare Scanregion unabhängig von
der Größe und der
Ausrichtung des Quellenobjektes auf der Scannerplatte überqueren. Das
resultierende Bittabellenbild umfaßt sowohl ein Bild des Quellenobjektes
als auch Fremdhintergrundpixel. Diese Fremdhintergrundinformationen
sind in dem erfaßten
digitalen Bild enthalten, wenn die Größe der Quelle relativ klein
im Vergleich zu der Scanregion des Scanners ist. Allgemein braucht
oder wünscht
ein Bediener des Bilderzeugungssystems die Hintergrundpixel nicht.
Fer ner sind die Fremdhintergrundinformationen unansehnlich und erhöhen die
Datenspeicherkapazität,
die erforderlich ist, um die Bilddaten zu verarbeiten und dauerhaft
zu behalten. Die Fremdhintergrundinformationen in dem Bildrechteck
beeinflussen nicht nur den Bearbeitungsdurchsatz unkomprimierter
Bilddaten, sondern viele häufig
verwendete Datenkomprimierungsalgorithmen handhaben Diskontinuitäten, wie
z. B. diejenigen, die zwischen der Grenze einer gescannten Photographie
und den Fremdhintergrundinformationen zu erwarten sind, nicht effizient.
Es ist bekannt, daß wesentliche
Datenspeichereinsparungen durch ein Entfernen von Diskontinuitäten aus
Regionen in einem digitalen Bild vor einem Komprimieren der digitalen
Informationen realisiert werden können.
-
Frühere Techniken wurden entwickelt,
um zu versuchen, schräggestellte
Bilder zu erfassen und zu korrigieren. Das US-Patent Nr. 4,941,189
mit dem Titel „Optical
Character Reader with Skew Recognition", ausgegeben am 10. Juli 1990 beschreibt
z. B. eine Schrägstellungskorrekturtechnik,
die nach Textzeichen entlang einer Scanlinie sucht. Ein weiteres
Beispiel, das US-Patent Nr. 5,452,374 mit dem Titel „Skew Detection and
Correction of a Document Image Representation", ausgegeben am 19. September 1995,
beschreibt eine weitere Technik, die das Scanbild in Text- und Nicht-Text-Regionen segmentiert
und dann die Schrägstellung aus
der resultierenden Segmentierung bestimmt. Diese Techniken sind
nicht ausreichend, um schräggestellte Bilder
gescannter Photographien zu erfassen und zu korrigieren. Zusätzlich ist
es üblicherweise,
da Photographien eine Vielzahl von Größen und Formen aufweisen können, schwierig,
die Hintergrundinformationen aus dem gescannten Bild einer Photographie
zu schneiden.
-
Mehrere Techniken wurden vorgeschlagen,
die die Schrägstellung
eines gescannten Bildes erfassen, ohne daß das Vorliegen von Text in
dem gescannten Bild benötigt
wird. Eine derartige Technik ist in dem US-Patent Nr. 5,093,653
mit dem Titel „Image
Processing System Having Skew Correction Means", ausgegeben am 3. März 1992 beschrieben. Eine weitere
derartige Technik ist in dem US-Patent Nr. 4,533,959 mit dem Titel „Picture
Processing Apparatus",
ausgegeben am 6. August 1985 beschrieben. Diese Techniken erfordern jedoch
entweder ein menschliches Eingreifen (z. B. US-Patent Nr. 5,093,653)
oder spezielle Schrägstellungserfassungsmarkierungen
auf dem Originaldokument (z. B. US-Patent Nr. 4,533,959).
-
Verbesserungen an den in dem US-Patent
Nr. 5,093,653 und dem US-Patent Nr. 4,533,959 beschriebenen Techniken
sind in dem US-Patent Nr. 6,310,984 mit dem Titel „Image
Processing System With Image Cropping and Skew Correction", ausgegeben am 30.
Oktober 2001 und dem US-Patent Nr. 6,360,026 mit dem Titel „Method
for Determining a Skew Angle of a Bitmap Image and Deskewing and
Auto-Cropping the Bitmap Image",
ausgegeben am 19. März
2002 beschrieben. Diese Ansätze
zum Entfernen der Hintergrundinformationen aus dem gescannten Bild
sind rechnungstechnisch aufwendig und resultieren oft in einem nicht
mehr schrägen
bzw. entschrägten
Bild mit verminderter Qualität.
-
Es ist die Aufgabe der vorliegenden
Erfindung, ein Bildverarbeitungssystem, ein Verfahren oder ein computerlesbares
Medium zu schaffen, die eine genaue Bearbeitung gescannter Objekte
benutzerfreundlicher machen.
-
Diese Aufgabe wird durch ein Bildverarbeitungssystem
gemäß Anspruch
1 oder 20, ein Verfahren gemäß Anspruch
7 oder ein computerlesbares Medium gemäß Anspruch 15 gelöst.
-
Ein Ausführungsbeispiel eines Systems
weist eine Bilderfassungsvorrichtung, die konfiguriert ist, um eine
Darstellung eines Quellenobjektes zu erzeugen, wobei die Darstellung
eine Mehrzahl von Pixeln aufweist, einen Prozessor, der kommunikativ
mit der Bilderfassungsvorrichtung gekoppelt ist, und ein Speicherelement auf,
das mit dem Prozessor ge koppelt ist, wobei das Speicherelement eine
Logik, die konfiguriert ist, um zu bestimmen, wann das Quellenobjekt
in der Darstellung schräggestellt
ist, und eine Logik, die konfiguriert ist, um die Grenzen eines
orthogonalen Abschnitts der Darstellung ansprechend auf die Logik
zu identifizieren, die konfiguriert ist, um zu bestimmen, wobei
der orthogonale Abschnitt unveränderte
Pixel aufweist, die Informationen enthalten, die dem Quellenobjekt
entsprechen, aufweist.
-
Ein Ausführungsbeispiel eines Verfahrens
weist ein Erfassen einer Darstellung eines Quellenobjektes, wobei
die Darstellung durch eine Mehrzahl von Pixeln gebildet ist, ein
Identifizieren der Scheitelpunkte des Quellenobjektes in der Darstellung,
ein Bestimmen, ob die Darstellung schräggestellt ist, ein Berechnen
eines Schrägstellungswinkels
ansprechend auf ein Bestimmen, daß die Darstellung schräggestellt
ist, und ein Ableiten der Grenzen des größten orthogonalen Abschnittes
der Darstellung, der unveränderte
Pixel aufweist, die dem Quellenobjekt entsprechen, auf.
-
Bevorzugte Ausführungsbeispiele der vorliegenden
Erfindung werden nachfolgend Bezug nehmend auf die beigefügten Zeichnungen
näher erläutert, wobei
Komponenten in den Zeichnungen nicht notwendigerweise maßstabsgetreu
sind, wobei statt dessen eine klare Darstellung der Prinzipien der
vorliegenden Erfindung hervorgehoben wird, und wobei gleiche Bezugszeichen
in den mehreren Ansichten entsprechende Teile bezeichnen. Es zeigen:
-
1 ein
schematisches Diagramm eines Ausführungsbeispiels eines Bilderfassungs-
und Verbesserungssystems;
-
2 ein
Blockdiagramm, das ein Ausführungsbeispiel
des Allzweckcomputers aus 1 darstellt;
-
3 ein
Funktionsblockdiagramm, das ein Ausführungsbeispiel der Bildverbesserungsvorrichtung aus 2 darstellt;
-
4A und 4B schematische Darstellungen
eines Beispielbildes einer Photographie, die durch das Bilderfassungs-
und Verbesserungssystem aus 1 erfaßt ist;
-
5A und 5B schematische Darstellungen
des Bildes der Photographie der 4A und 4B mit Indizien von Parametern,
die verwendet werden können,
um Koordinaten zum Beschneiden eines Bildes zu bestimmen; und
-
6 ein
Flußdiagramm,
das ein Ausführungsbeispiel
eines repräsentativen
Verfahrens zum Manipulieren eines gescannten Bildes darstellt, das
durch das Bilderfassungs- und Verbesserungssystem aus 1 implementiert sein kann.
-
Ausführungsbeispiele der vorliegenden
Erfindung beziehen sich auf ein Automatisieren des Prozesses eines
Identifizierens eines schräggestellten
Quellenobjektes und eines Bestimmens von Koordinaten, die verwendet
werden können,
um ein verarbeitetes digitales Bild ohne die Fremdinformationen
zu erzeugen, während
ein Bildinhalt, der in Pixeln enthalten ist, von der ursprünglich gescannten
Quelle erhalten bleibt. Da leichte Schrägstellungen allgemein schwer
wahrzunehmen sind, wenn ein Bediener eines Bildverarbeitungssystems
eine gescannte Photographie durchsieht, verwenden Ausführungsbeispiele
der Erfindung den Schrägstellungswinkel,
um die größte orthogonale
Region (d. h. in Ausrichtung mit dem Bildverarbeitungssystem) in dem
Inhalt des gescannten Bildes zu identifizieren. Die orthogonale
Region wird dann einem Bediener als das vorgegebene gescannte Bild
vorgelegt.
-
Einige Ausführungsbeispiele verwenden einen
Algorithmus, der für
Schrägstellungswinkel
anwendbar ist, die von –45° bis +45° variieren.
In der Praxis kann der Algorithmus auf einen Schrägstellungswinkel,
der einen absoluten Wert von kleiner als 45 aufweist, z. B. basierend
auf einer Bedienerrückkopplung
von Benutzern hinsichtlich des maximalen Schrägstellungswinkels, oberhalb
dessen eine automatische Schrägstellungskorrektur
bevorzugt wird, eingeschränkt
sein. Das etwas reduzierte Bildrechteck kann einem Bediener des
Bildverarbeitungssystems als ein „Vorgabe"-Quellenbild vorgelegt werden, das die
Nachteile vermeidet, die einer Entschrägung (d. h. Drehen oder anderweitiges
Verzerren der Pixelinformationen) einer schräggestellten Bittabelle zugeordnet
sind, während
gleichzeitig unerwünschte
Fremd- (z. B. Scanabdeckung oder Hintergrund) Pixel aus dem Vorgabequellenbild
entfernt werden.
-
Detaillierter Bezug nehmend auf die
Zeichnungen, in denen gleiche Bezugszeichen in den mehreren Ansichten
entsprechende Teile anzeigen, stellt 1 ein
schematisches Diagramm eines Ausführungsbeispiels eines Bilderfassungs-
und Verbesserungssystems dar. Das Bilderfassungs- und Verbesserungssystem (IAES) 10 weist
einen Allzweckcomputer 20, eine Datenspeicherungsvorrichtung 30 und
einen Arbeitsplatzrechner 40 auf. Der Allzweckcomputer 20,
die Datenspeicherungsvorrichtung 30 und der Arbeitsplatzrechner sind
kommunikativ miteinander über
das Netz 15 gekoppelt. Bei einem al-ternativen Ausführungsbeispiel kann das IAES 10 aus
einer zusammengesetzten Vorrichtung aufgebaut sein, die den All-zweckcomputer 20,
die Datenspeicherungsvorrichtung 30 und den Arbeitsplatzrechner 40 aufweist.
Bei weiteren Ausführungsbeispielen
kann das IAES 10 eine zusammengesetzte Vorrichtung aufweisen,
die aus einem Teilsatz des Allzweckcomputers 20, der Datenspeicherungsvorrichtung 30 und
des Arbeitsplatzrechners 40 gebildet ist.
-
Das Bilderfassungs- und Verbesserungssystem
(IAES) 10 umfaßt
zumindest eine Bilderfassungsvorrichtung (z. B. den Scanner 23),
die als kommunikativ mit dem Allzweckcomputer 20 gekoppelt
gezeigt ist. Wie in 1 gezeigt
ist, kann der Allzweckcomputer 20 Bilder direkt über eine
verdrahtete oder eine drahtlose Schnittstelle, die dem Scanner 23 zugeordnet
ist, empfangen. Es ist ersichtlich, daß der Scanner 23 ein
kommerziell verfügbarer
Scanner oder eine oder mehrere andere Erfassungsvorrichtungen sein
kann, die eine Mehrzahl von Bildelementen oder Pixeln von einer
Quelle „scannen" oder sequentiell
verarbeiten, und eine Faxmaschine, ein Kopierer, eine Digitalkamera
oder eine andere Bilderfassungsvorrichtung sein kann, die bereits bekannt
ist oder noch entwickelt wird. Alternativ oder zusätzlich kann
der Allzweckcomputer 20 Bilder indirekt mittels verschiedener
tragbarer Datenspeicherungsmedien, wie z. B. einer Diskette 25,
empfangen. Es ist für Fachleute
auf diesem Gebiet ersichtlich, daß ein Host anderer tragbarer
Datenspeicherungsmedien auch verwendet werden kann, um eines oder
mehrere Bilder zu dem Allzweckcomputer 20 oder dem Arbeitsplatzrechner 40 zu übertragen.
Einige verbreitete Datenspeicherungsmedien, die geeignet zur Übertragung
von Bildern sind, umfassen CD-Platten (CDs), Magnetbänder und
tragbare Festplatten. Es ist weiter ersichtlich, daß, sobald
ein Bild durch eine netzgekoppelte Vorrichtung erfaßt und empfangen
ist, verschiedene Datenspeicherungsverwaltungssysteme und -verfahren
verwendet werden können,
um das erfaßte
Bild zu kommunizieren und/oder zu speichern. Bilder, die durch das
IAES 10 verarbeitet werden können, umfassen z. B. gescannte Bilder,
Digitalphotographien, Video, medizinische Bilder usw.
-
Das Ausführungsbeispiel des IAES 10,
das unten beschrieben ist, ist insbesondere für ein „automatisches" Beschneiden digitaler
Bilder, die durch ein Scannen von Photographien erzeugt werden,
angepaßt. Während die
folgenden Beispiele dieses bestimmte Ausführungsbeispiel darstellen,
wird darauf verwiesen, daß das
IAES 10 nicht auf ein bloßes Anwenden der beschriebenen
Verfahren auf gescannte Photographien eingeschränkt ist. Das verbesserte Digitalbilderzeugungs verarbeitungssystem
kann z. B. konfiguriert sein, um Tabellen, medizinische Bilder und
Bilder mit Text und Photographien (wie häufig in Magazin- und Zeitungsformaten
angeordnet), usw. zu manipulieren. Ferner wird darauf verwiesen,
daß das
System und das Verfahren mit verschiedenen Bilderfassungs- und Verarbeitungsvorrichtungen,
wie dies erwünscht
wird, integriert sein könnten.
-
2 stellt
ein Funktionsblockdiagramm dar, das ein Ausführungsbeispiel des Allzweckcomputers 20 und
des Arbeitsplatzcomputers 40 des IAES 10 darstellt.
Die Rechenvorrichtungen 20, 40 umfassen einen
Prozessor 200, eine oder mehrere Eingangsvorrichtungen 210,
eine oder mehrere Ausgangsvorrichtungen 212, eine oder
mehrere Netzschnittstellenvorrichtungen 214 und einen Speicher 202,
die miteinander über
eine lokale Schnittstelle 208 kommunizieren. Die lokale
Schnittstelle 208 kann einer oder mehrere Busse oder andere verdrahtete
oder drahtlose Verbindungen sein, die in der Technik bekannt sind
oder noch entwickelt werden, ist jedoch nicht darauf beschränkt. Die
lokale Schnittstelle 208 kann zusätzliche Elemente, wie z. B.
Puffer (Cache-Speicher), Treiber und Steuerungen (hier zur Vereinfachung
weggelassen), umfassen, um Kommunikationen zu ermöglichen.
Ferner umfaßt
die lokale Schnittstelle 208 Adreß-, Steuerungs- und Datenverbindungen, um
geeignete Kommunikationen unter den zuvor genannten Komponenten
zu ermöglichen.
-
Bei dem Ausführungsbeispiel aus 2 ist der Prozessor 200 eine
Hardwarevorrichtung zum Ausführen
einer in dem Speicher 202 gespeicherten Software. Der Prozessor 200 kann
jeder kundenspezifisch hergestellte oder kommerziell verfügbare Prozessor,
eine zentrale Verarbeitungseinheit (CPU) oder ein Hilfsprozessor,
der den Rechenvorrichtungen 20, 40 zugeordnet
ist, oder ein halbleiterbasierter Mikroprozessor (in der Form eines
Mikrochips) oder ein Makroprozessor sein.
-
Die eine oder die mehreren Eingangsvorrichtungen 210 können eine
Tastatur, eine Maus oder andere interaktive Zeigervorrichtungen,
sprachaktivierte Schnittstellen oder andere Bediener-Maschine-Schnittstellen (zur
Vereinfachung der Darstellung weggelassen), die bereits bekannt
sind oder noch entwickelt werden, umfassen, sind jedoch nicht darauf
beschränkt.
Die eine oder die mehreren Eingangsvorrichtungen 210 können auch
die Form einer Bilderfassungsvorrichtung (z. B. des Scanners 23)
oder einer Datendateiübertragungsvorrichtung
(d. h. eines Diskettenlaufwerks) annehmen. Jede der verschiedenen
Eingangsvorrichtungen 210 kann über die lokale Schnittstelle 208 in
Kommunikation mit dem Prozessor 200 und/oder dem Speicher 202 stehen. Daten,
die von einer Bilderfassungsvorrichtung, die als eine Eingangsvorrichtung 210 verbunden
ist, oder über die
eine oder die mehreren Netzschnittstellenvorrichtungen 214 empfangen
werden, können
die Form einer Mehrzahl von Pixeln oder einer Datei annehmen.
-
Die eine oder die mehreren Ausgangsvorrichtungen 212 können eine
Videoschnittstelle umfassen, die ein Videoausgangssignal an einen
Anzeigemonitor liefert, der den jeweiligen Rechenvorrichtungen 20, 40 zugeordnet
ist. Die Anzeigevorrichtungen, die den jeweiligen Rechenvorrichtungen 20, 40 zugeordnet
sein können,
können
herkömmliche
Kathodenstrahlröhren-basierte
Anzeigen, Flüssigkristallanzeigen
(LCDs), Plasmaanzeigen, Bildprojektoren oder andere Anzeigetypen
sein, die bereits bekannt sind oder noch entwickelt werden. Es wird
darauf verwiesen, daß verschiedene
Ausgangsvorrichtungen 212 auch über die lokale Schnittstelle 208 und/oder
die eine oder die mehreren Netzschnittstellenvorrichtungen 214 zu
anderen bekannten Vorrichtungen, wie z. B. Plottern, Druckern, usw.,
integriert sein können.
-
Die lokale Schnittstelle 208 kann
auch in Kommunikation mit Eingangs-/Ausgangs-Vorrichtungen stehen,
die die jeweiligen Rechenvorrichtungen 20, 40 mit
dem Netz 15 (1)
verbinden. Diese Zweiwegekommunikationsvorrichtungen umfassen Mo dulatoren/Demodulatoren
(Modems), Netzschnittstellenkarten (NICs), Hochfrequenz- (HF-) oder
andere Sende/Empfangsgeräte,
Telephonschnittstellen, Brücken
und Routen, sind jedoch nicht darauf beschränkt. Zur Vereinfachung der
Darstellung sind derartige Zweiwegekommunikationsvorrichtungen durch
eine oder mehrere Netzschnittstellen 214 dargestellt.
-
Der Speicher 202 kann eines
oder eine Kombination flüchtiger
Speicherelemente (z. B. Direktzugriffsspeicher (RAM, wie z. B. dynamischer
RAM oder DRAM, statischer RAM oder SRAM usw.)) und nicht-flüchtiger
Speicherelemente (z. B. Nur-Lese-Speicher (ROM), Festplatte, Bandlaufwerk,
Kompaktplatte (CD-ROM), usw.) umfassen. Ferner kann der Speicher 202 elektronische,
magnetische, optische und/oder andere Typen von Speichermedien beinhalten,
die bereits bekannt sind oder noch entwickelt werden. Es wird angemerkt, daß der Speicher 202 eine
verteilte Architektur aufweisen kann, bei der verschiedene Komponenten
entfernt voneinander angeordnet sind, wie z. B. bei den verschiedenen
Rechenvorrichtungen 20, 40, die mit dem Netz 15 (1) gekoppelt sind, die über eine
Firmware und/oder einer Software, die auf dem Prozessor 200 betreibbar
sind, zugänglich
sind.
-
Der Speicher 202 umfaßt zumindest
ein Programm und/oder eine Bilddatei. Bei dem dargestellten Ausführungsbeispiel
umfaßt
der Speicher 202 eine Bildverbesserungsvorrichtung 300.
Jedes der Programme weist eine geordnete Auflistung ausführbarer
Instruktionen zum Implementieren logischer Funktionen auf. Ferner
umfaßt
der Speicher 202 bei dem gezeigten Ausführungsbeispiel zumindest ein
Betriebssystem 204. Das Betriebssystem 204 steuert
im wesentlichen die Ausführung
anderer Computerprogramme, wie z. B. der Bildverbesserungsvorrichtung 300 und
anderer Programme, die durch die Rechenvorrichtungen 20, 40 des
IAES 10 ausgeführt
werden können.
-
Es wird darauf verwiesen, daß die Bildverbesserungsvorrichtung 300 in
Software, Firmware, Hardware oder einer Kombi nation derselben implementiert
sein kann. Die Bildverbesserungsvorrichtung 300 kann bei dem
vorliegenden Beispiel ein Quellenprogramm, ein ausführbares
Programm (Objektcode) oder jede andere Entität sein, die einen Satz Instruktionen,
die durchgeführt
werden sollen, aufweist. Ferner ist die Bildverbesserungsvorrichtung 300 vorzugsweise
als (a) eine objektorientierte Programmiersprache, die Klassen von
Daten und Verfahren aufweist, oder (b) eine Prozedurprogrammiersprache
geschrieben, die Routinen, Teilroutinen und/oder Funktionen aufweist.
Es ist für
Fachleute auf diesem Gebiet, nachdem sie mit den Lehren der vorliegenden
Erfindung vertraut sind, ersichtlich, daß die Bildverbesserungsvorrichtung 300 in
einer Anzahl von Programmiersprachen geschrieben sein kann, die
bereits bekannt sind oder noch entwickelt werden.
-
Es ist für Fachleute auf diesem Gebiet
ersichtlich, daß sich
die Implementierungsdetails der Bildverbesserungsvorrichtung 300,
sowie Bilddateien, die in dem Speicher 202 gespeichert
sind, basierend auf der zugrundeliegenden Technologie, die beim
Implementieren der durch das IAES 10 verwendeten Bildverarbeitungsalgorithmen
verwendet wird, unterscheiden.
-
Wenn die Rechenvorrichtung 20, 40 in
Betrieb ist, führt
der Prozessor 200 eine Software aus, die in dem Speicher 202 gespeichert
ist, kommuniziert Daten zu und von dem Speicher 202 und
steuert allgemein Operationen der einen oder der mehreren gekoppelten
Eingangsvorrichtungen 210, Ausgangsvorrichtungen 212 und
Netzschnittstellen 214 gemäß der Software. Die Bilderverbesserungsvorrichtung 300,
das Betriebssystem 204 und alle anderen Anwendungen werden
als Ganzes oder teilweise durch den Prozessor 200 gelesen,
durch den Prozessor 200 zwischengespeichert und ausgeführt.
-
Es wird darauf verwiesen, daß, wenn
die Bildverbesserungsvorrichtung 300 in Software implementiert ist,
wie in 2 gezeigt ist,
die Logik, die in der Bildverbesserungsvor richtung 300 enthalten
ist, auf jedem computerlesbaren Medium zur Verwendung durch oder
in Verbindung mit einem computerbezogenen System oder Verfahren
gespeichert sein kann. In dem Zusammenhang dieses Dokumentes ist
ein computerlesbares Medium eine elektronische, magnetische, optische
oder andere physische Vorrichtung oder Einrichtung, die bereits
bekannt ist oder noch entwickelt wird, die ein Computerprogramm
zur Verwendung durch oder in Verbindung mit einem computerbezogenen
System oder Verfahren enthalten oder speichern kann.
-
Im folgenden wird Bezug auf das Funktionsblockdiagramm
aus 3 genommen, das
ein Ausführungsbeispiel
der Bildverbesserungsvorrichtung 300 aus 2 darstellt. Die Bildverbesserungsvorrichtung 300 weist
einen Bildprozessor 310 und einen Datenverwalter 320 auf,
der mit dem Speicher 202 oder anderen verteilten Speichervorrichtungen,
die dem Netz 15 zugeordnet sind, unter der Anweisung einer
oder mehrerer Rechenvorrichtungen 20, 40 in Wechselwirkung
steht, die ferner durch Befehle angewiesen werden, die über eine
oder mehrere Eingangsvorrichtungen 210 eingegeben werden,
um ein modifiziertes Bild 350 zu erfassen und zu erzeugen.
Gemäß einer
bevorzugten Implementierung stellt das in 3 dargestellte Ausführungsbeispiel die Bildverbesserungsvorrichtung 300 ohne
eine Benutzerschnittstelle dar. Für Fachleute auf diesem Gebiet
ist es ersichtlich, daß die
Bildverbesserungsvorrichtung 300 eine Benutzerschnittstelle
umfassen kann.
-
Wie in 3 gezeigt
ist, steht der Bildprozessor 310 in Kommunikation mit der
einen oder den mehreren Eingangsvorrichtungen 210, dem
Datenverwalter 320 und der einen oder den mehreren Ausgangsvorrichtungen 212.
Der Bildprozessor 310 umfaßt Funktionsmodule 314 (z.
B. Module zur Farbverarbeitung, Kontraststeuerung, Helligkeit, Bilddatenkomprimierung,
Bilddatenmanipulation, usw.), die es dem Bildprozessor 310 ermöglichen,
das zugrundeliegende Pixelarray, das jedes Bild bildet, zu manipulieren.
-
Der Datenverwalter 320 steht
in Kommunikation mit dem Bildprozessor 310. Der Datenverwalter 320 ist
konfiguriert, um eine Mehrzahl von Bildern zu handhaben, die die
Ursprungsbilddaten 322 umfassen (d. h. das erfaßte Rasterbild,
das ein schräggestelltes
Quellenobjekt umfaßt).
Wenn der Bildprozessor 310 eine Anzeige von dem Datenverwalter 320 empfängt, daß Ursprungsbilddaten 322 zur
Verarbeitung verfügbar
sind, führt
der Bildprozessor 310 eine Zwischenspeicherung der Ursprungsbilddaten 322 durch
und bestimmt den Schrägstellungswinkel
und die Scheitelpunkte des Quellenbildes gemäß bekannten Verfahren der Bildanalyse. Der
Bildprozessor 310 liefert den Schrägstellungswinkel und die Koordinaten
des Quellenobjektes an das Autoeinstellungsmodul 312.
-
Das Autoeinstellungsmodul 312 wiederum
bestimmt die Koordinaten, die zu dem größten orthogonalen Bild führen, das
ausschließlich
Quellenobjektinformationen enthält.
Das Autoeinstellungsmodul 312 liefert dem Bildprozessor 310 diese
Koordinaten des orthogonalen Bildes. Der Bildprozessor 310 verwendet
diese Koordinaten in einer Bildinformationsbeschneidungs- oder Bearbeitungsroutine,
um die Abschnitte der Ursprungsbilddaten 322 zu löschen, die
außerhalb
der Koordinaten oder Grenzen liegen, die durch das Autoeinstellungsmodul 312 definiert
sind, um dadurch die Auswahlbilddaten 324 zu identifizieren.
-
Wie in 3 dargestellt
ist, können
die Auswahlbilddaten 324 bei dem Datenverwalter 320 registriert und
als ein Vorgabebild 350 zur Beobachtung eines Bedieners
der Rechenvorrichtungen 20, 40 (1) an die eine oder die mehreren Ausgangsvorrichtungen 212 weitergeleitet
werden. Die Auswahlbilddaten 324 können durch das IAES 10 (1) als ein Vorgabebild 350 zur
nachfolgenden Bildbearbeitung, Speicherung, weiteren Anzeige und/oder
Verteilung unter der Anweisung des Bedieners oder einer Logik, die
durch die Rechenvorrichtungen 20, 40 ausgeführt wird,
verwendet werden.
-
Beispielhaft sind Ursprungsbilddaten 322 in 4A in Beziehung zu den zweidimensionalen
Rasterkoordinaten dargestellt, die durch Bildverarbeitungsvorrichtungen
innerhalb des IAES 10 verwendet werden. Wie gezeigt ist,
werden die zweidimensionalen Rasterkoordinaten durch ein Orthogonalkoordinatensystem 400 dargestellt,
das durch eine X-Achse über
den horizontalen und eine y-Achse über den vertikalen Bereich des
Koordinatensystems 400 definiert ist. Die Ursprungsbilddaten 322 enthalten
ein Quellenobjekt, in diesem Beispiel eine Photographie. Die Photographie
ist leicht hinsichtlich des Orthogonalkoordinatensystems 400 fehlausgerichtet
oder schräggestellt,
wie aus einer Analyse der relativen Positionen der Ecken der Photographie 405a, 405b, 405c und 405d bestimmt
werden kann. Es wird angemerkt, daß ein Bildrechteck 410 (die gestrichelte
Linie in 4A) Fremdgrenzinformationen
entlang der oberen und unteren Kante der Ursprungsbilddaten 322 umfaßt.
-
Nach einer Verarbeitung durch die
Bildverbesserungsvorrichtung 300 werden Auswahlbilddaten 324 erzeugt
und sind in 4B dargestellt.
Die Auswahlbilddaten 324 sind auch bezüglich des Orthogonalkoordinatensystems 400 gezeigt.
Das Vorgabebild 324 ist durch Koordinaten 415a, 415b, 415c und 415d definiert, die
durch das Autoeinstellungsmodul 312 der Bildverbesserungsvorrichtung 300 identifiziert
sind. Ein Verfahren zum Bestimmen der eingestellten Koordinaten
angesichts der Ursprungsbilddatenkoordinaten 405 und des Schrägstellungswinkels
ist unten detaillierter beschrieben.
-
Es wird darauf verwiesen, daß die zugrundeliegenden
Pixelinformationen, die die Photographie darstellen, nicht durch
die Bildverbesserungsvorrichtung 300 entschrägt oder
ausgerichtet werden. Folglich verbleiben die zugrundeliegenden Informationen,
die in der Mehrzahl von Pixeln vorgesehen sind, gegenüber der Pixeldarstellung
unverändert,
die verwendet wird, um das Ursprungsdatenbild 322 zu erzeugen.
Wie durch die Photographie der 4A und 4B gezeigt ist, ent fernt
eine leichte Einstellung der x-y-Koordinaten von den Koordinaten 405 in 4A zu den Koordinaten 415 in 4B (Identifizieren der Scheitelpunkte
der Auswahlbilddaten 324) wirksam die Fremdgrenzinformationen,
die in dem Bildrechteck 410 vorhanden sind, aus den Auswahlbilddaten 324.
Der Abschnitt der beispielhaften Photographie (d. h. Pixel) außerhalb
der Auswahlbilddaten 324, wie in 4B gezeigt ist, wird nicht durch die
Bildverbesserungsvorrichtung 300 in die Auswahlbilddaten eingeschlossen.
-
Die 5A und 5B stellen die Bestimmung
von Parametern dar, die verwendet werden können, um Koordinaten 415 zum
Definieren der Grenzen der orthogonalen Auswahlbilddaten 324 angesichts
des Schrägstellungswinkels
und der Grenzkoordinaten 405 der schräggestellten Ursprungsbilddaten 322 zu
identifizieren. Eine y-Spanne ist als die Strecke zwischen dem Pixel,
das die y-Koordinate mit der größten Größe, als
Maßlinie 510 dargestellt,
aufweist, zu der y-Koordinate
mit der geringsten Größe, dargestellt
als Maßlinie 51b,
definiert. Y-max 512 ist die größte Größe von y-Koordinaten, die sich Pixel teilen,
die einen Bildinhalt von der Photographie enthalten. Y-min 514 ist
die geringste Größe von y-Koordinaten,
die sich Pixel teilen, die einen Bildinhalt von der Photographie
enthalten.
-
Eine X-Spanne ist als die Strecke
zwischen dem Pixel, das die x-Koordinate mit der geringsten Größe, dargestellt
als die Maßlinie 518,
aufweist, zu der x-Koordinate mit der größten Größe, dargestellt als die Maßlinie 524 definiert.
X-min 520 ist die geringste Größe von x-Koordinaten, die sich
Pixel teilen, die einen Bildinhalt von der Photographie enthalten.
X-max 522 ist die größte Größe von x-Koordinaten, die
sich Pixeln teilen, die einen Bildinhalt von der Photographie enthalten.
-
Die x-Koordinate, die durch X-min 520 definiert
ist, und die y-Koordinate, die durch Y-max 512 definiert ist,
definieren die Koordinate 415a (4B). Die x-Koordinate, die durch X-min 520 definiert
ist, und die y-Koordinate, die durch Y-min 514 definiert
ist, definieren die Koordinate 415b (4B). Die x-Koordinate, die durch X-max 522 definiert
ist, und die y-Koordinate, die durch Y-max 512 definiert
ist, definieren die Koordinate 415c (4B). Die x-Koordinate, die durch X-max 522 definiert
ist, und die y-Koordinate,
durch die Y-min 514 definiert ist, definieren die Koordinate 415d (4B).
-
Unter Angabe von X-min
520,
X-max
522, Y-min
514 und Y-max
512 kann
die X-Spanne und die Y-Spanne aus den folgenden Gleichungen bestimmt
werden:
Unter Angabe des Schrägstellungswinkels, θ, (in den
folgenden Gleichungen ist der Schrägstellungswinkel als ein positiver
Winkel für
die trigonometrische Analyse definiert – wenn der tatsächliche
Schrägstellungswinkel
kleiner als 0 ist, sollte der Wert von K unten als
defi niert sein, um sicherzustellen,
daß die
geeigneten Werte für x ^ und y ^ in
Gleichung 17 erhalten werden) und der Einführung der Liniensegmente, die
in
5B identifiziert
sind, identifizieren die folgenden vier Beziehungen die Tangente
des Schrägstellungswinkels,
?.
wobei x ^ die Strecke zwischen
der minimalen und der maximalen x-Pixel-Koordinate der Auswahlbilddaten
324 ist, ŷ die Strecke
zwischen der minimalen und der maximalen y-Pixel-Koordinate der Auswahlbilddaten
324 ist,
x die Strecke zwischen der
maximalen x-Pixel-Koordinate, die den Ursprungsbilddaten
322 zugeordnet
ist, und der maximalen x-Pixel-Koordinate,
die den Auswahlbilddaten zugeordnet ist; (d. h. die Strecke zwischen
der rechten Grenze der Auswahlbilddaten
324 und der x-Koordinate,
die die Ecke
405d in der schräggestellten Photographie definiert)
ist, ? die Strecke zwischen der minimalen y-Pixel-Koordinate, die
den Ursprungsbilddaten
322 zugeordnet ist, und der minimalen
y-Pixel-Koordinate,
die den Auswahlbilddaten
324 zugeordnet ist, (d. h. die
Strecke zwischen der unteren Grenze der Auswahlbilddaten
324 und
der y-Koordinate, die die Ecke
405b in der schräggestellten
Photographie definiert) ist,
y die
Strecke zwischen der maximalen y-Pixel-Koordinate, die den Auswahlbilddaten
324 zugeordnet
ist, und der y-Pixel-Koordinate,
die der maximalen x-Pixel-Koordinate der Ursprungsbilddaten
322 zugeordnet
ist, (d. h. die Strecke entlang der rechten Grenze der Auswahlbilddaten
324 oberhalb
der x-Koordinate, die in der schräggestellten Photographie die
Ecke
405d definiert) ist, und x ~ die Strecke zwischen der
maximalen x-Pixel-Koordinate, die den Auswahlbilddaten
324 zugeordnet
ist, und der x-Pixel-Koordinate ist, die der minimalen y-Pixel-Koordinate
ist, die den Ursprungsbilddaten
322 zugeordnet ist, (d.
h. die Strecke entlang der unteren Grenze der Auswahlbilddaten
324 nach
rechts von der x-Koordinate, die die linke Grenze der Auswahlbilddaten
324 definiert)
ist.
-
Dann können die folgenden Beziehungen
verwendet werden, um x ^ bzw. y ^ zu definieren.
-
-
Es wird jedoch erwünscht, x ^ und y ^ als
Funktionen des Schrägstellungswinkels, θ,
zu bestimmen. Es wird z. B. erwünscht,
folgendes herauszufinden:
wobei M
ij =
f (θ) und wobei M
ij lediglich abhängig von
? ist. Ein Neuanordnen der Gleichungen 3 bis 6 führt zu folgendem Ergebnis:
Die Gleichungen 3 und 4
können
wie folgt kombiniert werden, um die folgenden Variationen der Gleichung
7 zu ergeben.
-
-
Ähnlich
können
die Gleichungen 5 und 6 kombiniert werden, um die folgenden Variationen
der Gleichung 8 zu ergeben.
Ein Einfügen der Gleichungen 7 und 8
in die Gleichungen 9 und 10 zum Eliminieren von x ~ und
y führt
zu folgenden Ergebnissen:
und
-
Wenn K durch das Verhältnis innerhalb
der Klammern der Gleichungen 11 und 12 ersetzt wird, gilt (es wird
darauf verwiesen, daß
gilt).
und
-
Ein Substituieren der Gleichung 14
in die Gleichung 13 führt
zu folgendem Ergebnis:
-
-
Ein Neuanordnen der Gleichungen 15
und 15 führt
zu der folgenden erwünschten
Funktion von θ:
-
Es wird angemerkt, daß 1 – K
2 = 0, wenn
was für θ = 45 Grad auftritt.
Schließlich
können
die folgenden Gleichungen zur Lösung
für die
Koordinaten
415 angewendet werden:
-
6 stellt
ein Ausführungsbeispiel
eines Verfahrens zum Vorlegen einer Darstellung eines Quellenobjektes
dar. Wie dies dargestellt ist, beginnt das Verfahren 600 mit
einem Schritt 602, bei dem eine Rechenvorrichtung 20, 40,
die dem IAES 10 zugeordnet ist, ein Rasterbild erfaßt. In einem
Schritt 604 lokalisiert die Rechenvorrichtung 20, 40 die
Eckpixel des Quellenobjektes innerhalb der Mehrzahl von Pixeln,
die durch die Bilderfassungsvorrichtung (z. B. den Scanner 23)
erzeugt werden. Wie oben beschrieben ist, ist es oft der Fall, daß ein Bediener
des IAES 10 eine Photographie oder ein anderes Quellenobjekt
scannen möchte,
das kleiner als die verfügbare
Scan- oder Sensorregion der Bilderfassungsvorrichtung ist. Als nächstes wird
in einem Schritt 606 die Rechenvorrichtung 20, 40 programmiert,
um zu bestimmen, ob das Quellenobjekt in dem erfaßten Bild
schräggestellt
ist. Wenn das Ergebnis der Abfrage aus Schritt 606 negativ
ist, wird die Rechenvorrichtung 20, 40 programmiert,
um die Schritte 608 bis 616 zu umgehen, wie durch
den negativen Flußsteuerungspfeil
mit der Bezeichnung „NEIN" dargestellt ist,
der aus Schritt 606 austritt. Andernfalls wird die Rechenvorrichtung 20, 40 programmiert,
um mit einer Berechnung des Schrägstellungswinkels
fortzufahren, wie in Schritt 608 angezeigt ist.
-
Sobald der Schrägstellungswinkel in Schritt 608 berechnet
ist, wird die Rechenvorrichtung 20, 40 programmiert,
um den Schrägstellungswinkel
mit einer Schwelle in der Abfrage aus Schritt 610 zu vergleichen. Wenn
der Vergleich anzeigt, daß der
Schrägstellungswinkel
die Schwelle überschreitet,
wird der Computer 20, 40 programmiert, um einen
Bediener aufzufordern, die Quelle neu zu positionieren und/oder
das Bild neu zu erfassen, wie in Schritt 612 angezeigt
ist. Nach einem Neupositionieren und/oder Neuerfassen des Bildes
wiederholt die Rechenvorrichtung 20, 40 die Schritte 602 bis 610.
Andernfalls wird, wenn bestimmt wird, daß der Schrägstellungswinkel die Schwelle
nicht überschreitet,
die Rechenvorrichtung 20, 40 programmiert, um
die Grenzen des größten orthogonalen
Bildes zu identifizieren, das Pixel enthält, die Informationen von dem
Quellenobjekt umfassen, wie in Schritt 614 angezeigt ist.
Danach entfernen die Rechenvorrichtungen 20, 40 in
einem Schritt 616 Informationen außerhalb der identifizierten
Grenzen, um ein Vorgabebild zu erzeugen. Als nächstes speichern in einem Schritt 620 die
Rechenvorrichtungen 20, 40 das Vorgabebild 350,
das aus den Auswahlbilddaten 324 erzeugt ist, und/oder
zeigen dasselbe an.
-
Alle Prozeßbeschreibungen oder Blöcke in dem
Flußdiagramm
aus 6 sollten verstanden
werden, um Module, Segmente oder Abschnitte eines Codes darzustellen,
die eine oder mehrere ausführbare
Instruktionen zum Implementieren spezifischer Logikfunktionen oder
Schritte in dem Prozeß zum
Vorlegen einer Darstellung eines Quellenobjektes umfassen. Andere
Implementierungen sind innerhalb des Schutzumfangs des bevorzugten
Ausführungsbeispiels
der vorliegenden Erfindung enthalten, in der Funktionen außerhalb
der gezeig ten oder erläuterten
Reihenfolge ausgeführt
werden können,
einschließlich
im wesentlich gleichzeitig oder in umgekehrter Reihenfolge, und
zwar abhängig
von der beinhaltenden Funktionalität, wie dies für Fachleute auf
dem Gebiet der vorliegenden Erfindung ersichtlich ist.