DE69424086T2 - Bildprozessor - Google Patents
BildprozessorInfo
- Publication number
- DE69424086T2 DE69424086T2 DE69424086T DE69424086T DE69424086T2 DE 69424086 T2 DE69424086 T2 DE 69424086T2 DE 69424086 T DE69424086 T DE 69424086T DE 69424086 T DE69424086 T DE 69424086T DE 69424086 T2 DE69424086 T2 DE 69424086T2
- Authority
- DE
- Germany
- Prior art keywords
- image
- image data
- circuit
- data
- circuit means
- 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 - Fee Related
Links
- 238000006243 chemical reaction Methods 0.000 claims description 26
- 238000009792 diffusion process Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 48
- 238000004364 calculation method Methods 0.000 description 41
- 230000015654 memory Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 18
- 230000004048 modification Effects 0.000 description 16
- 238000012986 modification Methods 0.000 description 16
- 238000000034 method Methods 0.000 description 13
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 12
- 230000009466 transformation Effects 0.000 description 12
- 238000009499 grossing Methods 0.000 description 9
- 239000000872 buffer Substances 0.000 description 7
- 238000013139 quantization Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- BQCADISMDOOEFD-UHFFFAOYSA-N Silver Chemical compound [Ag] BQCADISMDOOEFD-UHFFFAOYSA-N 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/02—Recognising information on displays, dials, clocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Facsimile Image Signal Circuits (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf einen Bildprozessor zur Durchführung einer Mustergleichheitsprüfung und dergleichen zum Zwecke der Objekterkennung, zur Beurteilung, ob ein Standardbild eines vorgeschriebenen Modells im Bild eines Objekts existiert, und so weiter.
- Eine verfügbare Technik zur Mustergleichheitsprüfung beinhaltet das Einstellen eines Fensters auf durch Abbilden eines Objekts gewonnene Bilddaten und das Berechnen des Grades von Koinzidenz oder des Grades von Ähnlichkeit zwischen Teilbilddaten innerhalb des Fensters und vorab registrierten Standardbilddaten. Durch Durführung der oben beschriebenen Verarbeitung in bezug auf das Fenster an jeder Stelle desselben, während man das Fenster innerhalb eines Bildes dieses abtasten läßt wird, wird ein Bild, das Teilbilddaten enthält, die den höchsten Grad an Koinzidenz oder Ähnlichkeit zeigen, festgestellt, wodurch es möglich wird, eine Position, an der ein zum Standardbild identisches oder ähnliches Bild existiert, zu erkennen. Es können also Messungsverarbeitungen verschiedener Arten in bezug auf Bilddaten innerhalb eines spezifizierten Fensters durchgeführt werden.
- Bilddaten werden im allgemeinen durch acht oder mehr Bits pro Pixel dargestellt. Linienspeicher werden dazu verwendet, Bilddaten innerhalb eines eingestellten Fensters mit einer Videorate herauszuziehen. Die Linienspeicher, deren Anzahl der Anzahl von Pixeln in vertikaler Richtung des Fensters entspricht, sind in Kaskade verschaltet, und Bilddaten werden zwischen den Linienspeichern synchron mit einem Taktsignal übertragen. Durch das Herausziehen von Bilddaten auf einen Schlag aus einer bestimmten Position eines jeden Linienspeichers, beispielsweise dem Ende des Linienspeichers, wird eine Spalte von Bilddaten in der vertikalen Richtung des Fensters gewonnen.
- Bei einem Bildprozessor mit einem solchen Aufbau, ist ein angetroffenes Problem das, daß eine große Anzahl von Linienspeichern von jeweils wenigstens acht Bits vorgesehen werden muß, mit der Folge, daß eine Vergrößerung des Hardware-Umfangs gegeben ist. Ferner ist eine Mustergleichheitsprüfungsverarbeitung von acht Bit pro Pixel erforderlich. Wenn dies mit Hardware verwirklicht wird, ist der Schaltungsumfang in ähnlicher Weise erhöht. Wenn versucht wird, das Vorstehende durch Software zu verwirklichen, folgt daraus eine kompliziertere Verarbeitung.
- Proceedings of The IEEE Computer Society Conference on Computer Vision and Pattern Recognition, Washington DC, USA, 19- 23 June 1983, ISBN 0-8186-0053-5, 1983, Silver Spring, MD, USA, IEEE Comput. Soc. Press, USA, Seiten 432-441, Glazer et al. "Scene matching by hierarchial correlation" beschreibt eine Mustergleichheitsprüfung durch Erzeugung einer Pyramide von zunehmend niedrigeren Auflösungsversionen eines Bildes unter Verwendung von Filtern.
- Eine Hauptaufgabe der vorliegenden Erfindung ist die Schaffung eines Bildprozessors, über welchen der Hardware-Umfang reduziert werden kann.
- Eine weitere Aufgabe der vorliegenden Erfindung ist es, eine Mustergleichheitsprüfungsverarbeitung zu vereinfachen.
- Eine weitere Aufgabe der vorliegenden Erfindung ist es, einen Bildprozessor und ein Bildverarbeitungsverfahren zu schaffen, die in der Lage sind zu beurteilen, ob das Bild eines Objekts ein Muster enthält, welches mit wenigstens einem von vorher eingestellten Standardbildmuster zusammenfällt, oder ob ein Standardbildmuster in Bildern gefunden wird, welche durch Drehen oder Vergrößern oder Verkleinern des Bildes eines Objekts erzeugt werden.
- Ein Bildprozessor gemäß der vorliegenden Erfindung ist wie in Anspruch 1 definiert.
- Gemäß der vorliegenden Erfindung werden Eingangsbilddaten in Bilddaten, die durch eine reduzierte Anzahl von Bits pro Pixel dargestellt werden, umgewandelt, und die Anzahl von Bits pro Pixel der Bilddaten mit großem Vorsprung reduziert. Dadurch wird es möglich, die Anzahl von Bits eines Linienspeichers stark zu reduzieren, wenn durch eine verminderte Anzahl von Bits pro Pixel dargestellte Bilddaten innerhalb eines Fensters mit einer Videorate herausgezogen werden. Dementsprechend kann der Umfang der Hardware-Schaltung vermindert und Kosten können gesenkt werden.
- Ferner werden Grauwertbilddaten wiederhergestellt, indem durch eine verminderte Anzahl von Bits pro Pixel dargestellte Bilddaten für jeden einzelnen in einem Bild vorgesehenen kleinen Bereich aufsummiert werden. Ein Pixel von wiederhergestellten Bilddaten ist gleich der Größe des kleinen Bereichs. Dementsprechend ist die Anzahl von Pixeln von wiederhergestellten Bilddaten reduziert, so daß die Verarbeitung (Verarbeitung zur Berechnung eines Ähnlichkeitsindexwerts) zur Mustergleichheitsprüfung mit Textdaten vereinfacht ist. Dies führt zu einem kleineren Schaltungsumfang im Falle von Hardware und zu einer Vereinfachung der Verarbeitung im Falle von Software. Da die Helligkeitsverteilung der Eingangsbilddaten in den Wiederherstellungsbilddaten im wesentlichen bewahrt wird, läßt sich die Präzision der Mustergleichheitsprüfung aufrecht erhalten.
- Die durch eine verminderte Anzahl von Bits pro Pixel dargestellten Bilddaten werden, wie oben erwähnt, durch ein, zwei oder mehr Bit pro Pixel dargestellt. Die Helligkeitsauflösung ist zwar umso höher, je größer die Anzahl von Bits ist, der Schaltungsumfang in einem solchen Fall ist aber größer. Aus prakti schen Gründen soll daher die Anzahl von Bits geeignet bestimmt eingestellt werden. Die Größe der kleinen Bereich hat Auswirkung auf die räumliche Auflösung und die Helligkeitsauflösung. Die Größe der kleinen Bereiche sollte ebenfalls beruhend auf praktischen Erwägungen bestimmt werden.
- Das Fenster, das das durch eine verminderte Anzahl von Bits pro Pixel dargestellte Bild abtastet, kann in einem Fall weggelassen werden, wo eine Position des zu durchsuchenden Bildabschnitts vorab bekannt ist oder das gesamte Bild eines Objekts der Mustergleichheitsprüfungsverarbeitung unterworfen wird. Dies gilt für Bildprozessoren und Bildverarbeitungsmethoden gemäß dem zweiten und dritten Aspekt der vorliegenden Erfindung.
- Weitere Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung in Verbindung mit den beigefügten Zeichnungen deutlich werden, in welchen gleiche Bezugszeichen gleiche oder ähnliche Teile über deren Figuren hinweg bezeichnen.
- Fig. 1 ist ein Blockdiagramm, welches die Gesamtkonfiguration eines Bildprozessors gemäß einer ersten Ausführungsform veranschaulicht;
- Fig. 2 ist ein Wellenformdiagramm, welches ein Taktsignal, ein Horizontalsynchronisiersignal und ein Vertikalsynchronisiersignal zeigt;
- Fig. 3 veranschaulicht ein innerhalb eines Bildes gesetztes Fenster sowie einen innerhalb des Fensters gesetzten kleinen Bereich;
- Die Fig. 4a bis Fig. 4d zeigen aus Wertpapieren extrahierte Standardbilder;
- Fig. 5 zeigt Standardbilder, die durch Drehung eines Bildes erzeugt werden;
- Fig. 6 ist ein Blockdiagramm, welches ein spezifisches Beispiel von Binärbildumwandlungsmitteln zeigt;
- Fig. 7 und Fig. 8a, 8b zeigen die Prinzipien der Binarisierungsverarbeitung, die die Fehlerverteilmethode verwendet;
- Fig. 9 ist ein Blockdiagramm, welches ein spezielles Beispiel einer Bildwiederherstellungsschaltung zeigt;
- Fig. 10 ist ein Blockdiagramm, welches ein spezielles Beispiel einer Kleinbereichwiederherstellungsschaltung zeigt;
- Fig. 11 ist ein Blockdiagramm, welches ein spezielles Beispiel einer Differenzberechnungsschaltung zeigt;
- Fig. 12 ist ein Blockdiagramm, welches ein spezielles Beispiel einer Spitzenhalteschaltung zeigt;
- Fig. 13 ist ein Blockdiagramm, welches die Gesamtkonfiguration eines Bildprozessors gemäß einer erste Abwandlung der ersten Ausführungsform zeigt;
- Fig. 14 ist ein Blockdiagramm, welches ein spezielles Beispiel von Pseudograuswert-Bildumwandlungsmitteln zeigt;
- Fig. 15 und 16 veranschaulichen ein Verfahren einer mehrwertigen Verarbeitung unter Verwendung der Fehlerverteil methode;
- Fig. 17 ist ein Blockdiagramm, welches ein spezielles Beispiel einer Bildwiederherstellungsschaltung zeigt;
- Fig. 18 ist ein Blockdiagramm, welches ein spezielles Beispiel einer Kleinbereichswiederherstellungsschaltung zeigt;
- Fig. 19 und 20 sind Blockdiagramme, welche Beispiele einer Glättungsschaltung zeigen;
- Fig. 21 ist ein Blockdiagramm, welches die Gesamtkonfiguration eines Bildprozessors gemäß einer zweiten Abwandlung der ersten Ausführungsform zeigt;
- Fig. 22 ist ein Blockdiagramm, welches ein spezielles Beispiel einer Kreuzkorrelationsberechnungsschaltung zeigt;
- Fig. 23 ist ein Blockdiagramm, welches den Gesamtaufbau eines Bildprozessors gemäß einer nicht beanspruchten zweiten Ausführungsform zeigt;
- Fig. 24 ist ein Blockdiagramm, welches einen detaillierten Aufbau einer in Fig. 23 gezeigten Bilddrehungs-Steuerschaltung zeigt; und
- Fig. 25 ist ein Blockdiagramm, welches die Gesamtkonfiguration eines Bildprozessors gemäß einer dritten Ausführungsform zeigt.
- Fig. 1 ist ein Blockdiagramm, welches die Gesamtkonfiguration eines Bildprozessors gemäß einer ersten Ausführungsform zeigt.
- Ein Bildprozessor 10 enthält einen A/D-Wandler 11, einen Bildspeicher 12, Binärbild-Umwandlungsmittel 13, eine Bildwiederherstellungsschaltung 14, eine Anzahl von Differenzberechnungsschaltungen 15a, 15b, ..., 15k, eine Anzahl von Spitzenhalteschaltungen 16a, 16b, ..., 16k, eine CPU 17 und einen E/A- Anschluß 18.
- Eine Synchronisiersignalerzeugungsschaltung 19 des Bildprozessors 10 erzeugt ein Taktsignal CK, ein Horizontalsynchronisiersignal HD und ein Vertikalsynchronisiersignal VD (auf diese Signale wird nachfolgend gemeinschaftlich als "Synchronisiersignale" Bezug genommen) der in Fig. 2 gezeigten Art. Die Synchronisiersignale werden auf eine Videokamera 9, einen A/D- Wandler 11, die Binärbildumwandlungsmittel 13, die Bildwiederherstellungsschaltung 14, die Differenzberechnungsschaltungen 15a bis 15k und die Spitzenhalteschaltungen 16a bis 16k gegeben. Das Taktsignal CK, von dem ein Impuls pro Pixel von Bilddaten ausgegeben wird, dient als Abtasttaktsignal.
- Die Videokamera bzw. Fernsehkamera 9 nimmt das Bild eines Objekts auf und gibt ein analoges Videosignal, welches das Bild des Objekts darstellt, synchron mit den aufgegebenen Synchronisiersignalen aus. Das analoge Videosignal wird auf den A/D- Wandler 11 des Bildprozessors 10 gegeben.
- Der A/D-Wandler 11 wandelt das eingehende Analogsignal in digitale Bilddaten um. Bei dieser Ausführungsform werden die digitalen Bilddaten durch acht Bit dargestellt. Das heißt, durch diese Bilddaten wird ein Grauwertbild von 256 Werten ausgedrückt. Die digitalen Bilddaten werden auf den Bildspeicher 12 gegeben und in diesem gespeichert und werden auch den Binärbild-Umwandlungsmitteln 13 zugeführt.
- Die Binärbild-Umwandlungsmittel 13 quantisieren die eingehenden acht Bit-Digitalbilddaten unter Verwendung der Fehlerverteilmethode und gewinnen Binärbilddaten des Typs, der bei Gesamtbetrachtung als Ton wahrgenommen wird. Die Binärbilddaten werden auf die Bildwiederherstellungsschaltung 14 gegeben.
- Bei dem Bildprozessor 10 dieser Ausführungform wird der Ähnlichkeitsgrad zwischen einem Teilbild, welches aus dem eingegebenen Bild (dem mit der Kamera 9 aufgenommenen Bild) unter aufeinanderfolgender Änderung der Position herausgezogen wird, und jedem von gegebenen Standardbilder (Standardmuster oder Modellbilder) berechnet und die Position des Teilbildes mit dem höchsten Grad an Ähnlichkeit im Eingangbild bestimmt. Eine Identifikation der Position ist nicht notwendigerweise erforderlich. Bei dieser Ausführungsform wird eine Helligkeitsdifferenz oder Dichtedifferenz (die nachfolgend als "Differenzen" bezeichnet werden) als Ähnlichkeitsindex verwendet.
- Um ein Teilbild aus dem Eingangsbild auszuschneiden wird ein quadratisches Fenster WN, wie in Fig. 3 gezeigt, verwendet. Es sei die Größe des Fensters WN N x M Pixel (ein Pixel entspricht dem Taktsignal CK). Die X- und Y-Achse werden in horizontaler bzw. vertikaler Richtung des Bildes genommen. Die Position des Fensters WN wird durch die Koordinaten x, y des Punktes in der oberen linken Ecke des Fensters dargestellt.
- Um ferner die Binärbilder zurück in ein Grauwertbild umzuwandeln, werden eine Anzahl von quadratischen kleinen Bereichen SA, die zu einem Bildelement eines wiederhergestellten Grauwertbildes werden, innerhalb des Fensters WN vorgesehen. Es sei die Größe eines jeden kleinen Bereichs SA n · m Pixel (ein Pixel entspricht dem Taktsignal CK). Dies bedeutet, daß das Fenster WN in (N/n) · (M/m) kleine Bereiche unterteilt wird. Es ist zu beachten, daß ein Abschnitt (Abstand), der zu keinem kleinen Bereich gehört, zwischen aneinander angrenzenden kleinen Bereichen vorgesehen sein kann.
- Beispielsweise wird das Fenster WN auf 64 Pixel (Punkte) · 64 Pixel (Punkte) und jeder kleine Bereich SA auf 4 Pixel (Punkte) · 4 Pixel (Punkte) eingestellt. Das Fenster WN ist in 16 · 16 = 256 kleine Bereiche SA unterteilt.
- Unter erneuter Bezugnahme auf Fig. 1 erzeugt die Bildwiederherstellungsschaltung 14 rekonstruierte Grauwertbilddaten durch Summierung der Binärbilddaten (1 oder 0) in jedem kleinen Bereich SA des Fensters WN. Die Größe eines Pixels dieser wiederhergestellten Grauwertbilddaten ist gleich der Größe des kleinen Bereichs SA und besitzt eine Helligkeits-(Dichte-)Auflösung von n · m Grauwerten (z. B. wenn n = m = 4 gilt, gibt es 16 Grauwerte).
- Die wiederhergestellten Grauwertbilddaten werden auf jede der Differenzberechnungsschaltung 15a bis 15k gegeben. Die CPU 17 führt den Differenzberechnungsschaltungen 15a bis 15k eine Anzahl von Textdatenelementen zu, die vorab in bezug auf die Standardbilder erzeugt worden sind. Jedes Textdatenelement wird vorab in bezug auf das Standardbild durch eine Technik erzeugt, die exakt die gleiche ist, wie diejenige der Verarbeitung für erzeugte wiederhergestellte Grauwertbilddaten, die das eingegebene Bild betreffen. Beispielsweise wird ein Bild, welches das Standardbild enthält, mit der Videokamera 9 aufgenommen, das gewonnene Videosignal in Digitalbilddaten durch den A/D-Wandler 11 umgewandelt, werden Binärbilddaten durch die Bilderzeugungsschaltung 13 mit den als Eingabe dienenden Digitalbilddaten erzeugt, wird ein spezieller Abschnitt, der das Standardbild in den Binärbilddaten darstellt, über ein Fenster ausgeschnitten, das Fenster in eine Anzahl von kleinen Bereichen weiter unterteilt und die Binärbilddaten für jeden einzelnen kleinen Bereich summiert, womit Textdaten erzeugt werden. Natürlich können die Textdaten auch durch eine andere Vorrichtung erzeugt werden, auf die CPU 17 über den E/A-Anschluß aufgegeben und dann in einem Peripheriespeicher zur CPU 17 gespeichert werden.
- Beispielsweise werden die Standardbilder aus Wertpapieren (Banknoten, Aktien oder Anleihen) herausgezogen. Wie in den Fig. 4a bis 4d gezeigt, weisen die Wertpapiere a&sub1; bis a&sub4; Zeichen, Buchstaben, Marken, Symbole oder Figuren b&sub1; bis b&sub4; aufgedruckt auf, die jeweils eigentümlich für sie sind. Bilder, die diese Zeichen von Figuren enthalten, sind die Standardbilder p&sub1; bis p&sub4;. Die Standardbilder p&sub1; bis p&sub4; werden aus den aufgenommenen Bildern der Wertpapiere a&sub1; bis a&sub4; herausgezogen und wie oben beschrieben zu Textdaten verarbeitet. Die Textdaten werden sequentiell auf die Differenzberechnungsschaltungen 15a bis 15k übertragen und darin, wie später noch erläutert, gespeichert. Die Anzahl von Textdatenelementen, die den Differenzberechnungsschaltungen 15a bis 15k zugeführt werden, stammen von Standardbildern, die voneinander verschieden sind. Eine Anzahl der Standardbilder kann auf der Grundlage einer Art von Wertpapier ausgebildet werden. Die Anzahl von Paaren der Differenzberechnungsschaltungen und Spitzenhalteschaltungen ist die gleiche wie die Anzahl der Standardbilder.
- Fig. 5 zeigt ein weiteres Beispiel der Art und Weise der Erzeugung einer Anzahl von Standardbildern. Eine Standardfigur b&sub5; wird aus Wertpapieren a&sub5; herausgezogen. Die Standardfigur b&sub5; wird zur Erzeugung des Standarbildes Q&sub0; verwendet. Die weiteren Standardbilder Q&sub1; bis Qk-1 werden durch Drehen der Standardfigur b&sub5; um θ, 2θ, ... (k-1)θ Grad ausgebildet (θ ist ein beliebiger Winkel). Die Drehung der Figur oder des Bildes wird durch Drehen der Kamera 9 oder der Wertpapiere a&sub5;, oder durch eine Bilddrehverarbeitung, die später noch erläutert wird, erzielt. Die Anzahl von Textdatenelementen, die anhand der Standardbilder Q&sub0; bis Qk-1 erzeugt werden, werden in den Differenzberechnungsschaltungen 15a bis 15k gespeichert.
- Jede der Differenzberechnungsschaltungen 15a bis 15k berechnet die Differenz zwischen den Daten für das wiederherge stellte Grauwertbild und den Textdaten für jeden einzelnen kleinen Bereich und summiert die Absolutwerte dieser Differenz in bezug auf alle kleinen Bereiche innerhalb des Fensters auf. Je kleiner der Summenwert ist, desto größer ist die Ähnlichkeit zwischen dem aus dem Eingangsbild mit dem Fenster ausgeschnittenen Teilbild und dem Standardbild. Dies ist eine Art von Mustergleichheitsprüfungsverarbeitung.
- Wie oben dargelegt, wird der gesamte Bereich des Eingangsbilds in horizontaler und vertikaler Richtung mit dem Fenster WN abgetastet. Jede der Spitzenhalteschaltungen 16a bis 16k findet das Fenster auf, in welchem die Summe der Absolutwerte der vorgenannten Differenzen, die von der entsprechenden Differenzberechnungsschaltung her zugeführt werden, den Minimalwert annimmt. Der Minimalwert der Summe und die Koordinaten der Position des Fensters, in welchem der Minimalwert gewonnen worden ist, werden von den betreffenden Spitzenhalteschaltungen 16a bis 16k der CPU 17 zugeführt.
- Die CPU 17 führt eine bestimmte Verarbeitung beruhend auf den Minimalwerten und den Koordinaten der Fensterposition, die von den Spitzenhalteschaltungen 16a bis 16k geliefert werden, aus. Beispielsweise vergleicht die CPU die aufgegebenen Minimalwerte mit einem bestimmten Schwellenwert und beurteilt, wenn wenigstens einer der Minimalwerte gleich oder kleiner als der Schwellenwert ist, daß das aus dem Eingangsbild mit dem Fenster ausgeschnittene Teilbild mit wenigstens einem der Standardbilder zusammenfällt.
- Wenn beurteilt wird, daß Koinzidenz erzielt worden ist, verwendet die CPU die aufgegebenen Koordinaten des Fensters zum Auslesen der Bilddaten des Teilbildes, für welches Koinzidenz beurteilt worden ist, aus dem Bildspeicher 12 und gibt diese Bilddaten auf eine externe Vorrichtung, z. B., eine CRT-Anzeigeeinheit über den E/A-Anschluß 18 aus, um eine Anzeige des Teilbilds darzubieten. Das Teilbild, für welches Koinzidenz beurteilt worden ist, kann einer Meßverarbeitung (z. B. einer Verarbeitung für eine Konturziehung, für eine Berechnung der Fläche oder der Position des Schwerpunkts eines durch die Kontur definierten Abschnitts oder zur Erkennung der Form) unterworfen werden.
- Alternativ gibt die CPU 17 über den E/A-Anschluß 18 ein Koinzidenzsignal aus, wenn beurteilt wird, daß Koinzidenz erzielt worden ist.
- Der Bildprozessor 10 hat viele Anwendungen. Ein Anwendungsbeispiel ist ein Kopiergerät mit einer Funktion der Verhinderung eines Kopierens von Wertpapieren. Die in den Fig. 4a bis 4d oder Fig. 5 gezeigten Standardbilder, welche besondere Zeichen oder Figuren der Wertpapiere darstellen, werden, wie oben erwähnt, als Textdaten in dem Bildprozessor 10 (in den Differenzberechnungsschaltungen 15a bis 15k) registriert. Das von der CPU 17 ausgegebene Koinzidenzsignal wird einer Steuereinheit des Kopiergeräts zugeführt, die ihrerseits den Kopiervorgang sperrt.
- In dem Fall, wo die in den Fig. 4a bis 4d gezeigten Standardbilder registriert sind, kann das Kopieren mehrerer Arten von Wertpapieren gesperrt werden. In dem Fall, wo die in Fig. 5 gezeigten Standardbilder registriert sind, wird der Kopiervorgang der Wertpapiere auch dann gesperrt, wenn die Wertpapiere in das Gerät schräg eingesetzt werden.
- Spezielle Beispiele des Aufbaus der in Fig. 1 gezeigten Schaltungsblöcke werden nun nacheinander beschrieben.
- Fig. 6 zeigt ein spezielles Beispiel des Aufbaus der Binärbildumwandlungsmittel 13. Ferner dienen Fig. 7 und Fig. 8a, 8b dazu, die Grundsätze der Binarisierung mit der Fehlerverteilmethode zu beschreiben.
- In Fig. 7 konzentriert sich die Beschreibung auf ein Pixel E(0) eines Eingangsbildes. Die mit dem A/D-Wandler 11 durchgeführte A/D-Wandlung wird mit einer Periode von einem Takt für jedes Bilddatenelement (8 Bits) eines Pixels durchgeführt, und die Bilddaten werden für die Pixel einzeln in der Reihenfolge der Abtastung den Binärbildumwandlungsmitteln 13 bei der Periode des Taktsignals zugeführt. Es soll E(1D) ein Pixel darstellen, welches 1D später als das interessierende Pixel E(0) eingegeben wird (wobei 1D eine Periode des Taktsignals CK ist). Ähnlich soll E(1H) ein Pixel an einer Position darstellen, die um 1H in bezug auf das interessierende Pixel E(0) verzögert ist (wobei 1H ein horizontales Abtastintervall ist), soll E(1H-1D) ein Pixel an einer Position darstellen, die um (1H-1D) in bezug auf E(0) verzögert ist, und soll E(1H+1D) ein Pixel an einer Position darstellen, die um (1H+1D) in bezug auf E(0) verzögert ist.
- Gemäß der Fehlerverteilmethode wird zunächst ein Fehler e am interessierenden Pixel E(0) berechnet. Gemäß der Fehlerverteilmethode werden Bilddaten "Data" des interessierenden Pixels E(0) mit einem bestimmten Schwellenwert TH verglichen. Der Schwellenwert TH wird üblicherweise in die Mitte zwischen dem Weißwert (Data = 255) und dem Schwarzwert (Data = 0) gesetzt. Wenn "Data" den Schwellenwert TH überschreitet, dann wird das interessierende Pixel E(0) binarisiert (Binärdaten 1), indem es auf den Weißwert zwangsgesetzt wird, wie dies in Fig. 8a gezeigt, ist, und der bei dieser Binarisierung erzeugte Fehler e wird gemäß folgender Gleichung berechnet:
- e = "Data" - 255 Gl. (1)
- Wenn "Data" kleiner oder gleich als der Schwellenwert TH ist, wird das interessierende Pixel E(0) binarisiert (Binärdaten 0), indem es auf den Schwarzwert zwangsgesetzt wird, wie dies in Fig. 5b gezeigt ist, und der bei dieser Binarisierung erzeugte Fehler e wird nach der folgenden Gleichung berechnet.
- e = "Data" - 0 Gl. (2)
- Die mit dieser Binarisierungsverarbeitung gewonnenen Daten sind Binärbilddaten. Dementsprechend werden die Binärbilddaten durch ein Bit pro Pixel ausgedrückt.
- Der mit dieser Binarisierungsverarbeitung erzeugte Fehler e wird auf die anderen Pixel E(1D), E(1H-1D), E(1H) und E(1H+1D) mit einem Anteil e/2, e/8, e/4 und e/8 aufgeteilt. Dies ist die Fehlerverteilmethode. Obwohl also die Bilddaten des interessierenden Pixels quantisiert werden, wird der bei dieser Quantisierung anwesende Fehler auf die Pixel verteilt, die zum interessierenden Pixel benachbart sind. Dadurch wird die mittlere Helligkeit (Dichte) des auf das interessierende Pixel zentrierten lokalen Bereichs im wesentlichen bewahrt.
- In Fig. 6 speichern Verriegelungsschaltungen 20, 26, 29, 31 und 33, von denen sich jede aus acht Flipflops zusammensetzt Acht-Bit-Bilddaten zwischen und wirken dahingehend, daß eine Verzögerung von 1D aufgebracht wird. Die Verriegelungsschaltungen 20, 26, 29, 31 und 33 werden mit dem Taktsignal CK versehen. Eine 1H-Verzögerungsschaltung 27, die die Bilddaten um ein Intervall von 1H verzögert, wird mit dem Taktsignal CK und dem Horizontalsynchronisiersignal HD versehen.
- Es wird nun eine Situation betrachtet, bei der die Bilddaten des interessierenden Pixels E(0) in der Verriegelungsschaltung 20 gespeichert worden sind. Die Bilddaten "Data" des interessierenden Pixels E(0) werden auf den einen Eingang A einer Komparatorschaltung 21 gegeben. Den Schwellenwert TH darstellende Daten werden auf den anderen Eingang B der Komparatorschaltung 21 gegeben. Die Komparatorschaltung 21 gibt die Binärdaten 1 aus, wenn die Eingangsbilddaten "Data" den Schwellenwert TH überschreiten (d. h., wenn A > B gilt), und die Binärdaten 0 in allen anderen Fällen. Diese Daten werden als Binärbilddaten ausgegeben und gehen auch in eine Multiplizierschaltung 22 ein.
- Die Multiplizierschaltung 22 multipliziert die Eingangsbinärdaten mit 255. Dementsprechend werden Acht-Bit-Daten, die 255 darstellen, durch die Multipliziererschaltung 22 ausgegeben, wenn die Eingangsbilddaten 1 sind, und Acht-Bit-Daten, die 0 darstellen, wenn die Eingangsbinärdaten 0 sind. Die ausgegebenen Daten werden auf den negativen Eingang einer Subtrahierschaltung 23 gegeben.
- Die in der Verriegelungsschaltung 20 gehaltenen Bilddaten "Data" des interessierenden Pixels gehen in den positiven Eingang der Subtrahierschaltung 23. Dementsprechend führt die Subtrahierschaltung 23 den Vorgang aus, der durch Gleichung (1) oder Gleichung (2) dargestellt wird, und berechnet den Fehler e. Die den Fehler e darstellenden gewonnenen Daten werden auf eine Dividierschaltung 24 gegeben.
- Die Dividierschaltung 24 dividiert den Fehler e durch 2, 4 und 8, um e/2, e/4 und e/8 zu berechnen. Das Divisionsergebnis e/2 darstellende Daten werden auf eine Addierschaltung 25, e/4 darstellende Daten auf eine Addierschaltung 23 und e/8 darstellende Daten auf Addierschaltungen 28, 32 gegeben.
- Die Bilddaten des Pixels E(1D) werden in der Verriegelungsschaltung 26 gehalten. Diese Bilddaten werden der Addierschaltung 25 zugeführt. Dementsprechend werden die e/2 darstellenden Daten in der Addierschaltung 25 zu den Bilddaten des Pixels E(1D) addiert.
- Die Bilddaten der Pixel E(1H-1D), E(1H), E(1H+1D) werden in der Verriegelungsschaltung 29, 31 bzw. 33 zwischengespeichert. Die Bilddaten gehen in die Addierschaltung 28, 30 bzw. 32. Dementsprechend werden die e/8, e/4 und e/8 darstellenden Daten zu den Bilddaten der Pixel E(1H-1D), E(1H), E(1H+1D) in der Addierschaltung 28, 30 bzw. 32 addiert.
- Die verschiedenen oben beschriebenen Rechenoperationen werden während einer Periode des Taktsignals CK durchgeführt, und die Additionsergebnisse aus den Addierschaltungen 25, 28, 30, 32 werden von den nachfolgenden Schaltungen, nämlich der Verriegelungsschaltung 20, der 1H-Verzögerungsschaltung 27 und den Verriegelungsschaltungen 29, 31 zur Zeit des nächsten Taktsignals CK angenommen und zwischengespeichert. Die Bilddaten des Pixels E(1H+2D) werden von der Verriegelungsschaltung 33 angenommen.
- Der vorstehende Vorgang wird für jede Periode des Taktsignals CK durchgeführt. Das heißt, die Binarisierung der Bilddaten und die Verteilung des Fehlers, der einhergehend mit der Binarisierung erzeugt wird, auf benachbarte Pixel, nämlich die Fehlerverteilverarbeitung, werden Pixel für Pixel durchgeführt.
- Fig. 9 zeigt den Gesamtaufbau der Bildwiederherstellungsschaltung 14 und Fig. 10 veranschaulicht ein spezielles Beispiel des Aufbaus einer in Fig. 9 gezeigten Teilbereichswiederherstellungsschaltung 41.
- Wie oben erwähnt, wird das Fenster WN im Eingangbild gesetzt und es wird mit dem Fenster WN in Horizontal- und Vertikalrichtung abgetastet. Das Fenster WN wird in eine Anzahl von kleinen Bereichen SA unterteilt.
- Die Größe (n · m) eines jeden kleinen Bereichs SA wird durch die Anzahl von Flipflops 42 entschieden, die in einer Kleinbereichwiederherstellungsschaltung 41 enthalten sind. Bei dieser Ausführungsform ist die Größe eines jeden kleinen Bereichs SA 4 · 4 Pixel, wie dies in Fig. 10 gezeigt ist. Die Größe (Anzahl von Bits N) des Fensters WN in horizontaler Richtung wird durch die Größe (Anzahl von Bits n) der Kleinbereichwiederherstellungs schaltung 41 in der Horizontalrichtung und die Anzahl von Stufen (N/n = 16 Stufen bei dieser Ausführungsform) der Kleinbereichswiederherstellungsschaltung 41 in Horizontalrichtung entschieden. Die Größe (Anzahl von Bits M) des Fensters WN in vertikaler Richtung wird durch die Größe (Anzahl von Bits m) der Kleinbereichwiederherstellungsschaltung 41 in der Vertikalrichtung und die Anzahl von Stufen (M/m = 16 Stufen bei dieser Ausführungsform) der Kleinbereichswiederherstellungsschaltung 41 in Vertikalrichtung entschieden.
- In Fig. 9 ist die Bildwiederherstellungsschaltung 14 mit (N/n) · (M/m) Kleinbereichswiederherstellungsschaltungen 41 versehen. Die in horizontaler Richtung angeordneten Kleinbereichswiederherstellungsschaltungen 41 sind in Kaskade verschaltet. Ferner sind eine Anzahl M-1 von Ein-Bit-Linienspeichern (Ein-Bit-Schieberegistern) 40 vorgesehen, und die Linienspeicher 40 sind ebenfalls in Kaskade verschaltet. Ferner geht die Ausgabe jedes Linienspeichers 40 in die erste Spalte von entsprechenden in der Vertikalrichtung angeordneten Kleinbereichswiederherstellungsschaltungen 41. Das heißt, die ausgegebenen Binärbilddaten der Bildumwandlungsmittel 13 und die Ausgangsdaten der Linienspeicher 40 der ersten bis dritten Stufe werden auf die Kleinbereichswiederherstellungsschaltung 41 in der ersten Spalte und ersten Reihe gegeben. Ähnlich werden die Ausgangsdaten von vier Linienspeichern 40 gleichzeitig auf diejenigen Kleinbereichswiederherstellungsschaltungen der ersten Spalte gegeben, die ihnen entsprechen.
- Unter Bezug auf Fig. 10 enthält jede Kleinbereichswiederherstellungsschaltung n · m Flipflops 42 angeordnet in Reihen in m Reihen und n Spalten. Die Flipflops 42 in der gleichen Reihe (aufgereiht in der Horizontalrichtung) sind in Kaskade verschaltet. Dem Flipflop 42 in jeder Reihe der Kopfspalte werden die Ausgangsdaten eines Linienspeichers 40 (die Ausgangsdaten der Bildumwandlungsmittel 13 werden dem Flipflop 42 in der ersten Reihe und ersten Spalte der Kleinbereichswiederherstellungsschaltung 41 in der ersten Reihe und ersten Spalte eingegeben) oder die Ausgangsdaten der Kleinbereichswiederherstellungsschaltung 41 der unmittelbar vorhergehenden Stufe eingegeben. Die Ausgangsdaten des Flipflop 42 in jeder Reihe der letzten Spalte werden auf ein Flipflop 42 in der Kopfspalte der nachfolgenden Kleinbereichswiederherstellungsschaltung gegeben (dies ist unnötig, wenn keine Kleinbereichswiederherstellungsschaltung an die nachfolgende Stufe angeschlossen ist).
- Die Ausgangsdaten (Ein-Bit-Daten) eines jeden Flipflop 42 werden auf eine Weißpixel-Zählschaltung 43 gegeben. Letztere zählt die Anzahl der in dem kleinen Bereich SA enthaltenen Pixel, die den Weißwert (Binärdaten 1) besitzen. Da sich bei dieser Ausführungsform der kleine Bereich SA aus 4 · 4 Pixeln zusammensetzt, ist der Maximalwert der Zählung 16 und lassen sich die Ausgangsdaten der Zählschaltung 43 durch ein Minimum von 5 Bits ausdrücken (ein Ausdrücken durch 8 Bits ist natürlich zulässig). Ausgangsdaten Ii der Zählschaltung 43 werden die Ausgangsdaten der Kleinbereichswiederherstellungsschaltung 41.
- Die Ausgangsdaten Ii der Kleinbereichswiederherstellungs schaltung 41 sind das Ergebnis des Ausdrückens der mittleren Helligkeit des kleinen Bereichs SA in Form von 16 Werten. Dies sind wiederhergestellte Grauwertbilddaten. Wenn der kleine Bereich SA als ein Bildelement betrachtet wird, kann man von diesen wiederhergestellten Grauwertbilddaten sagen, daß sie die Helligkeit dieses Elements ausdrücken.
- Wenn die Größe jedes kleinen Bereichs SA vergrößert wird, nimmt die Auflösung (Anzahl von Werten) der Helligkeit zu, die räumliche (zweidimensionale) Auflösung des Objekts nimmt aber ab. Dementsprechend sollte die Größe eines jeden kleinen Bereichs SA unter Berücksichtigung der Helligkeitsauflösung und der räumlichen Auflösung, die erforderlich sind, festgelegt werden. Im Gegensatz dazu würde das Fenster WN in Übereinstimmung mit der Größe des Objekts, das eine Bildverarbeitung erfahren soll, eingestellt. Wenn, es beispielsweise der Zweck der Verarbeitung ist zu beurteilen, ob ein Teilbild mit dem Standardbild zusammenfällt, oder die Position eines im Objekt enthaltenen Kreises zu erkennen, wird das Fenster WN auf eine Größe eingestellt, die das Teilbild bzw. die Gesamtheit des Kreises enthält.
- Das Taktsignal CK wird auf die Linienspeicher 40 und die Flipflops 42 der Kleinbereichswiederherstellungsschaltungen 41 in der oben beschriebenen Bildwiederherstellungsschaltung 14 gegeben. Die Daten, die sich in diesen angesammelt haben, werden mit jeder Periode des Taktsignals CK sequentiell verschoben. Dadurch tastet das Fenster WN in horizontaler und vertikaler Richtung ab. An jeder Stelle des Fensters WN werden die wiederhergestellten Grauwertbilddaten in bezug auf alle kleinen Bereiche SA, die im Fenster WN enthalten sind, gewonnen.
- Fig. 11 veranschaulicht ein spezielles Beispiel des Aufbaus einer jeden der Differenzberechnungsschaltungen 15a bis 15k.
- Die Differenzberechnungsschaltung enthält Kleinbereichsdifferenzschaltungen 50, deren Anzahl die gleiche wie diejenige der Kleinbereichswiederherstellungsschaltungen 41 ist. Jede Kleinbereichsdifferenzschaltung 50 setzt sich aus einer Substrahierschaltung 52, einer Absolutwertschaltung 53 und einem Textregister 54 zusammen. Die Ausgangsbilddaten Ii [i = 1 bis (N/n) · (M/m)] der Kleinbereichswiederherstellungsschaltung 41 werden auf den positiven Eingang der Subtrahierschaltung 52 der entsprechenden Kleinbereichsdifferenzschaltung 52 gegeben.
- Wie oben ausgeführt, werden indessen Textdaten Mi, die den vorgenannten wiederhergestellten Grauwertbilddaten Ii entsprechen und die vorab in bezug auf das Standardbild erzeugt werden, in dem Textregister 54 einer jeden Kleinbereichsdifferenzschaltung 50 bei Lieferung durch die CPU 17 gespeichert. Die Textdaten Mi eines jeden Textregisters werden auf den negativen Eingang der Subtrahierschaltung 52 gegeben.
- Die Textdaten Mi sind Grauwertbilddaten eines kleinen Bereichs, die durch Durchführen einer Verarbeitung gemäß einer Technik gewonnen werden, die exakt die gleiche ist, wie diejenige, die für die Bilddaten Ii in bezug auf das Standardbild verwendet wird. Bei dem veranschaulichten Beispiel werden die Bilddaten Mi von der CPU 17 seriell auf jedes Textregister 54 gegeben. Es ist jedoch natürlich zulässig, diese Daten als Paralleldaten über einen Datenbus aufzugeben.
- In der Subtrahierschaltung 52 werden die Textdaten Mi von den wiederhergestellten Grauwertbilddaten Ii subtrahiert, und der Absolutwert der sich ergebenden Differenz wird in der Absolutwertschaltung 53 gewonnen. Die den Absolutwert der Differenz darstellenden Daten gehen in die Addierschaltung 51.
- Die Addierschaltung 51 summiert die von allen Kleinbereichsdifferenzschaltungen 50 ausgegebenen Absolutwertdaten. Der Wert der Summe wird auf die Spitzenhalteschaltung 16 gegeben, die die nächste Stufe ist. Der von der Addierschaltung 51 ausgegebene Summenwert stellt den Grad von Ähnlichkeit zwischen dem Teilbild innerhalb des Fensters und dem Standardbild dar. Je kleiner der Wert der Summe ist, desto größer ist die Ähnlichkeit zwischen dem Teilbild und dem Standardbild.
- Fig. 12 veranschaulicht ein spezielles Beispiel des Aufbaus einer jeder der Spitzenhalteschaltungen 16a bis 16k. Die Spitzenhalteschaltung stellt den Minimalwert der Summe (den minimalen Differenzwert) fest, der von der entsprechenden Differenzberechnungsschaltung geliefert wird, und stellt die Koordinaten fest, die die Position des Fensters WN darstellen, in welchem der minimale Differenzwert erzeugt wird.
- Der in jeder Periode des Taktsignals CA eingegebene Minimalwert der Summe wird durch Verriegelungsschaltungen 61, 62 und eine Komparatorschaltung 60 festgestellt. Der mögliche Maximalwert (alle 1 s beispielsweise) wird in der Verriegelungsschaltung 62 zu der Zeit voreingestellt, zu der das Vertikalsynchronisiersignal VD am Beginn der Spitzenhalteverarbeitung aufgegeben wird. Die von der Differenzberechnungsschaltung vorgesehene Summe wird bei jedem Taktsignal CK in der Verriegelungsschaltung 61 zwischengespeichert. Die Komparatorschaltung 60 vergleicht den Wert der Summe, der gerade in der Verriegelungsschaltung 61 gehalten wird, und den Wert, der gerade in der Verriegelungsschaltung 62 gehalten wird (anfangs der Maximalwert, wie oben erwähnt; vom ersten Vergleichsvorgang an ist der Wert der Minimalwert der Summe, der bis zur aktuellen Zeit vorherrscht). Wenn der Wert der Summe, der gerade in der Verriegelungsschaltung 61 gehalten wird, kleiner ist, erzeugt die Komparatorschaltung 60 ein Ausgangssignal. Das Ausgangssignal des Komparators wird auf die Verriegelungsschaltung 62 als Verriegelungszeitsignal gegeben und der Wert der Summe, der gerade in der Verriegelungsschaltung 62 zu der Zeit gehalten wird, wird in der Verriegelungsschaltung 62 als der Minimalwert bis zu der aktuellen Zeit verriegelt. Unter den eingegebenen Summenwerten wird also der minimale Summenwert bis zur aktuellen Zeit in der Verriegelungsschaltung 62 gehalten.
- Ein X-Zähler 63 wird indessen durch das Horizontalsynchronisiersignal HD gelöscht und zählt dann das ihm eingegebene Taktsignal CK von diesem Zeitpunkt an. Dementsprechend stellt die Zählung im X-Zähler 63 die X-Koordinate des Fensters WN dar. Ein Y-Zähler 64 wird durch das Vertikalsynchronisationssignal VD gelöscht und zählt dann das ihm eingegebene Horizontalsynchronisiersignal HD von diesem Zeitpunkt an. Dementsprechend stellt die Zählung im Y-Zähler 64 die Y-Koordinate des Fensters WN dar. Das Ausgangssignal des Komparators 60 wird als Verriegelungszeitsignale auf die Verriegelungsschaltungen 65, 66 gegeben. Die Verriegelungsschaltungen 65, 66 verriegeln daher die Zählungen der betreffenden Zähler 63, 64, die zu diesem Zeitpunkt vorliegen. Die X, Y-Koordinaten des Fensters WN, in welchem der Wert der Summe als das Minimum zu diesem Zeitpunkt beurteilt wird, werden in den Verriegelungsschaltungen 65, 66 gehalten.
- Wenn das nächste Vertikalsynchronisiersignal VD eingeht, wird der Maximalwert erneut in der Verriegelungsschaltung 62 voreingestellt, und die Verriegelungsschaltungen 67, 68, 69 verriegeln den Minimalwert der Differenz aus der Verriegelungsschaltung 62, die X-Koordinate der Verriegelungsschaltung 65 bzw. die Y-Koordinate der Verriegelungsschaltung 66. Da das Abtasten eines Bildes durch das Fenster WN zu diesem Zeitpunkt abgeschlossen ist, werden der minimale Differenzwert in einem Bild und die X, Y-Koordinaten des Fensters WN, in welchem der minimale Differenzwert erzeugt wird, in den Verriegelungsschaltungen 67, 68, 69 gehalten und auf die CPU 17 gegeben.
- In dem Fall, wo der Bildprozessor 10 in dem Kopiergerät zur Sperrung eines Kopierens von Wertpapieren verwendet wird, brauchen Daten, die die X, Y-Koordinaten des Fensters WN darstellen, in welchem der minimale Differenzwert erzeugt wird, nicht der CPU 17 zugeführt werden. Allein der minimale Differenzwert in einem Bild wird der CPU 17 von jeder der Spitzenhalteschaltungen 16a bis 16k zugeführt. Die CPU 17 findet das Minimum unter den minimalen Differenzwerten auf, die von den Spitzenhalteschaltungen 16a bis 16k her zugeführt werden, und beurteilt, ob das aufgefundene Minimum gleich dem oder kleiner als der Schwellenwert ist. Das Koinzidenzsignal wird nur ausgegeben, wenn das Minimum als gleich dem oder kleiner als der Schwellenwert beurteilt wird.
- Da eine Anzahl von Paaren von Differenzberechnungsschaltungen und Spitzenhalteschaltungen in der oben erwähnten ersten Ausführungsform vorgesehen sind, und eine Anzahl von Textdatenelementen, welche eine Anzahl von Arten von Standardbildern darstellen, in den Differenzberechnungsschaltungen registriert sind, werden Mustergleichheitsprüfungsvorgänge unter Verwendung einer Anzahl von verschiedenen Standardbildern parallel durchgeführt, was zu einer schnellen Verarbeitung führt.
- Die Textdaten können direkt anhand von Standardbilddaten ohne den Zwischenschritt einer Binärbilderzeugungsverarbeitung und Grauwertbildwiederherstellungsverarbeitung erzeugt werden. Im einzelnen werden die Standardbilddaten (ausgedrückt durch acht Bits pro Pixel) in eine Anzahl von kleinen Bereichen unterteilt. Die Bilddaten werden für jeden einzelnen kleinen Bereich aufsummiert, und das Ergebnis des Summiervorgangs wird durch 256 geteilt, wodurch die Textdaten gewonnen werden. Der Grund für die Teilung durch 256 ist der, daß die Bilddaten durch acht Bits dargestellt werden.
- Bei der oben beschriebenen ersten Ausführungsform werden die Binärbilddaten durch Binarisierung der Eingangsbilddaten gewonnen. Gemäß der ersten Abwandlung der ersten Ausführungsform werden Pseudograuwertbilddaten (mehrwertige Bilddaten) gewonnen, indem die Eingangsbilddaten einer mehrwertigen Umwandlung (Quantisierung auf Mehrwerte von mehr als drei Werten) unterworfen werden. Ferner wird eine Verbesserung der Wiederherstellbarkeit angestrebt, indem eine Glättungsverarbeitung durchgeführt wird, wenn die Pseudograuwertbilddaten wiederhergestellt werden.
- Fig. 13 veranschaulicht die Gesamtkonfiguration eines Bildprozessors gemäß der ersten Abwandlung der ersten Ausführungsform. Dieser Prozessor 10A unterscheidet sich von demjenigen der in Fig. 1 gezeigten ersten Ausführungsform darin, daß die Binärbildumwandlungsmittel 13, die Bildwiederherstellungsschaltung 14 und die Differenzberechnungsschaltungen 15a bis 15k durch Pseudograuwert-Bildumwandlungsmittel 13A, eine Bildwiederherstellungsschaltung 14A und Differenzberechnungsschaltungen 15Aa bis 15Ak ersetzt werden. Diese Punkte, die diese Abwandlung von der ersten Ausführungsform unterscheiden, werden nun beschrieben.
- Fig. 14 zeigt ein spezielles Beispiel des Aufbaus der Pseudograuwert-Bildumwandlungsmittel 13A. Die Fig. 15 und 16 veranschaulichen die Prinzipien der Quantisierung und Fehlerverteilung. Die Eingangsbilddaten werden hier auf vier Werte quantisiert.
- Wie oben erwähnt, werden Eingangsbilddaten von 256 Werten, die durch acht Bits dargestellt werden, in Pseudograuwert- Bilddaten von vier Werten, die durch zwei Bits dargestellt werden, umgewandelt. Hierzu werden, wie in Fig. 16 gezeigt, Werte 0 (Schwarzwert), 85, 170 und 255 (Weißwert) der 256 Werte, die den Werten 0, 1, 2 und 3 der vier Werte entsprechen, vorab bestimmt. Schwellenwerte TH1, TH2 und TH3 werden auf die Mitte zwischen den ersteren Werten gesetzt.
- Die Eingangsbilddaten "Data" werden mit den Schwellenwerten TH1, TH2 und TH3 verglichen und "Data" wird auf Pseudograuwertbilddaten 00 ( = 0) eingestellt, wenn "Data" kleiner als der Schwellenwert TH1 ist; auf 01 ( = 1), wenn "Data" größer als der Schwellenwert TH&sub1; und kleiner als der Schwellenwert TH2 ist; auf 10 ( = 2), wenn "Data" größer als der Schwellenwert TH2 und kleiner als der Schwellenwert TH3 ist; und auf 11 ( = 3), wenn "Data" größer als der Schwellenwert TH3 ist. Der bei dieser Quantisierung erzeugte Fehler e wird durch die folgende Gleichung dargestellt:
- e = "Data" - (0, 85, 170 oder 255) Gl. (3)
- Bei dieser Ausführungsform pflanzt sich der Quantisierungsfehler e des interessierenden Pixels E(0), so wie er ist, allein zum nachfolgenden Pixel E(D1) fort, wie dies in Fig. 15 dargestellt ist.
- In Fig. 14 ist angenommen, daß die Bilddaten (acht Bits) des interessierenden Pixels E(0) in der Verriegelungsschaltung zwischengespeichert worden sind. Die Bilddaten "Data" werden auf den Eingang A einer jeden der Komparatorschaltungen 71, 72 und 73 gegeben. Daten, die die Schwellenwerte TH1, TH2, TH3 darstellen, werden auf den Eingang B einer jeden der Komparatorschaltungen 71, 72 und 73 gegeben. Die Komparatorschaltungen 71, 72 und 73 erzeugen jeweils eine Ausgabe, die 1 darstellt, wenn die Eingangsbilddaten "Data" am Eingang A größer als die Schwellenwertdaten am Eingang B sind (A > B), und eine Ausgabe, die 0 darstellt in allen anderen Fällen. Diese Komparatorausgaben werden auf eine Addierschaltung 74 gegeben.
- Die Addierschaltung 74 summiert die auf sie gegebenen Komparatorausgaben. Das Additionsergebnis ist 3, wenn alle der Komparatorschaltungen 71, 72, 73 die Ausgabe 1 erzeugen; 2, wenn die zwei Komparatorschaltungen 71, 72 die Ausgabe 1 erzeugen; 1 wenn nur die Komparatorschaltung 71 die Ausgabe 1 erzeugt; und 0, wenn alle Komparatorschaltungen 71, 72, 73 die Ausgabe 0 erzeugen. Die Additionsergebnisse aus der Addierschaltung 74 werden als Pseudograuwertbilddaten von zwei Bits ausgegeben.
- Die von der Addierschaltung 74 ausgegebenen Additionsergebnisse werden auf eine Multiplizierschaltung 75 zur Multiplikation mit 85 gegeben. Die Ausgabe der Multiplizierschaltung 75 nimmt einen Wert an, der einer der oben erwähnten vier Werte 0, 85, 170, 255 der 256 Werte ist.
- Die Bilddaten "Data" des interessierenden Pixels E(0), die in der Verriegelungsschaltung 70 verriegelt worden sind, gehen in den positiven Eingang eines Subtrahierers 76, und die Ausgabe der Multiplizierschaltung 75 geht in den negativen Eingang der Subtrahierschaltung 76. Die Subtrahierschaltung 76 führt die durch Gleichung (3) gegebene Subtrahieroperation durch und gibt Daten, die den Fehler e darstellen, aus.
- Die den Fehler e darstellenden Daten werden auf eine Addierschaltung 77 gegeben, wo diese Daten zu den Bilddaten des nächsten Pixels E(D1) addiert werden. Das Ergebnis der mit der Addierschaltung 77 durchgeführten Addition wird in der Verriegelungsschaltung 70 zur Zeit des nächsten Taktsignals CK verriegelt.
- Da die oben beschriebene Operation mit der Periode des Taktsignals CK wiederholt wird, geben die Pseudograuwert- Bildumwandlungsmittel 13A Pseudograuwertbilddaten von zwei Bits mit der Periode des Taktsignals CK aus.
- Fig. 17 veranschaulicht den Gesamtaufbau der Bildwiederherstellungsschaltung 14A. Im Vergleich zu der in Fig. 9 gezeigten Bildwiederherstellungsschaltung 14 sieht man, daß diese Schaltung sich dadurch unterscheidet, daß die Ein-Bit-Linienspeicher 40 durch Zwei-Bit-Linienspeicher 40A ersetzt sind. Ferner unterscheidet sich, wie in Fig. 18 gezeigt, der Aufbau einer Kleinbereichswiederherstellungsschaltung 41A auch von demjenigen der weiter oben veranschaulichten Kleinbereichswiederherstellungsschaltung 41.
- Ein spezielles Beispiel des Aufbaus der Kleinbereichswiederherstellungsschaltung 41A ist in Fig. 18 dargestellt. Ein Vergleich mit der in Fig. 10 gezeigten Kleinbereichswiederherstellungsschaltung 41 zeigt, daß sich die Kleinbereichswiederherstellungsschaltung 41A dadurch unterscheidet, daß die Flipflops 42 durch Zwei-Bit-Verriegelungsschaltungen 42A ersetzt sind. Die Weißpixelzählschaltung 43 ist durch eine Helligkeitszählschaltung 43A ersetzt. Die Schaltung 43A dient zur Addition von Zwei-Bit- Signalen aus den 16 Verriegelungsschaltungen 42A. Die Kleinbereichswiederherstellungsschaltung 41A kann also Pseudograuwert bilddaten von vier Werten zu Bilddaten von 48 Werten wiederherstellen, wobei der kleine Bereich SA als ein Bildelement dient.
- Im Vergleich mit der Bildwiederherstellungsverarbeitung gemäß der ersten Ausführungsform ist die räumliche Auflösung die gleiche, wenn die Größe des kleinen Bereichs SA die gleiche ist. Bei der zweiten Ausführungsform werden jedoch die Eingangsbilddaten in Zwei-Bit-, Pseudograuwertbilddaten von vier Werten umgewandelt und die Bildwiederherstellungsverarbeitung wird unter Verwendung dieser Pseudograuwertbilddaten ausgeführt. Dies ist insofern von Vorteil, als die Auflösung der Helligkeit (Dichte) verbessert ist.
- Die Kleinbereichswiederherstellungsschaltung 41A enthält ferner eine Glättungsschaltung 44. Die Glättungsschaltung 44 summiert die wiederhergestellten Bilddaten, die nacheinander von der Helligkeitszählschaltung 43A ausgegeben werden, über drei Perioden des Taktsignals CK.
- Ein Beispiel der Glättungsschaltung 44 ist in Fig. 19 dargestellt. Die von der Helligkeitszählschaltung 43A ausgegebenen wiederhergestellten Bilddaten werden nacheinander in Verriegelungsschaltungen 81, 82 mit dem Zeitpunkt des Taktsignals CK verriegelt. Die wiederhergestellten Bilddaten zu einem bestimmten Zeitpunkt, die durch die Helligkeitszählschaltung 43A ausgegeben werden, und wiederhergestellte Bilddaten, die von den Verriegelungsschaltungen 81, 82 ein und zwei Taktperioden früher als dieser Zeitpunkt ausgegeben werden, werden in einer Addierschaltung 83 addiert, und die Summe wird als geglättete Bilddaten Ii (aus Gründen der Einfachheit werden die geglätteten Bilddaten durch das Zeichen 1± dargestellt, welches das gleiche wie das der wiederhergestellten Bilddaten der ersten Ausführungsform ist) ausgegeben.
- Fig. 20 veranschaulicht ein weiteres Beispiel der Glättungsschaltung 44.
- Solle f(t) die wiederhergestellten Bilddaten zu einer bestimmten Zeit t ersetzen und solle f(t-1), f(t-2) und f(t-3) die wiederhergestellten Bilddaten eine, zwei bzw. drei Taktperioden früher ersetzen. Solle g(t) die geglättete Bilddaten darstellen.
- Da die Glättungsschaltung 44 die wiederhergestellten Bilddaten f(t), f(t-1) und f(t-2) addiert, lassen sich die geglätteten Bilddaten g(t) folgendermaßen schreiben:
- g(t) = f(t) + f(t-1) + f(t-2) Gl. (4)
- Schreibt man (t-1) für t in Gleichung (4), ergibt sich
- g(t-1) = f(t-1) + f(t-2) + f(t-3) Gl. (5)
- Die folgende Gleichung wird aus den Gleichungen (4) und (5) hergeleitet:
- g(t) = g(t-1) + f(t) - f(t-3) Gl. (6)
- Die Schaltung der Fig. 20 führt die Rechenoperation der Gleichung (6) durch. Verriegelungsschaltungen 84, 85, 86 verriegeln die wiederhergestellten Datenelemente f(t-1), f(t-2) bzw. f(t-3). Die Rechenoperation f(t) - f(t-3) vom zweiten Term an auf der rechten Seite der Gleichung (6) wird durch eine Subtrahierschaltung 87 durchgeführt. Eine Verriegelungsschaltung 89 verriegelt die geglätteten Bilddaten g(t-1), die eine Taktperiode früher vorliegen. Dementsprechend wird die Rechen- Operation auf der rechten Seite der Gleichung (6) in einer Addierschaltung 88 durchgeführt, und die geglätteten Bilddaten g(t) werden gewonnen. Die Schaltung der Fig. 20 ist insofern vorteilhaft, als die Schaltungsgröße in der Wirklichkeit vereinfacht im Vergleich zur Schaltung der Fig. 19 ist.
- Wie in Verbindung mit Fig. 15 beschrieben, wird der Fehler e des interessierenden Pixels E(0) nur auf ein nachfolgendes Pixel E(D1) fortgepflanzt. Da jedoch der Fehler des Pixels E(D1) weiter auf das folgend Pixel E(D2) fortgepflanzt wird, hat der Fehler des interessierenden Pixels E(0) in Wirklichkeit einen Einfluß auf Bilddaten auch bei ziemlich weit entfernten Pixeln. Je größer der Abstand vom interessierenden Pixel ist, desto kleiner ist der Grad dieses Einflusses. Gemäß der oben beschriebenen Glättungsverarbeitung wird eine Bildwiederherstellung, die den Einfluß des Fehlers am interessierenden Pixel berücksichtigt, durchgeführt. Dadurch wird die Wiederherstellbarkeit verbessert. Genauer wird, da die wiederhergestellten Bilddaten eines kleinen Bereichs räumlich geglättet werden, die Auflösung hinsichtlich der Helligkeit angehoben, ohne daß ein Abfall der räumlichen Auflösung bewirkt wird. Die Exaktheit von Gleichheitsprüfungen in den Differenzberechnungsschaltungen 15Aa bis 15Ak wird verbessert. Dies ist in einem Fall vorteilhaft, wo es erforderlich ist, kleine Differenzen in der Helligkeit, wie bei einem Bild mit niedrigem Kontrast auszudrücken.
- Jede der Differenzberechnungsschaltungen 15Aa bis 15Ak ist im wesentlichen die gleiche wie die in Fig. 11 gezeigte Differenzberechnungsschaltung. Während 16-Wert-Wiederherstellungsbilddaten in jeder der Differenzberechnungsschaltungen 15a bis 15k behandelt werden, werden 48-Wert-Wiederherstellungs- und Glättungsbilddaten in jeder der Differenzberechnungsschaltungen 15Aa bis 15Ak behandelt. Dies ist der einzige Unterschied. Natürlich sind eine Anzahl von verschiedene Standardbilder darstellenden Textdaten in diesen Differenzberechnungsschaltungen 15Aa bis 15Ak registriert.
- Bei der ersten Ausführungsform und der ersten Abwandlung derselben beinhaltet die als Mustergleichheitsprüfungstechnik verwendete Differenzmethode das Berechnen der Differenz der Helligkeit zwischen dem wiederhergestellten Bild in dem Fenster WN und dem Standardbild für jeden einzelnen kleinen Bereich SA mittels der einzelnen Differenzberechnungsschaltungen 15a bis 15k oder 15Aa bis 15Ak.
- Bei der zweiten Abwandlung der ersten Ausführungsform beinhaltet die Mustergleichheitsprüfungstechnik das Berechnen eines normierten Kreuzkorrelationswerts zwischen dem wiederhergestellten Bild im Fenster WN und dem Standardbild.
- Fig. 21 veranschaulicht ein Beispiel der Gesamtkonfiguration eines Bildprozessors 10B gemäß der zweiten Abwandlung der ersten Ausführungsform. Komponenten, die mit denjenigen der in Fig. 13 gezeigten ersten Abwandlung identisch sind, sind mit gleichen Bezugszeichen bezeichnet. Diese Abwandlung unterscheidet sich insofern, als die Differenzberechnungsschaltungen 15Aa bis 15Ak und die Spitzenhalteschaltungen 16a bis 16k für jedes Feststellen eines Minimalwerts durch Korrelationswertberechnungsschaltungen 15Ba bis 15Bk und Spitzenhalteschaltungen 16Aa bis 16Ak für jedes Feststellen eines Maximalwerts ersetzt sind. Die Binärbildumwandlungsmittel 13 und die Bildwiederherstellungsschaltung 14 gemäß der in Fig. 1 gezeigten Ausführungsform können anstelle der Pseudograuwertbildumwandlungsmittel 13A und Bildwiederherstellungsschaltung 14A verwendet werden.
- Wie bei der ersten Ausführungsform und deren Abwandlung beschrieben, gibt die Bildwiederherstellungsschaltung 14 oder 14A die wiederhergestellten Bilddaten Ii [i = 1 bis r; r = (N/n) · (M/m)] innerhalb des Fensters WN aus, und diese Bilddaten werden auf die Korrelationswertberechnungsschaltungen 15Ba bis 15Bk gegeben. Die wiederhergestellten Bilddaten Ii werden durch den kleinen Bereich SA, der als Bildelement dient, dargestellt. Die Anzahl von kleinen Bereichen SA ist 256 hinsichtlich des oben beschriebenen Beispiels. Das heißt, r = 256. Die CPU 17 gibt indessen die entsprechenden Bilddaten (Textdaten Mi) (i = 1 bis r) betreffend das Standardbild für jede Korelationswertberechnungsschaltung aus, was das Gleichheitskriterium ist. Auf jede der Korrelationswertberechnungsschaltungen 15Ba bis 15Bk werden andere Bilddaten gegeben. Diese Bilddatenelemente Mi werden in einer Zwischenspeicherschaltung, wie etwa einem Textregister, in jeder der Korrelationswertberechnungsschaltungen 15Ba bis 15Bk gehalten. Ein normierter Kreuzkorrelationswert R wird in jeder der Korrelationswertberechnungsschaltungen 15Ba bis 15Bk gemäß der folgenden Gleichung berechnet:
- R² = [r(ΣIM) - (ΣI)(ΣM)]²/[r(ΣI²) - (EI²)] · [r(ΣM²) - (ΣM)²] Gl. (7)
- wobei Σ Addition in bezug auf i = 1 bis r darstellt.
- Der Korrelationswert R wird für das Fenster WN an jeder abgetasteten Position berechnet, und der berechnete Korrelationswert R wird auf die entsprechende Spitzenhalteschaltung 16Aa, 16Ab, ..., oder 16Ak gegeben. Die Spitzenhalteschaltung stellt den Maximalwert des aufgegebenen Korrelationswerts R fest und gibt, wenn die Abtastung des Fensters betreffend ein Bild endet, den Maximalwert sowie die Koordinaten der Position des Fensters WN, in welchem der Maximalwert erzeugt wurde, aus. Der Maximalwert und die Koordinaten werden auf die CPU 17 gegeben.
- In einer Weise, die mit derjenigen der ersten Ausführungsform und der ersten der Abwandlung derselben identisch ist, vergleicht die CPU 17 die aufgegebenen Maximalkorrelationswerte für die Spitzenhalteschaltungen 16Aa bis 16Ak mit dem vorgegebenen Schwellenwert und interpretiert, daß das Standardbild gefunden worden ist, wenn wenigstens einer der Maximalkorrelationswerte den Schwellenwert überschreitet. Das aufgefundene Teilbild (das Bild innerhalb des Fensters, das den Maximalkorrelationswert liefert) wird auf einer Anzeigeeinheit angezeigt oder verschiedenen Arten von Meßvorgängen unterworfen. Alternativ wird von der CPU 17 ein Koinzidenzsignal ausgegeben.
- Fig. 22 veranschaulicht ein Beispiel des Aufbaus der Korrelationswertberechnungsschaltung.
- Die Summe ΣI der wiederhergestellten Bilddaten Ii wird durch eine Addierschaltung 91 und das Quadrat der Summe (ΣI)² in einer Quadrierschaltung 99 berechnet. Das Quadrat Ii² jedes wiederhergestellten Datenelements I; wird durch eine Anzahl r von Quadrierschaltungen 92 und die Summe ΣI² der Quadrate in einer Addierschaltung 93 berechnet.
- Das Produkt IiMi aus den wiederhergestellten Bilddaten Ii und den diesen entsprechenden Textdaten Mi wird in der betreffenden von r Multipliziererschaltungen 94 und die Summe ΣIM dieser Produkte in einer Addierschaltung 95 berechnet.
- Hinsichtlich der Textdaten Mi wird die Summe ΣM der Textdaten Mi in einer Addierschaltung 96 und das Quadrat (ΣM)² dieser Summe durch eine Quadrierschaltung 103 in der gleichen Weise wie bei den wiederhergestellten Bilddaten Ii berechnet. Die Quadrate Mi² dieser Textdatenelemente Mi werden in betreffenden von r Quadrierschaltungen 97 und die Summe ΣM² dieser Quadrate Mi² in einer Addierschaltung 98 berechnet.
- Das Produkt (ΣI)(ΣM) der Summe ΣI der von der Addierschaltung 91 erhaltenen wiederhergestellten Bilddaten und der Summe ΣM der von der Addierschaltung 96 erhaltenen Textdaten wird durch eine Multiplizierschaltung 101 berechnet. Daten, die die Anzahl r von kleinen Bereichen darstellen, werden von der CPU 17 geliefert und das Produkt r(ΣM) aus der Zahl r und dem von der Addierschaltung 95 gewonnenen Wert ΣIM wird durch eine Multiplizierschaltung 102 berechnet. Die Differenz zwischen der Ausgabe der Multiplizierschaltung 102 und der Ausgabe der Multiplizierschaltung 101 wird durch eine Subtrahierschaltung 106 berechnet, und das Quadrat des Ergebnisses der Subtrahieroperation wird durch eine Quadrierschaltung 109 berechnet, womit der Zähler der Gleichung (7) gewonnen ist.
- Das Produkt r(ΣI²) aus der Ausgabe ΣI² der Addierschaltung 93 und der Anzahl r von kleinen Bereichen wird durch eine Multiplizierschaltung 100 berechnet, und die Ausgabe (ΣI)² der Quadrierschaltung 99 wird von diesem Produkt durch eine Subtrahierschaltung 105 subtrahiert. Ähnlich wird das Produkt r(ΣM²) aus der Ausgabe ΣM² der Addierschaltung 98 und der Anzahl r von kleinen Bereichen durch eine Multiplizierschaltung 104 berechnet und die Ausgabe (ΣM)² der Quadrierschaltung 103 von diesem Produkt durch eine Subtrahierschaltung 107 subtrahiert. Die Ergebnisse der mit diesen Subtrahierschaltungen 105, 107, durchgeführten Subtraktion werden durch eine Multiplizierschaltung 108 miteinander multipliziert, womit der Nenner der Gleichung (7) gewonnen ist.
- Die Ausgabe der Quadrierschaltung 109 wird in einer Dividierschaltung 110 durch die Ausgabe der Multiplizierschaltung 108 dividiert, wodurch der Wert R² der linken Seite der Gleichung (7) gewonnen wird.
- Ein Multiplexer 111 wählt eine der Ausgaben der Subtrahier schaltung 105 und der Dividierschaltung 110 gemäß einem auf ihn gegebenen Auswahlsignal S aus. In jedem Fall wird das mit der Dividierschaltung 110 gewonnene Quadrat R² des Korrelationswerts über den Multiplexer 111 auf die entsprechende Spitzenhalteschaltung gegeben.
- Die Verarbeitung zur Berechnung des Korrelationswerts wird während einer Periode des Takts durchgeführt, und der Korrelationswert R wird für das Fenster WN an jeder einzelnen Position gewonnen.
- Es versteht sich von selbst, daß eine Verarbeitung, die zu derjenigen der in Fig. 22 gezeigten Rechenschaltung (Hardwareschaltung) identisch ist, auch durch einen Rechner ausgeführt werden kann, der so programmiert ist, daß er diese Verarbeitung durchführt. Dies gilt auch für die Verarbeitung in anderen in Fig. 1, Fig. 13 oder Fig. 21 dargestellten Schaltungsblöcken.
- Fig. 23 veranschaulicht die Gesamtkonfiguration eines Bildprozessors 10C gemäß einer zweiten Ausführungsform, die nicht beansprucht wird. Dieser Bildprozessor 10C unterscheidet sich von demjenigen der in den Fig. 1, 13 und 21 gezeigten ersten Ausführungsform (einschließlich ihrer Abwandlungen) dadurch, daß eine Bilddrehsteuerschaltung 120 vorgesehen ist, und daß ein einziges Paar aus einer Differenzberechnungsschaltung 15 (oder 15A oder Korrelationswertberechungsschaltung 15B) und einer Spitzenhalteschaltung 16 (oder 16A) anstelle der Anzahl von Paaren dieser Schaltungen verschaltet sind.
- Fig. 24 zeigt ein spezielles Beispiel des Aufbaus der Bilddrehsteuerschaltung 120, welche eine affine Transformation zur Drehung der Bilddaten durchführt.
- Die affine Transformation von X1, Y1 bis X2, Y2 wird folgendermaßen ausgedrückt:
- In einem Fall, wo das Bild um einen Winkel A um eine Mitte (X&sub0; Y&sub0;) gedreht wird, werden die Parameter A bis F folgendermaßen eingestellt:
- A = cos θ
- B = -sin θ
- C = X&sub0; - cosθ · X&sub0; + sinθ · Y&sub0;
- D = sin θ
- E = cos θ
- F = Y&sub0; - sinθ · X&sub0; - sinθ · Y&sub0; Gl. (9)
- In einem Fall, wo das Bild α-mal vergrößert werden soll, sollten die Parameter folgendermaßen ausgewählt werden:
- A = 1/α
- B = C = D = 0
- E = 1/α
- F = 0 Gl. (10)
- In einem Fall, wo das Bild in ein verkleinertes Bild, welches ein α-tel der Größe des Originalbilds ist, werden die Parameter folgendermaßen eingestellt:
- A = α
- B = C = D = 0
- E = α
- F = 0 Gl. (11)
- Wenn das Bild, so wie es ist, beibehalten wird, werden die Parameter folgendermaßen definiert:
- A = E = 1
- B = C = D = F = 0 Gl. (12)
- Bei der in Fig. 24 gezeigten Schaltung werden die vom A/D- Wandler gelieferten Graubilddaten, so wie sie sind, d. h., ohne die affine Transformation, in den Bildspeicher 12 geschrieben. Wenn die Bilddaten aus dem Bildspeicher ausgelesen werden, wird die affine Transformation durchgeführt und Transformationsbilddaten werden auf die Binärbildumwandlungsmittel 13 (oder Pseudograuwert-Bildumwandlungsmittel 13A) übertragen. Die affine Transformation des Bilds wird durch die affine Transformation der Adressen (X- und Y-Koordinaten) der Bilddaten erzielt.
- Ein X-Zähler 121 wird durch das Horizontalsynchronisiersignal HD gelöscht und zählt dann das ihm eingegebene Taktsignal CK von diesem Zeitpunkt an. Dementsprechend stellt die Zählung X1 des X-Zählers 121 die X-Koordinate der Bilddaten dar. Ein Y- Zähler 122 wird durch das Vertikalsynchronisiersignal VD gelöscht und zählt dann das ihm eingegebene Horizontalsynchronisiersignal HD von diesem Zeitpunkt an. Dementsprechend stellt die Zählung Y1 im Y-Zähler 122 die Y-Koordinate der Bilddaten dar. Diese Zählungen X1 und Y1 werden einer Affintransformationsschaltung 123 zugeführt.
- Die Parameter A bis F werden durch die CPU 17 auf die Affintransformationsschaltung 123 gegeben. Wenn die Bilddaten in den Bildspeicher 12 geschrieben werden, werden die durch Gleichung (12) ausgedrückten Parameter A bis F in der Affintransformationsschaltung 123 gesetzt. Dementsprechend werden X, Y- Koordinaten X2, Y2, die die gleichen wie die eingegebenen X1, Y1 sind, von der Affintransformationsschaltung 123 ausgegeben. Wenn die Bilddaten aus dem Bildspeicher 12 ausgelesen werden und das Bild um e gedreht wird, werden die durch Gleichung (9) ausgedrückten Parameter auf die Schaltung 123 gegeben. Die gemäß Gleichung (9) transformierten Koordinaten X2 und Y2 werden von der Affintransformationsschaltung 123 ausgegeben. Die Koordinaten X2 und Y2 werden als Adressen für den Zugriff auf den Bildspeicher 12 verwendet. Die Affintransformationsschaltung 123 kann durch Hardware oder Software realisiert sein.
- Eine Pufferschaltung 124 ist ein eindirektionaler Puffer und ein Puffer 125 ist ein bidirektionaler Puffer. Diese Puffer schaltungen 124 und 125 werden durch ein von der CPU 17 zugeführtes Lese/Schreibsignal R/W freigeschaltet. Beim Schreibvorgang werden die Bilddaten aus dem A/D-Wandler 11 über die Pufferschaltungen 124 und 125 auf den Bildspeicher 12 übertragen. Ferner werden Schreibimpulse, die von einer NICHT-UND-Schaltung 126 synchron mit dem Taktsignal CK geliefert werden, dem Bildspeicher 12 zugeführt. Beim Lesevorgang werden die aus dem Bildspeicher 12 ausgelesenen Bilddaten auf die Binärbildumwandlungsmittel 13 über die bidirektionale Pufferschaltung 125 übertragen. Der Auslesevorgang der Bilddaten aus dem Bildspeicher 12 wird ebenfalls synchron mit dem Taktsignal CK durchgeführt.
- Bei dem in Fig. 23 gezeigten Bildprozessor 10C werden die Textdaten, die ein einzelnes Standardbild, d. h. das Standardbild mit einem Drehwinkel von null Grad, wie in Fig. 5 gezeigt, darstellen, in der Differenzberechnungsschaltung 15 registriert.
- Die Videokamera 9 gibt sequentiell Videosignale, die die gleichen Objektbilder darstellen, zu bestimmten Zeitintervallen, z. B. Halbbildintervallen (1/60 s) oder Vollbildintervallen (2/60 s) aus. Die Videosignale werden durch den A/D-Wandler 11 in Folge in Bilddaten umgewandelt, die dem Bildspeicher 12 über die Bilddrehsteuerschaltung 120 zugeführt werden. Alternativ wird ein Videosignal, welches ein Vollbild des Objektbilds darstellt, von der Videokamera 9 ausgegeben und in Bilddaten eines Vollbilds zur Speicherung in einem Vollbild-(Halbbild-)Speicher umgewandelt. Die Bilddaten werden aus dem Vollbildspeicher wiederholt zu bestimmten Zeitintervallen zur Aufgabe auf den Bildspeicher 12 über die Bilddrehsteuerschaltung 120 ausgelesen.
- Eine Mustergleichheitsprüfungsverarbeitung in der Berechnungsschaltung 15 wird mit bestimmten Zeitintervallen wiederholt. In der ersten Periode werden die mit der Kamera 9 aufgenommenen Bilddaten auf die Binärbildumwandlungsmittel 13 über die Bilddrehsteuerschaltung 120 ohne Drehung aufgegeben. Der Minimaldifferenzwert in einem Bild, der mit der Mustergleichheitsprüfung mit dem Standardbild gewonnen wird, wird von der Spitzenhalteschaltung 16 zur Aufgabe auf die CPU 17 ausgegeben. In der zweiten Periode werden die den Binärbildumwandlungsmitteln 13 zuzuführenden Bilddaten über die Bilddrehsteuerschaltung 120 um einen Winkel θ1 (θ1 ist ein beliebiger Winkel) gedreht. Das um θ1 gedrehte Bild wird mit dem Standardbild verglichen, und der durch diesen Vergleich gewonnene Minimaldifferenzwert von der Spitzenhalteschaltung 16 der CPU 17 zugeführt. Auf diese Weise wird die Mustergleichheitsprüfungsverarbeitung wiederholt durchgeführt, während sich der Drehwinkel in der Bilddrehsteuerschaltung 120 schrittweise als θ1, 2θ1, 3θ1 usw. ändert. Wenn diese Verarbeitungen N-mal abgeschlossen sind, sind N Bilder mit unterschiedlichen Drehwinkeln i·θ (i = 0, 1, 2, ..., N-1) mit dem Standardbild verglichen worden und N Minimaldifferenzwerte (oder N Maximaldifferenzwerte) gewonnen.
- Die CPU 17 führt die Minimumoperation der N Minimaldifferenzwerte aus und vergleicht ferner das Minimumoperationsergebnis (welches ein Minimalwert unter den N Minimumdifferenzwerten ist) mit einem Schwellenwert. Wenn das Minimumoperationsergebnis gleich oder kleiner als der Schwellenwert ist, entscheidet die CPU 17, daß ein Bild, welches mit dem Standardbild zusammenfällt, bei der Bildaufnahme vorhanden ist. Die CPU 17 kann natürlich die X, Y-Koordinate des Fensters WN erkennen, in welchem das zum Standardbild passende Bild vorliegt.
- Gemäß der zweiten Ausführungsform ist, da nur ein Paar aus Berechnungsschaltung 15 und Spitzenhalteschaltung 16 zur Durchführung von Mustergleichheitsprüfungsvorgängen in bezug auf Bilder mit unterschiedlichen Drehwinkeln ausreicht, der Hardwareaufbau des Bildprozessors 10C vereinfacht, wenngleich eine verhältnismäßig lange Zeit erforderlich ist, um die Verarbeitungen zu Ende zu bringen.
- Fig. 25 veranschaulicht die Gesamtkonfiguration eines Bildprozessors 10D gemäß einer dritten Ausführungsform. Der Bildprozessor 10D ist mit einer Anzahl von Paaren aus Differenzberechnungsschaltungen 15a, 15b, 15c (oder 15Aa, 15Ab, 15Ac, oder Korrelationswertberechungsschaltungen 15Ba, 15Bb, 15Bc) und Spitzenhalteschaltungen 16a, 16b, 16c (oder 16Aa, 16Ab, 16Ac) versehen. Eine Anzahl (drei in Fig. 25) von Paaren obiger Schaltungen bei der dritten Ausführungsform ist kleiner als diejenige bei der ersten Ausführungsform (einschließlich ihrer Abwandlungen). Ferner ist der Bildprozessor 10D der dritten Ausführungsform mit der Bilddrehsteuerschaltung 120 versehen.
- Die das Standardbild darstellenden Textdaten werden in jeder der Rechenschaltungen 15a bis 15c registriert. Die Standardbilder für die Rechenschaltungen 15a bis 15c sind die gleichen, haben aber unterschiedliche Drehwinkel. Beispielsweise haben die Standardbilder für die Schaltungen 15a, 15b und 15c die Drehwinkel 0, θ2 bzw. 2θ2 Grad (θ2 ist ein beliebiger Winkel).
- Die Mustergleichheitsprüfungsverarbeitung wird (β/3θ2) - 1 Mal für ein aufgenommenes Bild wiederholt, während das aufgenommene Bild um einen Winkel 3θ2 für jede Verarbeitung mit der Bilddrehsteuerschaltung 120 gedreht wird. Das heißt, bei der ersten Verarbeitung wird das aufgenommene Bild nicht gedreht (d. h., der Drehwinkel ist null). Die Drehwinkel sind 3θ2, 6θ2, 9θ2, ... bei der zweiten Verarbeitung und den nachfolgenden Verarbeitungen. Der Winkel β ist ein zu durchsuchender Winkelbereich (z. B. β = 360 Grad).
- Alternativ werden die Drehwinkel der Standardbilder für die Berechnungsschaltungen 15a bis 15c auf 0, 120 bzw. 240 Grad im Falle von β - 360 Grad eingestellt. Das mit der Kamera 9 aufgenommene Bild wird durch die Bilddrehsteuerschaltung 120 für jede Verarbeitung um i·θ2 gedreht, wobei i mit jeder Verarbeitung von null an inkrementiert wird, d. h. i = 0, 1, 2, ..., (β/3θ2) -1.
- Auf diese Weise wird das aufgenommene Bild im wesentlichen mit den Standardbildern mit Drehwinkeln i·θ2 (i = 0, 1, 2, (β/θ2-1) verglichen. Die CPU 17 beurteilt in der gleichen Weise wie bei der ersten und zweiten Ausführungsform beruhend auf den Minimaldifferenzwerten (oder Maximalkorrelationswerten), die von den Spitzenhalteschaltungen 16a bis 16c (oder 16Aa bis 16Ac) zugeführt werden, ob das aufgenommene Bild mit irgendeinem der Standardbilder zusammenfällt.
- Gemäß der dritten Ausführungsform sind sowohl die Anzahl von Paaren von Schaltungen 15a bis 15c, 16a bis 16c als auch die Anzahl von auszuführenden Verarbeitungen verhältnismäßig klein, so daß der Aufbau des Bildprozessors 10D im Verhältnis einfacher ist als bei der ersten Ausführungsform und die Verarbeitungszeit verglichen mit der dritten Ausführungsform verhältnismäßig kurz ist.
- Wie aus den Gleichungen (10) und (11) ersichtlich, kann das aufgenommene Bild mit der Bilddrehsteuerschaltung 120 vergrößert oder verkleinert werden. Dementsprechend kann ein vergrößertes und verkleinertes Bild und sogar ein vergrößertes und gedrehtes und verkleinertes und gedrehtes Bild mit den Standardbildern verglichen werden.
- Da viele offensichtlich in großem Maße unterschiedliche Ausgestaltungen der vorliegenden Erfindung vorgenommen werden können, ohne deren Rahmen zu verlassen, versteht sich, daß die Erfindung nicht auf die speziellen Ausführungsformen derselben, ausgenommen wie in den beigefügten Ansprüchen definiert, beschränkt ist.
Claims (14)
1. Bildprozessor, welcher aufweist:
erste Bildumwandlungsmittel (13, 13A) zur Umwandlung von
Eingangs-Bilddaten, die durch eine erste bestimmte Anzahl von
Bits pro Pixel dargestellt sind, in Bilddaten, die durch eine
zweite bestimmte Anzahl von Bits dargestellt sind, die kleiner
als die erste bestimmte Anzahl von Bits ist,
Bildwiederhestellungs-Schaltungsmittel (14, 14A) zur
Wiederherstellung der durch die ersten Bildumwandlungsmittel
umgewandelten Daten für alle einer Anzahl von kleinen Bereichen,
von denen jeder eine Anzahl von Pixeln umfaßt, wobei ein kleiner
Bereich jeweils ein wiederhergestelltes Pixel bildet, und zur
Ausgabe wiederhergestellter Bilddaten, und
eine Anzahl von Ähnlichkeitsoperations-Schaltungsmitteln
(15a, 15b, 15k, 15Aa, 15Ab, 15Ak, 15Ba, 15Bb, 15Bk), die parallel
arbeiten, jeweils zur Berechnung eines Indexwertes, welcher einen
Grad von Ähnlichkeit zwischen den von den Bildwiederherstellungs-
Schaltungsmitteln ausgegebenen wiederhergestellten Bilddaten und
ein Standardbild darstellenden vorab eingestellten
Referenzbilddaten darstellt, wobei die Standardbilder für die Anzahl von
Ähnlichkeitsoperations-Schaltungsmitteln voneinander verschieden
sind.
2. Bildprozessor nach Anspruch 1, welcher ferner aufweist:
zweite Umwandlungsmittel (120) zur Umwandlung von Eingangs-
Bilddaten in Bilddaten, die Bilder darstellen, die sich im
Drehwinkel oder in der Größe von dem durch die Eingangs-Bilddaten
dargestellten Bild unterscheiden, wobei die mit den zweiten
Umwandlungsmitteln umgewandelten Bilddaten den ersten
Bildumwandlungsmitteln als dessen Eingangsbilddaten zugeführt werden.
3. Bildprozessor nach Anspruch 1 oder 2, wobei die
Standardbilder Bilder von Referenzobjekten sind, die voneinander
verschieden sind.
4. Bildprozessor nach Anspruch 1 oder 2, wobei die
Standardbilder beruhend auf einem einzelnen Referenzobjekt und
voneinander unterschiedlich im Drehwinkel oder in der Größe ausgebildet
sind.
5. Bildprozessor nach Anspruch 1 oder 2, welcher ferner
Beurteilungsmittel (17) zur Bestimmung, ob ein durch die
Eingangs-Bilddaten dargestelltes Objektbild mit wenigstens einem
der Standardbilder zusammenfällt, auf der Grundlage der mit der
Anzahl der Ähnlichkeits-Operationsschaltungsmittel berechneten
Indexwerte.
6. Bildprozessor nach Anspruch 1 oder 2, wobei die ersten
Bildumwandlungsmittel (13) die Eingangs-Bilddaten unter
Verwendung eines Fehlerverteilverfahrens binarisieren und
binari
sierte Bilddaten, die durch ein Bit pro Pixel dargestellt werden,
erzeugen.
7. Bildprozessor nach Anspruch 1 oder 2, wobei die ersten
Bildumwandlungsmittel (13A) die Eingangs-Bilddaten einer Vier-
Wert-Umwandlung unter Verwundung eines Fehlerverteilverfahrens
unterwerfen und Pseudograuwert-Bilddaten erzeugen, die durch zwei
Bit pro Pixel dargestellt werden.
8. Bildprozessor nach Anspruch 1 oder 2, wobei
die Bildwiederherstellungs-Schaltungsmittel die durch die
ersten Bildumwandlungsmittel umgewandelten Daten für jeden einer
Anzahl von kleinen Bereichen (SA) wiederherstellen, von denen
jede in einem Fenster (WN) vorgesehen ist, das die mit den ersten
Bildumwandlungsmitteln umgewandelten Bilddaten abtastet, und
wiederhergestellte Bilddaten an jeder Stelle der Fenster ausgeben,
und
jedes der Ähnlichkeitsoperations-Schaltungsmittel den
Indexwert, der einen Grad von Ähnlichkeit zwischen den durch die
Bildwiederherstellungs-Schaltungsmittelsequenziell ausgegebenen
wiederhergestellten Bilddaten eines jeden Fensters und den das
vorab eingestellte Standardbild darstellenden Referenzbilddaten
berechnen.
9. Bildprozessor nach Anspruch 8, welcher ferner eine Anzahl
von Spitzenhalte-Schaltungsmitteln (16a, 16b, 16k, 16Aa, 16Ab,
16Ak) jeweils zur Feststellung eines Indexwertes, welcher den
höchsten Grad an Ähnlichkeit darstellt, unter den Ähnlichkeits-
Indexwerten, die die einzelnen Fenster betreffen und von den
entsprechenden Ähnlichkeitsoperations-Schaltungsmitteln gewonnen
sind, und von Lagedaten, die das Fenster angeben, in welchem
dieser Indexwert erzeugt wird.
10. Bildprozessor nach Anspruch 9, welcher ferner
Beurteilungsmittel (17) zur Bestimmung, ob ein durch die Eingangs-
Bilddaten dargestelltes Objektbild einen Bildabschnitt aufweist,
der mit wenigstens einem der Standardbilder zusammenfällt, auf
der Grundlage der Indexwerte, die durch die Anzahl der
Spitzenhalte-Schaltungsmittel festgestellt sind.
11. Bildprozessor nach Anspruch 8, wobei der den
Ähnlichkeitsgrad darstellende Indexwert ein Differenzwert in
Bildhelligkeit ist und die Ähnlichkeitsoperations-Schaltungsmittel (15a,
15b, 15k, 15Aa, 15Ab, 15Ak) Absolutwerte von Differenzen zwischen
gespeicherten Bilddaten und entsprechenden Referenzbilddaten für
jeden kleinen Bereich (SA) berechnen, die Absolutwerte dieser
Differenzen über alle kleinen Bereiche, die in einem einzelnen
Fenster (WN) enthalten sind, summieren und den Summenwert als den
Indexwert ausgeben.
12. Bildprozessor nach Anspruch 11, wobei die Spitzenhalte-
Schaltungsmittel (16a, 16b, 16k) einen kleinsten Summenwert unter
den die einzelnen Fenster betreffenden Summenwerten, die durch
die Ähnlichkeitsoperations-Schaltungsmittel gewonnen sind, sowie
Lagedaten, die das Fenster angeben, in welchem der kleinste
Summenwert erzeugt wird, feststellen.
13. Bildprozessor nach Anspruch 8, wobei die
Ähnlichkeitsoperations-Schaltungsmittel (15Ba, 15Bb, 15Bk) einen
Kreuzkorrelationswert zwischen wiederhergestellten Bilddaten und
Referenzbilddaten für jedes Fenster (WN) berechnen und diesen
Kreuzkorrelationswert als den Indexwert, der den Ähnlichkeitsgrad
darstellt, ausgeben.
14. Bildprozessor nach Anspruch 13, wobei die Spitzenhalte-
Schaltungsmittel (16Aa, 16Ab, 16Ak) einen größten
Kreuzkorrelationswert unter den die einzelnen Fenster betreffenden
Kreuzkorrelationswerten, die mit den
Ähnlichkeitsoperations-Schaltungsmitteln gewonnen sind, sowie Lagedaten, die das Fenster angeben,
in welchem der größte Kreuzkorrelationswert erzeugt wird,
feststellen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16012893A JP3243894B2 (ja) | 1993-06-04 | 1993-06-04 | 濃淡画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69424086D1 DE69424086D1 (de) | 2000-05-31 |
DE69424086T2 true DE69424086T2 (de) | 2001-02-01 |
Family
ID=15708481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69424086T Expired - Fee Related DE69424086T2 (de) | 1993-06-04 | 1994-06-03 | Bildprozessor |
Country Status (5)
Country | Link |
---|---|
US (1) | US5521987A (de) |
EP (1) | EP0627844B1 (de) |
JP (1) | JP3243894B2 (de) |
DE (1) | DE69424086T2 (de) |
SG (1) | SG55043A1 (de) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3679592B2 (ja) * | 1998-01-20 | 2005-08-03 | キヤノン株式会社 | 信号処理装置及び撮像装置 |
US6501565B1 (en) * | 1998-07-07 | 2002-12-31 | Electronics For Imaging, Inc. | Method and apparatus for smoothing text outlines |
US6310697B1 (en) | 1998-07-07 | 2001-10-30 | Electronics For Imaging, Inc. | Text enhancement system |
JP2001298616A (ja) * | 2000-04-13 | 2001-10-26 | Canon Inc | 閾値マトリクス、及びそれを利用した階調再現方法とその装置 |
JP4980508B2 (ja) * | 2000-04-24 | 2012-07-18 | エーユー オプトロニクス コーポレイション | 液晶表示装置、モノクローム液晶表示装置、コントローラ、および画像変換方法 |
FI110045B (fi) * | 2000-11-08 | 2002-11-15 | Antti Lahtinen | Menetelmä ja laite harmaasävykuvan muuntamiseksi valeharmaakuvaksi |
JP4128513B2 (ja) * | 2003-10-07 | 2008-07-30 | 株式会社新川 | ボンディング用パターン識別方法、ボンディング用パターン識別装置及びボンディング用パターン識別プログラム |
JP4088232B2 (ja) * | 2003-10-07 | 2008-05-21 | 株式会社新川 | ボンディング方法、ボンディング装置及びボンディングプログラム |
US7710604B2 (en) * | 2004-03-11 | 2010-05-04 | Infoprint Solutions Company, Llc | Method and system for providing a high quality halftoned image |
US7570800B2 (en) * | 2005-12-14 | 2009-08-04 | Kla-Tencor Technologies Corp. | Methods and systems for binning defects detected on a specimen |
WO2008091898A1 (en) * | 2007-01-23 | 2008-07-31 | Imra America, Inc. | Ultrashort laser micro-texture printing |
US7894659B2 (en) * | 2007-02-28 | 2011-02-22 | Kla-Tencor Technologies Corp. | Methods for accurate identification of an edge of a care area for an array area formed on a wafer and methods for binning defects detected in an array area formed on a wafer |
US7925072B2 (en) * | 2007-03-08 | 2011-04-12 | Kla-Tencor Technologies Corp. | Methods for identifying array areas in dies formed on a wafer and methods for setting up such methods |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3614736A (en) * | 1968-05-21 | 1971-10-19 | Ibm | Pattern recognition apparatus and methods invariant to translation, scale change and rotation |
US4468809A (en) * | 1981-12-23 | 1984-08-28 | Ncr Corporation | Multiple font OCR reader |
EP0195161B1 (de) * | 1985-03-14 | 1993-09-15 | Nikon Corporation | Gerät und Verfahren zum selbsttätigen Inspizieren von Objekten und zum Identifizieren oder Erkennen bekannter und unbekannter Teile davon, einschliesslich Fehler und dergleichen |
US4658428A (en) * | 1985-07-17 | 1987-04-14 | Honeywell Inc. | Image recognition template generation |
US5046109A (en) * | 1986-03-12 | 1991-09-03 | Nikon Corporation | Pattern inspection apparatus |
US5051844A (en) * | 1989-01-30 | 1991-09-24 | Eastman Kodak Company | Digital halftoning with error diffusion |
US5208871A (en) * | 1990-10-19 | 1993-05-04 | Xerox Corporation | Pixel quantization with adaptive error diffusion |
-
1993
- 1993-06-04 JP JP16012893A patent/JP3243894B2/ja not_active Expired - Fee Related
-
1994
- 1994-06-01 US US08/251,966 patent/US5521987A/en not_active Expired - Lifetime
- 1994-06-03 SG SG1996003471A patent/SG55043A1/en unknown
- 1994-06-03 EP EP94108540A patent/EP0627844B1/de not_active Expired - Lifetime
- 1994-06-03 DE DE69424086T patent/DE69424086T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
SG55043A1 (en) | 1998-12-21 |
JP3243894B2 (ja) | 2002-01-07 |
EP0627844A3 (de) | 1995-11-15 |
JPH06348850A (ja) | 1994-12-22 |
EP0627844A2 (de) | 1994-12-07 |
US5521987A (en) | 1996-05-28 |
EP0627844B1 (de) | 2000-04-26 |
DE69424086D1 (de) | 2000-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3854996T2 (de) | Anlage und Verfahren zur Zellbildverarbeitung | |
DE69715076T2 (de) | Vorrichtung zur Erzeugung eines Binärbildes | |
DE2740483C2 (de) | Vorrichtung zur Feststellung von Merkmalen | |
DE69533054T2 (de) | Mehrfenstertechnik zur Schwellenwertverarbeitung eines Bildes unter Verwendung lokaler Bildeigenschaften | |
DE69024537T2 (de) | Infrarot-Überwachungssystem | |
DE69604481T2 (de) | Verfahren und gerät zum trennen des vordergrunds und hintergrunds in textenthaltenden bildern | |
DE69620125T2 (de) | Gerät zur Bildverarbeitung von Fingerabdrücken | |
DE69027616T2 (de) | Gerät und Verfahren zum Bestimmen von Konturen und Linien | |
DE69422446T2 (de) | Mustererkennung | |
DE2417282C3 (de) | Vorrichtung zum Lesen von Fingerabdrücken | |
DE69226846T2 (de) | Verfahren zur Bestimmung von Wortgrenzen im Text | |
DE69424086T2 (de) | Bildprozessor | |
DE3633743C2 (de) | ||
DE3886560T2 (de) | Musterkonturen in Bildverarbeitung. | |
DE4131778C2 (de) | Verfahren und Vorrichtung zur Kantenerkennung für ein Bildverarbeitungssystem | |
DE69800009T2 (de) | Verfahren und Gerät zur Überprüfung statischer Unterschriften mittels dynamischer Information | |
DE69125139T2 (de) | Verfahren und Vorrichtung zur Korrektur von Weisschattierungen | |
DE102007035884B4 (de) | Linienrauschunterdrückungsvorrichtung, -verfahren und -programm | |
DE2703158A1 (de) | Einrichtung zum erkennen einer zeichenposition | |
DE69223536T2 (de) | Bildverarbeitungsgerät | |
DE69330813T2 (de) | Bildprozessor und verfahren dafuer | |
DE3718620C2 (de) | ||
EP0484935B1 (de) | Verfahren und Vorrichtung zum Lesen und Identifizieren der Information einer Zeichenvorlage, insbesondere eines Barcodes, innerhalb eines zwei- oder drei-dimensionalen Feldes mittels einer Video-Kamera, die ein binäres Videosignal des Bildes zu erzeugen imstande ist | |
DE4113367C2 (de) | Bildverarbeitungseinrichtung | |
DE19883010B4 (de) | Verfahren und Vorrichtung zum Erkennen eines sich bewegenden Objekts in einer Abfolge von Farbvollbildern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |