DE3922652C2 - - Google Patents
Info
- Publication number
- DE3922652C2 DE3922652C2 DE3922652A DE3922652A DE3922652C2 DE 3922652 C2 DE3922652 C2 DE 3922652C2 DE 3922652 A DE3922652 A DE 3922652A DE 3922652 A DE3922652 A DE 3922652A DE 3922652 C2 DE3922652 C2 DE 3922652C2
- Authority
- DE
- Germany
- Prior art keywords
- image
- point
- cursor
- object point
- determination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/02—Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B1/00—Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor
- A61B1/00163—Optical arrangements
- A61B1/00193—Optical arrangements adapted for stereoscopic vision
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B1/00—Instruments for performing medical examinations of the interior of cavities or tubes of the body by visual or photographical inspection, e.g. endoscopes; Illuminating arrangements therefor
- A61B1/00163—Optical arrangements
- A61B1/00194—Optical arrangements adapted for three-dimensional imaging
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/103—Measuring devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
- A61B5/107—Measuring physical dimensions, e.g. size of the entire body or parts thereof
- A61B5/1076—Measuring physical dimensions, e.g. size of the entire body or parts thereof for measuring dimensions inside body cavities, e.g. using catheters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04812—Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/156—Mixing image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/239—Image signal generators using stereoscopic image cameras using two two-dimensional [2D] image sensors having a relative position equal to or related to the interocular distance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/275—Image signal generators from three-dimensional [3D] object models, e.g. computer-generated stereoscopic image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/167—Synchronising or controlling image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/189—Recording image signals; Reproducing recorded image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/286—Image signal generators having separate monoscopic and stereoscopic modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0081—Depth or disparity estimation from stereoscopic image signals
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Surgery (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Pathology (AREA)
- Biophysics (AREA)
- Human Computer Interaction (AREA)
- Radiology & Medical Imaging (AREA)
- Optics & Photonics (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Dentistry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Endoscopes (AREA)
- Instruments For Viewing The Inside Of Hollow Bodies (AREA)
Description
Die Erfindung betrifft eine Vorrichtung zum dreidimensionalen
Messen gemäß dem Oberbegriff des Patentanspruches 1.
In letzter Zeit werden in zunehmendem Maße im medizinischen
und industriellen Bereich Endoskope verwendet.
So stellt z. B. bei einem mit Hilfe eines gewöhnlichen
Endoskops wahrgenommenen Bild der inspizierte Teil im
allgemeinen eine Ebene dar, so daß eine Unebenheit kaum
erkannt werden kann. Demzufolge wird in der JP-OS 24 215/1989
eine Vorrichtung offenbart, bei der zwei Objektivlinsensysteme
im Kopfteil eines Endoskopes angeordnet sind, so daß zwei von
diesen beiden Objektivlinsensystemen erhaltene Bilder über
einen Bildleiter zu einem Okularteil geleitet werden können,
um mit Hilfe eines Binokels ein kubisches Gesichtsfeld zu
erhalten. Ferner ist in der JP-OS 46 927/1983 ein
Stereoendoskop offenbart, das im Kopfteil mit zwei optischen
Abbildungssystemen und zwei Festkörper-
Bildaufnahmeeinrichtungen ausgestattet ist.
Obwohl mit einem solchen Endoskop ein kubisches Gesichtsfeld
vorgesehen werden kann, besteht jedoch der Nachteil, daß der
Abstand zum Bild im Gesichtsfeld nicht gewonnen werden kann.
Eine Technik zur Beseitigung dieses Nachteils ist in der JP-OS
63 432/1988 offenbart. Wie aus Fig. 51(a) ersichtlich, werden
zur Bestimmung der Meßobjektpunkte im Raum die Positionen der
Meßobjektpunkte in den jeweiligen Bildern mit Hilfe einer
Punkteinstelleinrichtung oder dergleichen auf einer Vielzahl
von Bildern mit Parallaxen vorgeben, und dadurch gerade
Linien im Raum bestimmt, die durch die Abbildungseinrichtungen
zum Erzeugen der Bilder und die Meßobjektpunkte laufen. Falls
die Positionen der Meßobjektpunkte auf den jeweiligen Bildern
mittels einer Vielzahl von Abbildungseinrichtungen vorgegeben
werden, die an Stellen mit Parallaxen angeordnet sind, so wird
dadurch eine Vielzahl von geraden Linien im Raum bestimmt. Im
allgemeinen haben die geraden Linien im Raum nicht immer
Schnittpunkte, jedoch sollten diese alle durch die
Meßobjektpunkte verlaufen. Werden somit die Positionen exakt
bestimmt, so können die Positionen der Meßobjektpunkte für die
Abbildungseinrichtungen im Raum als die Schnittpunkte dieser
geraden Linien berechnet werden.
Jedoch besteht ein Problem darin, daß bei einem Endoskopbild
dem zu messenden Objekt nicht immer ein deutlicher Detailpunkt
zugeordnet ist. Falls somit kein deutlicher Detailpunkt
vorliegt, wird die Positionsbestimmung der Meßobjektpunkte auf
den jeweiligen Bildern aller Wahrscheinlichkeit nach ungenau
sein. Demzufolge haben die geraden Linien im Raum, die durch
die Meßobjektpunkte laufen, keinen Schnittpunkt, so daß der
Abstand nicht gemessen werden kann, wie dies in Fig. 51(b)
ersichtlich ist.
Als Mittel zum Bestimmen der Punkte auf den Bildern der
entsprechenden Monitore wird z. B. jeweils ein Cursor
verwendet, der zu der gewünschten Position hinbewegt wird.
Jedoch besteht ein Problem dahingehend, daß z. B. zum Bewegen
jedes Cursors eine separate Maus vorgesehen werden muß, was
den Bestimmungsvorgang kompliziert macht.
Ferner tritt ein Problem dahingehend auf, daß, falls auf den
Bildern beider Monitore jeweils ein Cursor wiedergegeben wird,
es Schwierigkeiten bereitet, zu erkennen, welcher Cursor auf
den Bildern der bewegte Cursor ist und auf welchem Bild die
Punkte bestimmt werden können.
Obwohl, wie oben beschrieben, die Größe des Gegenstandes bzw.
Objektes numerisch bestimmt werden kann, ist es erwünscht, die
Größe des Gegenstandes direkt durch Sicht feststellen zu
können.
Der Erfindung liegt die Aufgabe zugrunde, eine Vorrichtung zum
dreidimensionalen Messen vorzuschlagen, bei der die Bestimmung
der jeweiligen Objektpunkte auf einer Vielzahl von Bildern mit
Parallaxen zur Spezifizierung der Meßobjektpunkte im Raum
einfach und mit hoher Genauigkeit durchführbar ist.
Die Lösung dieser Aufgabe ergibt sich anhand der Merkmale des
Patentanspruches 1.
Vorteilhafte Ausgestaltungen des Gegenstands der Erfindung sind
in Unteransprüchen angegeben.
Die Erfindung wird nachstehend anhand der Zeichnung näher
erläutert. Es zeigen
Fig. 1 bis 5 ein erstes Ausführungsbeispiel, wobei
Fig. 1 den Aufbau einer Meßendoskopvorrichtung anhand eines
Blockdiagramms,
Fig. 2 das vordere Teil einer Einrichtung zum Aufnehmen
eines kubischen Endoskopbildes,
Fig. 3 ein Bedienungsfeld für eine Cursorinformations-
Bestimmungseinrichtung,
Fig. 4 ein Beispiel für Arbeitsbilder und
Fig. 5 ein Verfahren zum Berechnen der Position einer
Führungslinie und der Position eines Objektpunktes
wiedergibt;
Fig. 6 bis 25 ein zweites Ausführungsbeispiel, wobei
Fig. 6 den schematischen Aufbau anhand eines Blockdiagramms,
Fig. 7 das Kopfteil eines Endoskopeinführteils,
Fig. 8 den Aufbau einer Meßendoskopvorrichtung anhand eines
Blockdiagramms,
Fig. 9 den Aufbau eines Host-Computers anhand eines
Blockdiagramms,
Fig. 10 ein Verfahren zum Bestimmen einer Führungslinie
anhand einer Prinzipdarstellung,
Fig. 11 ein Verfahren zum Bestimmen einer dreidimensionalen
Kooridinate anhand einer Prinzipdarstellung,
Fig. 12 ein Verfahren zum Bestimmen eines Indexkreises anhand
einer Prinzipdarstellung,
Fig. 13 eine Ansicht zur Erläuterung des Austausches der
Position auf dem linken Bild und der Position auf
einer Abbildungseinrichtung,
Fig. 14 eine im linken Bild wiedergegebene Führungslinie,
Fig. 15 einen im rechten Bild wiedergegebenen Indexkreis und
Fig. 16 bis 25 Flußdiagramme zur Erläuterung der
Funktionsweise dieses Ausführungsbeispiels
wiedergibt;
Fig. 26 und 27 Flußdiagramme zur Erläuterung einer ersten
Modifikation des zweiten Ausführungsbeispiels;
Fig. 28 und 29 Flußdiagramme zur Erläuterung einer zweiten
Modifikation des zweiten Ausführungsbeispiels;
Fig. 30 bis 37 eine dritte Modifikation des zweiten
Ausführungsbeispiels;
Fig. 30 eine Prinzipdarstellung einer Verzerrungs-
Abbildungsfehlerkorrektion;
Fig. 31 eine im linken Bild wiedergegebene Führungslinie;
Fig. 32 einen im rechten Bild wiedergegebenen Indexkreis;
Fig. 33 bis 37 Flußdiagramme zur Erläuterung der
Funktionsweise dieses Ausführungsbeispieles;
Fig. 38 und 39 Flußdiagramme zur Erläuterung der
Funktionsweise der vierten Modifikation des zweiten
Ausführungsbeispiels;
Fig. 40 ein Flußdiagramm zur Erläuterung der Funktionsweise
der fünften Modifikation des zweiten
Ausführungsbeispiels;
Fig. 41 ein Flußdiagramm zur Erläuterung der Funktionsweise
der sechsten Modifikation des zweiten
Ausführungsbeispiels;
Fig. 42 bis 49 das dritte Ausführungsbeispiel, wobei
Fig. 42 den schematischen Aufbau dieses Ausführungsbeispiels,
Fig. 43 den Aufbau einer Meßendoskopvorrichtung anhand eines
Blockdiagramms,
Fig. 44 den Aufbau eines Host-Computers anhand eines
Blockdiagramms und
Fig. 45 bis 49 Flußdiagramme zur Erläuterung der
Funktionsweise dieses Ausführungsbeispiels
wiedergeben,
Fig. 50 ein Flußdiagramm zur Erläuterung der Funktionsweise
des vierten Ausführungsbeispiels; und
Fig. 51 eine Ansicht, die die Positionsbestimmung eines
Meßobjektpunktes bei einer bekannten
Meßendoskopvorrichtung verdeutlicht.
In den Fig. 1 bis 5 wird das erste Ausführungsbeispiel der
Erfindung dargestellt.
Wie aus Fig. 1 ersichtlich, ist die Meßendoskopvorrichtung mit
einer Einrichtung 1 zum Aufnehmen eines kubischen
Endoskopbildes ausgestattet, die ein längliches Einführteil 1a
aufweist. Wie aus Fig. 2 ersichtlich sind im Kopfteil dieses
Einführteils 1a bildformende optische Systeme 21 und 22
vorgesehen. An den Abbildungsstellen dieser optischen Systeme
21 und 22 sind Festkörper-Bildaufnahmeeinrichtungen 23 und 24
z. B. in Form von CCD-Einrichtungen vorgesehen. Das Objekt
wird mit Beleuchtungslicht bestrahlt, das von einer in der
Zeichnung nicht dargestellten Beleuchtungseinrichtung
abgegeben wird. Infolge des vom Objekt reflektierten Lichts
werden mit Hilfe der optischen Systeme 21 und 22 Bilder
erzeugt, die durch die Festkörper-Bildaufnahmeeinrichtungen 23
und 24 fotoelektrisch umgewandelt und als linkes (L) und
rechtes (R) elektrisches Bildsignal ausgegeben werden. Das
rechte Bildsignal wird mit Hilfe eines A/D-Wandlers 2R und das
linke Bildsignal mit Hilfe eines A/D-Wandlers 2L in eine
digitale Form gebracht, woraufhin diese in entsprechende
Bildspeicher 5L und 5R abgespeichert werden.
Von der oben erwähnten Einrichtung 1 zum Aufnehmen eines
kubischen Endoskopbildes werden Synchronisiersignale zu
Einschreibtaktsteuereinrichtungen 3L und 3R gesandt, die
Einschreibtaktsteuersignale an Einschreibsteuereinrichtungen
4L und 4R auf der Basis dieser Synchronisiersignale anlegen.
Durch diese Steuersignale der Einschreibsteuereinrichtungen 4L
und 4R wird das Einschreiben der Bildsignale von den A/D-Wandlern
2L und 2R in die Bildspeicher 5L und 5R gesteuert.
Die Meßendoskopvorrichtung dieses Ausführungsbeispiels ist
außerdem mit einer Cursorinformations-Anzeigeeinrichtung 6 als
Meßobjektpunkt-Bestimmungseinrichtung zur Anzeige derjenigen
Informationen ausgestattet, die sich auf die Position des
Cursors im Bild beziehen. Die Information über die
Cursorposition wird von dieser Cursorinformations-
Anzeigeeinrichtung 6 einer Cursorsteuereinrichtung 7 als
Steuereinrichtung und Führungslinien-Wiedergabeeinrichtung
zugeführt. Diese Cursorsteuereinrichtung 7 besteht aus einer
CPU (Zentraleinheit) mit Rechenfunktion, wobei die
Anzeigeposition des Cursors auf dem Bild aus der oben
erwähnten Cursorpositionsinformation berechnet wird, wobei
die Positionen für die Anzeige der Punkte auf dem Bild, die
den Cursor darstellen, in Adressenbestimmungseinrichtungen 8L
und 8R aufgenommen werden, wobei die einzuschreibenden Farben
in Datenhalteeinrichtungen 9L und 9R aufgenommen sind, und
wobei ferner geprüft wird, ob sich der Cursor auf der
Führungslinie befindet oder nicht. Die Ausgangsdaten der
Adressenbestimmungseinrichtung 8L und der
Datenhalteeinrichtung 9L sowie der
Adressenbestimmungseinrichtung 8R und der
Datenhalteeinrichtung 9R werden in einem Grafikspeicher 11L
bzw. 11R gespeichert. Diese Grafikspeicher 11L und 11R stellen
Speicher dar, die Cursorbilder auf den linken bzw. rechten
Bildern speichern und eine Speicherkapazität von 3 Bits pro
Bildelement (Pixel) aufweisen, falls drei Farben für die
Cursor vorgesehen sind. Die von diesen Grafikspeichern 11L und
11R gespeicherten Cursorbilder werden erneuert, wenn die aus
den Datenhalteeinrichtungen 9L und 9R ausgelesenen Farbdaten
in die Koordinatenpositionen der Bilder eingeschrieben werden,
die von den Adressenbestimmungseinrichtungen 8L und 8R
während der vertikalen Rücklaufzeilendauer oder der
horizontalen Rücklaufzeilendauer der Synchronisiersignale der
Auslesesteuereinrichtungen 13L und 13R ausgelesen werden.
Auslesesynchronisiersignale von einer
Auslesesynchronisiersignal-Erzeugungseinrichtung 12 werden den
vorstehend erwähnten Auslesesteuereinrichtungen 13L und 13R
zugeführt. Im einzelnen werden Synchronisiersignale zum
Synchronisieren und Auslesen von den gleichen Bildpositionen
entsprechenden Daten aus den jeweiligen Speichern, wie z. B.
aus den oben erwähnten Bildspeichern 5L und 5R und
Grafikspeichern 11L und 11R auf der Basis dieser
Synchronisiersignale diesen Auslesesteuereinrichtungen 13L und
13R zugeführt. Die aus den Bildspeichern 5L und 5R und den
Grafikspeichern 11L und 11R jeweils ausgelesenen Daten werden
in entsprechende ODER-Schaltungen 14L und 14R eingegeben.
In der ODER-Schaltung 14L wird eine logische Summe aus dem
Datenausgang des Bildspeichers 5L und dem Datenausgang des
Grafikspeichers 11L und in der ODER-Schaltung 14R eine
logische Summe aus dem Datenausgang des Bildspeichers 5R und
dem Datenausgang des Grafikspeichers 11R berechnet. Das
Rechenergebnis der ODER-Schaltung 14L wird einem D/A-Wandler
15L und das Rechenergebnis der ODER-Schaltung 14R dem D/A-Wandler
15R zugeführt. Mit Hilfe dieser D/A-Wandler 15L und
15R werden die digitalen Bildsignal in analoge Bildsignale
umgewandelt, so daß Bilder auf Bildwiedergabeeinrichtungen 16L
und 16R, die als Anzeigeeinrichtungen dienen wiedergegeben
werden können.
Die Meßendoskopvorrichtung dieses Ausführungsbeispiels ist
ferner mit einer Cursorpositions-Speichereinrichtung 17, die
eine Vielzahl von Cursorpositionen in einem kubischen Bild
speichert, falls ein Speicher durch die Cursorinformations-
Bestimmungseinrichtung 6 angezeigt wird, und einer
Abstandsoperationseinrichtung 18 als
Abstandsberechnungseinrichtung ausgestattet, die die in dieser
Cursorpositions-Speichereinrichtung 17 gespeicherten
Cursorpositionen durch Abstandsberechnungshinweis seitens der
Cursorinformations-Bestimmungseinrichtung 6 ausliest, die
Abstände zwischen den jeweiligen Cursorpositionen berechnet
und die Ergebnisse an eine nicht gezeigte Anzeigeeinheit
ausgibt.
Nachfolgend wird der tatsächliche Betrieb der
Meßendoskopvorrichtung dieses Ausführungsbeispiels erläutert,
das den vorstehend erwähnten Aufbau aufzeigt.
Die linken und rechten Bildsignale von der Einrichtung 1 zum
Aufnehmen eines kubischen Endoskopbildes werden mittels der
A/D-Wandler 2L und 2R entsprechend in eine digitale Form
umgewandelt und anschließend in den Bildspeichern 5L und 5R
abgespeichert. Die in diesen Bildspeichern 5L und 5R
abgespeicherten Bildsignale werden gewöhnlich in Echtzeit
ausgelesen, von den ODER-Schaltungen 14L und 14R verarbeitet,
indem von dem jeweiligen Bildsignal und dem jeweiligen
Ausgangssignal des Grafikspeichers 11L bzw. 11R eine logische
Summe gebildet wird, und schließlich mit Hilfe der D/A-Wandler
15L und 15R in Analogsignale umgewandelt. Mit Hilfe dieser
analogen Signale werden die entsprechenden Bilder auf der
Anzeigeeinrichtung (Bildwiedergabeeinrichtungen 16L und 16R)
dargestellt.
Falls das vom Chirurgen zu messende Objekt im Gesichtsfeld
liegt, werden zur Vermeidung einer Verzögerung der
Positionsbestimmung infolge der Bewegung im lebenden Körper
zuerst die von Bildspeichern 5L und 5R zu speichernden Bilder
stillgesetzt. Anschließend wird der Cursor mit Hilfe der
Cursorinformations-Bestimmungseinrichtung 6 im linken Bild zu
der Position des Objektpunktes bewegt, dessen Länge gemessen
werden soll. Diese Cursorinformations-Bestimmungseinrichtung 6
weist das in Fig. 3 gezeigte Bedienungsfeld auf. Der Zustand
des Bildes der Anzeigeeinrichtung 16 zu diesem Zeitpunkt
entspricht etwa dem in Fig. 4(A) gezeigten. Der Cursor kann
hierbei durch Betätigen eines Cursorbewegungsschalters bewegt
werden, der bei der oben erwähnten Cursorinformations-
Bestimmungseinrichtung 6 vorgesehen ist. Als nächstes wird die
Position des Objektpunktes gespeichert, indem ein Auswahlkopf
auf der Cursorinformations-Bestimmungseinrichtung 6 gedrückt
wird. Der so ausgewählte Objektpunkt weist die ausgewählte
Position auf, die auf dem in Fig. 4(B) gezeigten Bild
dargestellt ist, um die Position zu definieren. Anschließend
bestimmt die Cursor-Steuereinrichtung 7 die Position der
Führungslinie anhand der Position des spezifizierten Objektes
durch ein nachfolgend beschriebenes Verfahren und zeigt diese
auf dem rechten Bild an. Der Zusatz des Bildes der
Anzeigeeinheit 16 zu diesem Zeitpunkt ist in Fig. 4(C)
dargestellt. Daraufhin wählt der Chirurg die Position des
Objektpunktes im rechten Bild durch den gleichen Vorgang aus.
Zu diesem Zeitpunkt kann nur ein Punkt auf der Führungslinie
bestimmt werden.
Die Cursorsteuereinrichtung 7 prüft, ob die Position des
ausgewählten Punktes bereits in der berechneten Position der
Führungslinie liegt. Falls dies nicht der Fall ist, wird von
einer nicht gezeigten Alarmeinrichtung ein Warnton ausgegeben
und die Auswahl unwirksam gemacht. Falls andererseits ein
Punkt auf der Führungslinie ausgewählt wurde, wird die
Position des Objektpunktes im Raum definiert, indem diese
durch ein nachfolgend beschriebenes Verfahren berechnet wird.
Anschließend wird diese Position abgespeichert. Der Zustand
des Bildes der Anzeigeeinheit 16 zu diesem Zeitpunkt ist in der
Fig. 4(C) wiedergegeben. Die Position des Punktes zu dem die
Länge durch Wiederholen eines derartigen Vorganges gemessen
werden soll, wird abgespeichert. Daraufhin werden die Abstände
zwischen den jeweils bestimmten Punkten in einer nicht
dargestellten Anzeigeeinheit angezeigt, indem ein
Längenmeßschalter gedrückt wird. Werden die Koordinaten der
beiden Punkte zu diesem Zeitpunkt durch (x₁, y₁, z₁) und (x₂,
y₂, z₂) dargestellt, so wird der Abstand d zwischen diesen
beiden Punkten durch die folgende Gleichung bestimmt:
d = [(x₁ - x₂)² + (y₁ - y₂)² + (z₁ - z₂)²]1/2.
Ebenso kann der Abstand von der Spitze des Einführteils zu
einem gewissen Punkt in gleicher Weise bestimmt werden.
Nachfolgend wird mit Bezug auf Fig. 5 das Verfahren zum
Berechnen der Position der Führungslinie und der Position des
Objektpunktes erläutert.
Der Vorgang des Bestimmens eines Punktes im Bild entspricht
dem Vorgang des Bestimmens der Abbildungsebene des optischen
Objektivsystems. Für die Erläuterung wird das Zentrum der
Koordinate im Raum in die Mitte der beiden mit Abstand
angeordneten Abbildungseinrichtungen gelegt, wobei die x-Achse
sowohl durch das Zentrum der rechten Abbildungseinrichtung als
auch durch das Zentrum der linken Abbildungseinrichtung
verläuft, die z-Achse senkrecht zur Kopffläche der
Endoskopvorrichtung und die y-Achse die z-Achse und x-Achse
jeweils im rechten Winkel schneidet. Die Parallaxe wird mit d
bezeichnet. Das Zentrum der linken Abbildungseinrichtung soll
durch LC (-d/2, 0, 0), das Zentrum der rechten
Abbildungseinrichtung durch RC (d/2, 0, 0), die Position des
Objektpunktes A (xa, ya, za), die Brennweite durch f und die
Position des Objektes im bestimmten linken Bild durch LP (x₁,
y₁, f) dargestellt sein. Somit wird die durch A und LP
laufende gerade Linie wie folgt dargestellt, wobei t ein
Parameter ist:
(x , y, z) = (-d/2 - x₁, - y₁, f) t + (-d/2, 0, 0) (t<0)
Anschließend wird der Schnittpunkt der geraden Linie, die
durch den Punkt auf dieser geraden Linie und RC verläuft, mit
der rechten Abbildungsfläche bestimmt. Wird die Koordinate
dieses Schnittpunktes RP durch (xr, yr, -f) dargestellt, so
erhält man folgende relative Gleichung:
(xr, yr, -f) = (x₁ + d + d/t, y₁, -f) (t<0)
Demzufolge verläuft die Führungslinie vom linken Ende des
Bildes zu dem Punkt (x₁ + d, y₁, -f).
Ist ein Punkt der Führungslinie bestimmt, so wird die Position
des Objektpunktes der Schnittpunkt der geraden Linien sein,
die durch die folgenden beiden Formeln gegeben sind, wobei t
und s Parameter darstellen:
(xa , ya, za) = (-d/2 - x₁, - y₁, f) t + (-d/2, 0, 0), (t<0)
(xa, ya, za) = (d/2 - xr, - yr, f) s + (d/2, 0, 0). (s<0)
Durch Lösen der obigen Formeln ergibt sich:
(xa , ya, za) = (-d/2 - x₁, - y₁, f) t + (-d/2, 0, 0), [t = d/ (xr - x₁ - d)].
Durch Ausführen der oben erwähnten Operation können sowohl die
Position der Führungslinie als auch die Position des
Objektpunktes berechnet werden.
Wie vorstehend beschrieben wird bei diesem Ausführungsbeispiel
nach dem Bestimmen eines Meßobjektpunktes auf einem Bild eine
Operation dahingehend durchgeführt, wie eine gerade Linie im
Raum, die durch die Abbildungseinrichtung, die das Bild
abgebildet hat, und diesen Meßobjektpunkt verläuft, für die
andere Abbildungseinrichtung aussehen soll, und die gerade
Linie wird als Führungslinie auf dem anderen Bild
wiedergegeben. Da andere Punkte als die Punkte auf dieser
Führungslinie nicht als Objektpunkte bestimmt werden können,
kann die Position des Objektpunktes exakt spezifiziert werden,
wodurch der Abstand und die Länge exakt gemessen werden
können.
Bei diesem Ausführungsbeispiel ist übrigens für das rechte und
linke Bild jeweils ein Anzeigegerät vorgesehen, jedoch kann
auch ein einziges Anzeigegerät vorgesehen werden, auf dem
sowohl das rechte als auch das linke Bild wiedergegeben werden
können.
In den Fig. 6 bis 25 ist das zweite Ausführungsbeispiel
dargestellt.
Wie aus Fig. 8 ersichtlich, weist die Meßendoskopeinrichtung
dieses Ausführungsbeispiels ein Stereovideobild-Endoskop 101
(das nachfolgend kurz als Endoskop bezeichnet wird), einen
Videoprozessor 110R für das rechte Bild und einen
Videoprozessor 110R für das linke Bild auf, die die
Bildsignale eines rechten Bildes bzw. eines linken Bildes, das
von diesem Endoskop 101 abgebildet wird, verarbeiten, einen
Teilbildspeicher 112R für das rechte Bild und einen
Teilbildspeicher 112L für das linke Bild auf, die entsprechend
Bildsignale, wie z. B. RGB-Signale speichern, die von dem
Videoprozessor 110R bzw. 110L ausgegeben werden, einen Monitor
130R für das rechte Bild und einen Monitor 130L für das linke
Bild, in die Bildsignale wie z. B. z. B. RGB-Signale eingegeben
werden, die von dem Teilbildspeicher 112R bzw. 112L ausgegeben
wurden und die ein rechtes bzw. linkes Bild wiedergeben, einen
Host-Computer 120, der kubische Rechnungen unter Verwendung
der in den Teilbildspeichern 112L und 112R gespeicherten
Bilder durchführt, eine externe Speichereinrichtung 140
(nachfolgend als externer Speicher bezeichnet), die mit dem
Host-Computer 120 in Verbindung steht, und eine Maus 145 auf,
die an den Host-Computer 120 angeschlossen ist, die auf den
Monitoren 130R und 130L wiedergegebenen Cursor bewegt und den
Meßobjektpunkt bestimmt.
Die Videoprozessoren 110R und 110L verarbeiten Signale, die
miteinander synchronisiert sind. Auch bei diesem
Ausführungsbeispiel weisen die oben erwähnten Teilbildspeicher
112R und 112L eine Vielzahl von Sätzen von entsprechenden R-, G-
und B-Speichern auf, wobei die Bilder in einem Satz und die
Cursor in dem anderen Satz gespeichert werden. Die Bilder und
Cursor können dann auf der Bildfläche eines Monitors durch
Addieren der in die jeweiligen Speichersätze eingespeicherten
Signale wiedergegeben werden. Der oben erwähnte externe
Speicher 140 kann die Bilder in den Teilbildspeichern 112R und
112L speichern, d. h. er kann eine große Anzahl von Bildern als
Bilddatei abspeichern.
Der vorstehend erwähnte Host-Computer 120 weist den in Fig. 9
gezeigten Aufbau auf.
Das heißt, der Host-Computer 120 umfaßt eine Zentraleinheit
CPU 121, eine Schnittstelle 122R für den rechten
Teilbildspeicher, eine Schnittstelle 122L für den linken
Teilbildspeicher, einen Hauptspeicher 123, eine Schnittstelle
124 für den externen Speicher 140, eine Schnittstelle 125 für
die Maus 145, eine Tastatur 126 und einen Bildschirm 127. Die
Schnittstelle 122R für den rechten Teilbildspeicher und die
Schnittstelle 122L für den linken Teilbildspeicher stehen mit
dem rechten Teilbildspeicher 112R bzw. dem linken
Teilbildspeicher 112L in Verbindung, so daß Bilddaten zwischen
diesen ausgetauscht werden können. Ferner können die Cursor
für die oben erwähnten Teilbildspeicher 112R und 112L über die
Schnittstelle 122R bzw. 122L gespeichert werden. Die oben
erwähnte Schnittstelle 124 steht mit dem externen Speicher 140
zum Senden und Empfangen von Bilddaten in Verbindung. Die oben
erwähnte Mausschnittstelle 125 ist mit dem Anschlußkabel der
Maus 145 verbunden.
Der schematische Aufbau dieses Ausführungsbeispiels wird im
folgenden mit Bezug auf die Fig. 6 und 7 erläutert.
Wie aus Fig. 7 ersichtlich, ist das Endoskop 101 mit einem
länglichen Einführteil 102 ausgestattet, in dessen Kopfteil
mehrere, beispielsweise zwei Beobachtungsfenster und ein
Beleuchtungsfenster vorgesehen sind. Ein Objektivlinsensystem
103R für das rechte Auge und ein Objektivlinsensystem 103L für
das linke Auge sind innerhalb der Beobachtungsfenster an
Stellen vorgesehen, die zueinander eine Parallaxe aufweisen.
Bildaufnahmeeinrichtungen 104R und 104L, die Festkörper-
Bildaufnahmeeinheiten verwenden, sind entsprechend in den
Abbildungspositionen der jeweiligen Objektivlinsensysteme 103R
und 103L angeordnet. Auf der Innenseite des oben erwähnten
Beleuchtungsfensters ist eine Lichtverteilungslinse 105
vorgesehen. Ein aus einem Faserbündel bestehender Lichtleiter
106 steht mit dem rückseitigen Ende dieser
Lichtverteilungslinse 105 in Verbindung. Der Lichtleiter
106 ist durch das Einführteil 102 hindurchgeführt und steht
mit seinem eintrittsseitigen Ende mit einer nicht dargestellten
Lichtquelleneinrichtung in Verbindung. Das von dieser
Lichtquelleneinrichtung abgestrahlte Licht wird über den
Lichtleiter 106 und die Lichtverteilungslinse 105 auf einen
Gegenstand bzw. Objekt gerichtet. Das von diesem Objekt
reflektierte Licht erzeugt mit Hilfe der Objektivlinsensysteme
103R und 103L auf den Bildaufnahmeeinrichtungen 104R und 104L
ein rechtes bzw. linkes Bild.
Die von den Bildaufnahmeeinrichtungen 104R und 104L
abgegebenen Bildsignale werden in entsprechende
Videoprozessoren 110R und 110L eingegeben und zu Videosignalen
verarbeitet. Die von den Videoprozessoren 110R und 110L
ausgegebenen Bildsignale werden mit Hilfe von A/D-Wandlern
111R und 111L in eine digitale Form umgewandelt und
anschließend in Bildspeichern, d. h. in den Bildspeichern der
jeweiligen Teilbildspeicher 112R und 112L abgespeichert.
Die aus den Teilbildspeichern 112R und 112L ausgelesenen
Bildsignale werden nach Durchlauf einer ODER-Schaltung 157L
bzw. 157R mit Hilfe von D/A-Wandlern 158R und 158L in
Analogsignale umgewandelt und in entsprechende Monitore 130R
und 130L eingegeben, auf denen das rechte bzw. das linke Bild
wiedergegeben wird.
Ferner sind eine Cursoranzeigeeinrichtung 151R, die einen
Cursor im rechten Bild anzeigt, und eine
Cursoranzeigeeinrichtung 151L, die einen Cursor im linken Bild
anzeigt, vorgesehen. Eine Maus 145 steht mit einer der
Cursoranzeigeeinrichtungen 151R und 151L über eine
Schalteinrichtung 150 in Verbindung, so daß ein derartiger
Vorgang wie z. B. das Bewegen des Cursors für die jeweiligen
Bilder ausgeführt werden kann. Die von den
Cursoranzeigeeinrichtungen 151R und 151L abgegebenen
Cursoranzeigesignale werden in die oben erwähnte ODER-
Schaltung 157R bzw. 157L eingegeben, so daß die Cursor den
Bildern auf den Monitoren 130R und 130L überlagert werden
können. Eine Führungslinien-Anzeigeeinrichtung 153 steht mit
der Cursoranzeigeeinrichtung 151R für das rechte Bild so in
Verbindung, daß, falls im rechten Bild der Objektpunkt
bestimmt wird, der Positionszustand auf dem linken Bild
verarbeitet und ein Führungslinienanzeigesignal auf der Basis
des Positionszustandes ausgegeben werden kann. Dieses
Führungslinienanzeigesignal wird in die ODER-Schaltung 157L so
eingegeben, daß die Führungslinie dem Bild auf dem linken
Monitor 130L überlagert werden kann.
Eine Objektpunktpositions-Berechnungseinrichtung 154 steht mit
den beiden Cursoranzeigeeinrichtungen 151R und 151L so in
Verbindung, daß, falls die Objektpunkte in beiden Bildern
bestimmt sind, die dreidimensionale Koordinate des
Meßobjektpunktes im Raum anhand der Koordinaten der
Objektpunkte in den jeweiligen Bildern bestimmt werden kann.
Ferner stehen die Objektpunktpositions-Berechnungseinrichtung
154 und die Cursoranzeigeeinrichtung 151R für das rechte Bild
mit einer Indexkreis-Anzeigeeinrichtung 155 in Verbindung, die
ein Signal zur Anzeige eines Indexkreises als Kriterium für
die Größe des Objektes mit Hilfe der dreidimensionalen
Koordinate des Meßobjektpunktes und der Positionsinformation
des Objektpunktes im rechten Bild ausgibt. Dieses Indexkreis-
Anzeigesignal wird in die ODER-Schaltung 157R eingegeben, so
daß dieser Indexkreis dem Bild auf dem Monitor 130R überlagert
werden kann.
Bei diesem Ausführungsbeispiel werden die oben erwähnte
Schalteinrichtung 150, die Cursoranzeigeeinrichtungen 151L und
151R, die Führungslinien-Anzeigeeinrichtung 153, die
Objektpunktpositions-Berechnungseinrichtung 154 und die
Indexkreis-Anzeigeeinrichtung 155 durch Betreiben des oben
erwähnten Host-Computers 120 anhand einer später beschriebenen
Prozedur realisiert.
Ehe die detaillierte Funktionsweise und die Wirkung des eine
kubische Messung vorsehenden Systems bei diesem
Ausführungsbeispiel erläutert wird, wird zuerst der Vorgang
der Berechnung der dreidimensionalen Koordinate des bestimmten
Meßobjektpunktes und der Vorgang der Anzeige des Indexkreises
schematisch veranschaulicht.
Für die Berechnung der dreidimensionalen Koordinate des
spezifizierten Meßobjektpunktes wird folgendes ausgeführt:
- (1) Ein Bild vom Endoskop oder ein Bild aus der Bilddatei wird ausgewählt.
- (2) Falls ein Bild vom Endoskop ausgewählt wurde, wird dieses sich bewegende Bild für die Zeit der Betrachtung eingefroren (stillgesetzt), um die Bilder in den Teilbildspeichern 112R und 112L festzulegen.
- (3) Anschließend wird die Bestimmung des ersten Objektpunktes
(nachfolgend als Punkt 1 bezeichnet) ausgewählt. Die Vorgänge
zum Bestimmen dieses Punktes 1 sind folgende:
- 1. Falls der Objektpunkt bereits bestimmt ist, werden die Cursor im rechten und linken Bild gelöscht.
- 2. Ein frei beweglicher Cursor (nachfolgend als beweglicher Cursor bezeichnet) erscheint im rechten Bild zur Bestimmung des Punktes.
- 3. Die Maus 145 wird betätigt, um den Cursor auf einen Punkt zu bewegen, der bestimmt werden soll.
- 4. Ist der Punkt unter Verwendung der Maus 145 bestimmt, erscheint ein bestimmter bzw. spezifizierter Cursor im rechten Bild. Diese Bestimmung kann übrigens wiederholt werden.
- 5. Der bestimmte Punkt wird unter Verwendung der Maus 145 bestätigt.
- 6. Der sich im rechten Bild bewegende Cursor verschwindet und der bestimmte Cursor bleibt.
- 7. Im linken Bild wird eine Führungslinie angezeigt.
- 8. Ein sich bewegender Cursor im linken Bild.
- 9. Die Maus 145 wird betätigt, um den Cursor auf einen zu bestimmenden Punkt zu bewegen.
- 10. Wird die Bestimmung unter Verwendung der Maus 145 durchgeführt, so erscheint ein bestimmter bzw. spezifizierter Cursor im linken Bild. Diese Bestimmung kann übrigens wiederholt werden.
- 11. Der bestimmte Punkt wird unter Verwendung der Maus 145 bestätigt.
- 12. Der sich im linken Bild bewegende Cursor verschwindet und der bestimmte Cursor bleibt.
- 13. Die Führungslinie verschwindet.
- 14. Die dreidimensionale Koordinate des bestimmten Meßobjektpunktes wird berechnet und ausgegeben.
- 15. Der Abstand von der Endoskopspitze zum Meßobjektpunkt wird berechnet und ausgegeben. Dieser Abstand wird übrigens angezeigt, falls dies erwünscht ist.
- 16. Gibt es irgendeinen anderen bestimmten Meßobjektpunkt, so wird der Abstand von diesem Punkt ausgegeben. Dieser Abstand wird übrigens angezeigt, falls dies erwünscht ist.
- (4) Die Bestimmung des Punktes 2 entspricht dem unter (3) erwähnten Vorgang. In gleicher Weise können zwei oder mehr Meßobjektpunkte bestimmt werden.
Falls andererseits ein Indexkreis angezeigt werden soll, so
wird folgendes ausgeführt:
- (5) Der Radius des Indexkreises wird eingegeben.
- (6) Anschließend wird durch die gleichen Vorgänge, die in (3) 1 bis 16 für die Berechnung der dreidimensionalen Koordinate des oben erwähnten spezifizierten Meßobjektpunktes ausgeführt wurden, ein zum Kreis passender Punkt (nachfolgend als Kreispunkt bezeichnet) bestimmt. Dieser Kreispunkt stellt übrigens einen Meßobjektpunkt dar, der zur Anzeige des Indexkreises bestimmt wird. Der Punkt 1 gemäß (3) 1 bis 16 kann als Kreispunkt neu gelesen werden.
- (7) Ein Indexkreis als Kriterium der Größe wird auf dem rechten Bild auf der Basis des eingegebenen Radius und der dreidimensionalen Koordinate des Kreispunktes angezeigt.
Die detaillierte Wirkungs- und Funktionsweise der Vorrichtung
zum kubischen Messen dieses Ausführungsbeispiels wird im
folgenden mit Bezug auf die Fig. 16 bis 25 erläutert.
Als erstes wird die Hauptroutine anhand der Fig. 16 erläutert.
Wird der Betrieb des Systems gestartet, so wird beim Schritt
S1-1 geprüft, ob das zu messende Bild ein Bild vom Endoskop
ist oder nicht. Im verneinenden Fall (nachfolgend wird der
verneindende Fall mit "NEIN" und der bejahte Fall mit "JA"
bezeichnet) wird dann beim Schritt S 1-2 geprüft, ob das zu
messende Bild ein Bild von der Datei ist oder nicht. Im Fall
NEIN wird beim Schritt S 1-3 geprüft, ob die Operation enden
soll oder nicht. Im Fall JA endet der Prozeß. Falls beim oben
erwähnten Schritt S 1-1 festgestellt wird, daß ein Bild vom
Endoskop vorliegt (Fall JA), so wird eine Subroutine
"record ( )" ausgeführt und der Prozeß kehrt zum Schritt S 1-1
zurück. Diese Subroutine "record ( )" stellt eine Routine zum
Einfrieren und Verarbeiten des vom Endoskop stammenden Bildes
dar. Wird bei dem oben erwähnten Schritt
S 1-2 festgestellt, daß ein Bild von der Datei vorliegt (Fall
JA), so wird beim Schritt S 1-5 eine Subroutine "file ( )"
ausgeführt und der Prozeß kehrt zum Schritt S 1-1 zurück. Diese
Subroutine "file ( )" stellt eine Routine dar, die ein Bild
aus dem externen Speicher abruft und verschiedene Prozesse
ausführt, die später beschrieben werden. Lautet beim oben
erwähnten S 1-3 die Antwort NEIN, so kehrt der Prozeß zum
Schritt S 1-1 zurück. Übrigens ist die oben erwähnte Subroutine
"record ( )" in Fig. 17 und die oben erwähnten Subroutine "file
( )" in Fig. 19 dargestellt. Die beiden Klammern ( ) nach dem
Namen der Routine weisen darauf hin, daß diese Routine eine
Subroutine ist. In diese Klammern ( ) kann auch ein Argument
eingesetzt werden.
In der Hauptroutine können durch ein Betriebsmittel, wie z. B.
eine Tastatur 126 die oben erwähnten Schritte S 1-1 bis S 1-3
wiederholt werden, bis das Bild vom Endoskop oder vom externen
Speicher ausgewählt ist oder das Ende des Prozesses wird
angezeigt. Übrigens können die Schritte S 1-1 und S 1-2 in
beliebiger Reihenfolge durchlaufen werden.
Die oben erwähnte Subroutine "record ( )" wird nachfolgend
anhand der Fig. 17 erläutert.
Wird diese Subroutine gestartet, so wird zuerst beim Schritt
S 2-1 geprüft, ob das Bild eingefroren werden soll oder nicht.
Das heißt, hier wird die Einfrier-Zeitsteuerung vorgenommen.
Im Fall NEIN wird geprüft, ob diese Routine endet oder nicht.
Im Fall JA endet diese. Falls bei dem obigen Schritt S 2-1
festgestellt wird, daß das Bild eingefroren werden soll (Fall
JA), so wird beim Schritt S 2-3 eine Subroutine "freez ( )"
ausgeführt und der Prozeß kehrt zum Schritt S 2-1 zurück. Diese
Subroutine "freez ( )" stellt eine Routine zum Einfrieren des
Bildes des Endoskops und zum Ausführen verschiedener Prozesse
dar, die später erläutert werden. Die Subroutine "freez ( )"
ist in Fig. 18 erläutert. Bei dem oben erwähnten Schritt S 2-2
kehrt im verneinenden Fall der Prozeß zum Schritt S 2-1 zurück.
Die Subroutine "freez ( )" wird nachfolgend anhand der Fig. 18
erläutert.
Beim Start dieser Routine werden zunächst beim Schritt S 3-1
die jeweiligen rechten und linken Bilder des Endoskops in den
Teilbildspeichern eingefroren. Anschließend wird beim Schritt
S 3-2 geprüft, ob der Punkt 1 bestimmt werden soll oder nicht.
Im Fall NEIN wird beim Schritt S 3-3 geprüft, ob der Punkt 2
bestimmt werden soll oder nicht. Im Fall NEIN wird beim
Schritt S 3-4 geprüft, ob ein Kreispunkt bestimmt werden soll
oder nicht. Lautet die Antwort beim Schritt S 3-4 NEIN, so wird
beim Schritt S 3-5 geprüft, ob der Punkt freigegeben werden
soll oder nicht. Im Fall NEIN wird beim Schritt S 3-5 geprüft,
ob der Kreispunkt freigegeben werden soll oder nicht. Im Fall
NEIN wird beim Schritt S 3-7 geprüft, ob das Bild aufgezeichnet
werden soll oder nicht. Lautet beim Schritt S 2-3 die Antwort
NEIN, so wird beim Schritt S 3-8 geprüft, ob der Prozeß endet
oder nicht. Im Fall JA wird das eingefrorene Bild freigegeben
und das direkte Bild des Endoskops wird angezeigt.
Anschließend kehren beim Schritt S 3-10 alle Punkte in einen
nicht-bestimmten Zustand zurück und der Prozeß endet.
Lautet beim Schritt S 3-2 die Antwort JA, so daß der Punkt 1
bestimmt werden soll, so wird beim Schritt S 3-11 eine
Subroutine "point 1 ( )" ausgeführt und der Prozeß kehrt zum
Schritt S 3-2 zurück. Diese Subroutine "point 1 ( )" stellt eine
Routine dar, die den Punkt 1 im rechten und linken Bild
bestimmt, um seine dreidimensionale Koordinate zu erhalten.
Lautet beim obigen Schritt S 3-3 die Antwort JA, soll der Punkt
2 bestimmt werden, so wird beim Schritt S 3-12 eine Subroutine
"point 2 ( )" ausgeführt und der Prozeß kehrt zum Schritt S 3-2
zurück. Diese Routine "point 2 ( )" stellt eine Routine dar,
die den Punkt 2 im rechten und linken Bild bestimmt, um seine
dreidimensionale Koordinate zu erhalten.
Lautet beim obigen Schritt S 3-4 die Antwort JA, d. h., soll
der Kreispunkt bestimmt werden, so wird beim Schritt S 3-13
eine Subroutine "pointm ( )" ausgeführt und der Prozeß kehrt
zum Schritt S 3-2 zurück. Diese Subroutine "pointm ( )" stellt
eine Routine dar, bei der der Kreispunkt im rechten und linken
Bild bestimmt, die gleiche Messung wie beim Punkt 1
ausgeführt, die dreidimensionale Koordinate des Kreispunktes
erhalten und ein Index (Kreis), dessen Größe sich mit dem
Abstand ändert, auf der Basis der dreidimensionalen Koordinate
im rechten und linken Bild angezeigt wird.
Lautet beim obigen Schritt S 3-5 die Antwort JA, d. h., soll
der Punkt freigegeben werden, so wird beim Schritt S 3-14 der
Cursor des bestimmten Punkts gelöscht und der nicht-bestimmte
Zustand wieder eingenommen und der Prozeß kehrt zum Schritt
S 3-2 zurück.
Lautet beim obigen S 3-6 die Antwort JA, d. h., soll der
Kreispunkt freigegeben werden, so wird beim Schritt S 3-15 der
Cursor des Kreispunkts und der Kreis gelöscht und der
Kreispunkt kehrt in seinen nicht-bestimmten Zustand zurück und
der Prozeß kehrt zum Schritt S 3-2 zurück.
Lautet beim obigen Schritt S 3-7 die Antwort JA, d. h., soll
das Bild aufgezeichnet werden, so werden beim Schritt S 3-16
die rechten und linken Bilder der Teilbildspeicher im externen
Speicher gespeichert, woraufhin der Prozeß zum Schritt S 3-2
zurückkehrt.
Lautet beim obigen Schritt die Antwort NEIN, so kehrt der
Prozeß gleichfalls zum Schritt S 3-2 zurück.
Übrigens ist die oben erwähnte Subroutine "point 1 ( )" in Fig. 20
und die Subroutine "pointm ( )" in Fig. 21 dargestellt.
Die Schritte S 3-2 bis S 3-7 können übrigens in beliebiger
Reihenfolge angeordnet sein.
Die oben erwähnten Subroutine "file ( )" wird nachfolgend
anhand der Fig. 19 erläutert.
Zu Beginn dieser Routine werden zuerst beim Schritt S 4-1 die
Dateien mit den rechten und linken bestimmten Bildern vom
externen Speicher in die Teilbildspeicher geladen.
Die nächsten Schritte S 4-2 bis S 4-6 sind exakt die gleichen
wie die Schritte S 3-2 bis S 3-6 bei der oben erwähnten
Subroutine "freez ( )". Das heißt, es wird geprüft, ob der
Punkt 1 bestimmt werden soll oder nicht, ob der Punkt 2
bestimmt werden soll oder nicht, ob der Kreispunkt bestimmt
werden soll oder nicht, ob der Punkt freigegeben werden soll
oder nicht und ob der Kreispunkt freigegeben werden soll oder
nicht. Lautet bei den Schritten S 4-2 bis S 4-6 die Antwort JA,
so werden die Schritte S 4-11 bis S 4-15, die den Schritten
S 3-11 bis S 3-15 bei der obigen Subroutine "freez ( )"
entsprechen, ausgeführt und der Prozeß kehrt zum Schritt S 4-2
zurück.
Lautet beim Schritt S 4-6 die Antwort NEIN, so wird beim
Schritt S 4-7 geprüft, ob das Bild gewechselt werden soll oder
nicht. Lautet die Antwort bei diesem Schritt S 4-7 NEIN, so
wird beim Schritt S 4-8 geprüft, ob der Prozeß enden soll oder
nicht. Lautet die Antwort beim Schritt S 4-8 JA, so werden beim
Schritt S 4-10 alle Punkte in den nicht-bestimmten Zustand
zurückgebracht und der Prozeß endet.
Lautet beim obigen Schritt S 4-7 die Antwort JA, so werden
beim Schritt S 4-16 die Dateien mit den rechten und linken bestimmten
Bildern in die Teilbildspeicher geladen und der Prozeß kehrt
zum Schritt S 4-2 zurück.
Lautet beim obigen Schritt S 4-8 die Antwort NEIN, so kehrt der
Prozeß gleichfalls zum Schritt S 4-2 zurück.
Die Schritte S 4-2 bis S 4-7 können übrigens in beliebiger
Reihenfolge angeordnet sein.
Die oben erwähnte Subroutine "point 1 ( )" wird nachfolgend
anhand der Fig. 20 erläutert.
Zu Beginn dieser Routine wird beim Schritt S 5-1 geprüft, ob
der Punkt 1 bestimmt ist oder nicht. Lautet die Antwort NEIN,
so schreitet der Prozeß zum Schritt S 5-4 fort. Falls die
Antwort JA lautet, werden die Schritte S 5-2 und S 5-3
ausgeführt, woraufhin dann zum Schritt S 5-4 fortgeschritten
wird. Beim vorstehend erwähnten Schritt S 5-2 wird der Cursor
des Punktes 1 auf dem jeweiligen rechten und linken Bild
gelöscht, woraufhin beim Schritt S 5-3 der Punkt 1 in den
nicht-bestimmten Zustand zurückkehrt.
Anschließend wird beim Schritt S 5-4 eine Subroutine
"Rmovecur ( )" durchgeführt. Diese Subroutine "Rmovecur ( )"
stellt eine Routine zum Bestimmen des Punktes im rechten Bild
dar, um die x- und y-Koordinaten (S Rx 1, S Ry 1) des
bestimmte Punktes zu erhalten. Diese Subroutine
"Rmovecur ( )" ist in Fig. 22 dargestellt.
Anschließend wird beim Schritt S 2-5 der Cursor des Punktes 1
in die Position (S Rx 1, S Ry 1) im rechten Bild
eingeschrieben.
Daraufhin wird beim Schritt S 5-6 eine Subroutine "Lguide ( )"
ausgeführt. Diese Subroutine "Lguide ( )" stellt eine Routine
zum Ziehen einer Führungslinie auf dem linken Bild auf der
Basis der x- und y-Koordinaten (S Rx 1, S Ry 1) des im rechten
Bild bestimmten Punktes dar und ist in Fig. 23 wiedergegeben.
Anschließend wird beim Schritt S 5-7 eine Subroutine
"Lmovecur ( )" durchgeführt, die eine Routine zum Bestimmen
des Punktes im linken Bild darstellt, um die x-und y-
Koordinaten (S Lx 1, S Ry 1) des bestimmten Punktes zu
erhalten.
Anschließend wird beim Schritt S 5-8 die Führungslinie gelöscht
und beim Schritt S 5-9 der Cursor des Punktes 1 in die Position
(S Lx 1, S Ly 1) im linken Bild geschrieben.
Anschließend wird beim Schritt S 5-10 eine Subroutine
"3dpoint ( )" ausgeführt, indem die x- und y-Koordinaten
(S Rx 1, S Ry 1, S Lx 1, S Ly 1) der in den jeweiligen rechten
und linken Bildern bestimmten Punkte zu Argumenten gemacht
werden. Diese Subroutine "3dpoint ( )" stellt eine Routine zum
Berechnen der dreidimensionalen Koordinaten der den beiden
bestimmten Punkten entsprechenden Meßobjektpunkte (Punkt 1)
auf der Basis der in den jeweiligen rechten und linken Bildern
bestimmten Punkte dar. Die Ergebnisse werden auf (S x 1,
S y 1) zurückgeführt. Diese Subroutine "3dpoint ( )" ist in
Fig. 24 dargestellt.
Als nächstes wird beim Schritt S 5-11 der Abstand zum Punkt 1
unter Verwendung der oben erwähnten dreidimensionalen
Koordinate (S x 1, S y 1, S z 1) berechnet.
Anschließend wird beim Schritt S 5-12 geprüft, ob der Punkt 2
bestimmt ist oder nicht. Lautet die Antwort NEIN, so endet der
Prozeß. Lautet die Antwort JA, so wird beim Schritt S 5-13 der
Abstand zwischen den Punkten 1 und 2 berechnet und der Prozeß
endet.
Somit wird in der Subroutine "point 1 ( )" zuerst im rechten
Bild der Punkt 1 bestimmt, wodurch die Führungslinie auf dem
linken Bild angezeigt wird, und der Punkt 1 im linken Bild auf
der Führungslinie bestimmt. Durch Bestimmen dieses Punktes 1
wird die dreidimensionale Koordinate des Punktes 1 berechnet,
und, falls der Punkt 2 bestimmt ist, der Abstand zwischen den
Punkten 1 und 2 berechnet. Übrigens können die
dreidimensionale Koordinate des oben erwähnten Punktes 1 und
der Abstand zwischen den Punkten 1 und 2 angezeigt werden,
falls dies erwünscht ist.
Die Subroutine "point 2 ( )" ist übrigens nicht dargestellt.
Sie entspricht im Grunde der Subroutine "point 2 ( )", wobei in
der Beschreibung (einschließlich der Koordinaten) lediglich
die Punkte 1 und 2 zu vertauschen sind.
Nachfolgend wird die oben erwähnte Subroutine "pointm ( )"
anhand der Fig. 21 erläutert.
Zu Beginn dieser Routine wird zuerst beim Schritt S 6-0 der
Radius rr des Kreises eingegeben. Anschließend wird beim
Schritt S 6-1 geprüft, ob der Kreispunkt bestimmt ist oder
nicht.
Lautet die Antwort NEIN, so schreitet der Prozeß direkt zum
Schritt S 6-4 fort. Lautet die Antwort JA, so werden die
Schritte S 6-2 und S 6-3 ausgeführt, woraufhin der Prozeß zum
Schritt S 6-4 fortschreitet. Bei dem oben erwähnten Schritt S 6-2
wird der Kreispunkt-Cursor auf den jeweiligen rechten und
linken Bildern gelöscht, woraufhin beim Schritt S 6-3 der Kreis
gelöscht wird und der Kreispunkt in seinen nicht-bestimmten
Zustand zurückkehrt.
Anschließend wird beim Schritt S 6-4 eine Subroutine
"Rmovecur ( )" durchgeführt, um die x- und y-Koordinaten
(S Rxm, S Rym) des im rechten Bild bestimmten Punktes zu
erhalten.
Als nächstes wird beim Schritt S 6-5 der Kreispunkt-Cursor in
die Position (S Rxm, S Rym) im rechten Bild geschrieben.
Nachfolgend wird beim Schritt S 6-6 eine Subroutine
"Lguide ( )" durchgeführt und eine Führungslinie auf dem
linken Bild auf der Basis der x- und y-Koordinaten (S Rxm,
S Rym) des im rechten Bild bestimmten Punktes gezogen.
Als nächstes wird beim Schritt S 6-7 eine Subroutine
"Lmovecur ( )" ausgeführt, um die x- und y-Koordinaten
(S Lxm, S Lym) im linken Bild zu erhalten.
Anschließend wird beim Schritt S 6-8 die Führungslinie gelöscht
und dann im Schritt S 6-9 der Kreispunkt-Cursor in die Position
(S Lxm, S Lym) im linken Bild geschrieben.
Als nächstes wird beim Schritt S 6-10 eine Subroutine
"3dpoint ( )" ausgeführt, indem die x- und y-Koordinaten
(S Rxm, S Rym, S Lxm, S Lym) der in den jeweiligen rechten
und linken Bildern bestimmten Punkte zu Argumenten gemacht,
die dreidimensionale Koordinate des Kreispunktes berechnet und
die Ergebnisse auf (S Xm, S Ym, S Zm) zurückgeführt werden.
Anschließend wird beim Schritt S 6-11 der Abstand zum
Kreispunkt unter Verwendung der oben erwähnten
dreidimensionalen Koordinate (S Xm, S Ym, S Zm) berechnet.
Dann wird beim Schritt S 6-12 eine Subroutine "Rgcircle ( )"
ausgeführt, woraufhin der Prozeß endet. Diese Subroutine
"Rgcircle ( )" dient dem Schreiben eines Kreises als Index um
den Meßobjektpunkt (Kreispunkt) auf der Basis der
dreidimensionalen Koordinate (S Xm, S Ym, S Zm) des
Kreispunktes und des Radius und ist in Fig. 25 dargestellt.
Somit wird in der Subroutine "pointm ( )" zuerst der
Kreispunkt im rechten Bild bestimmt, wodurch eine
Führungslinie im linken Bild angezeigt wird und der Kreispunkt
auf dieser Führungslinie im linken Bild bestimmt. Nach
Bestimmung dieses Kreispunktes wird die dreidimensionale
Koordinate des Kreispunktes berechnet und ein Indexkreis als
Kriterium der Größe auf dem rechten Bild auf der Basis dieser
dreidimensionalen Koordinate und des eingegebenen Radius
angezeigt.
Die oben erwähnte Subroutine "Rmovecur ( )" wird nachfolgend
anhand der Fig. 22 erläutert.
Bei Beginn dieser Routine wird im Schritt S 7-1 zuerst das
Objektbild als rechtes Bild bestimmt.
Anschließend wird beim Schritt S 7-2 geprüft, ob dort ein
alter, sich bewegender Cursor vorliegt oder nicht. Lautet die
Antwort NEIN, so schreitet der Prozeß direkt zum Schritt S 7-5
fort. Landet die Antwort JA, so werden die Schritte S 7-3 und
S 7-4 ausgeführt, woraufhin der Prozeß zum Schritt S 7-5
fortschreitet. Lautet die Antwort beim obigen Schritt S 7-2 JA,
so wird beim Schritt S 7-3 der alte, sich bewegende Cursor
gelöscht und dann beim Schritt
S 7-4 die Position eines neuen, sich bewegenden Cursors
anstelle der Position des alten, sich bewegenden Cursors
gesetzt. Beim oben erwähnten Schritt S 7-5 erhält man die
Position des neuen, sich bewegenden Cursors aus der
Positionsinformation der als Cursorbewegungseinrichtung dienenden
Maus 145. Anschließend wird beim Schritt S 7-6 der neue, sich
bewegende Cursor eingeschrieben.
Somit wird bei den Schritten S 7-2 bis S 7-6 ein Löschen und
Schreiben in bezug auf den sich bewegenden Cursor ausgeführt,
um den beweglichen Cursor zu bewegen.
Anschließend wird beim Schritt S 7-7 geprüft, ob die Taste 1
der Maus 145, die einen Betätigungsschalter darstellt,
betätigt wird oder nicht. Lautet die Antwort NEIN, so
schreitet der Prozeß direkt zum Schritt S 7-13 fort. Lautet die
Antwort JA, so werden die nächsten Schritte S 7-8 bis S 7-12
ausgeführt, woraufhin der Prozeß zum Schritt S 7-13
fortschreitet. Lautet beim obigen Schritt S 7-7 die Antwort JA,
so wird zuerst beim Schritt S 7-8 geprüft, ob ein alter Cursor
vorliegt oder nicht. Lautet die Antwort NEIN, so schreitet der
Prozeß direkt zum Schritt S 7-11 fort. Lautet die Antwort JA,
so werden die Schritte S 7-9 und S 7-10 ausgeführt, woraufhin
der Prozeß zum Schritt S 7-11 fortschreitet. Lautet beim obigen
Schritt S 7-8 die Antwort JA, so wird beim Schritt S 7-9 der
alte, bestimmte bzw. spezifizierte Cursor gelöscht und
anschließend beim Schritt S 7-10 die Position des neuen,
bestimmten Cursors anstelle der Position des alten, bestimmten
Cursors gesetzt. Beim obigen Schritt S 7-11 wird die Position
des neuen, sich bewegenden Cursors anstelle der Position des
neuen, bestimmten Cursors gesetzt. Anschließend wird beim
Schritt S 7-12 der neue, bestimmte Cursor eingeschrieben.
Falls bei den Schritten S 7-7 bis S 7-12 die Taste 1 der Maus
betätigt wird, wird somit die Position des sich bewegenden
Cursors zum bestimmten bzw. spezifizierten Cursor gemacht.
Als nächstes wird beim Schritt S 7-13 geprüft, ob der neue,
bestimmte Cursor vorliegt und die Taste 2 der Maus 145, die
einen Betätigtungsschalter darstellt, betätigt wird oder nicht.
Lautet die Antwort NEIN, so kehrt der Prozeß zum oben
erwähnten Schritt S 7-2 zurück. Lautet die Antwort JA, so
schreitet der Prozeß zum Schritt S 7-14 fort. Lautet beim
obigen Schritt S 7-13 die Antwort NEIN, so kehrt der Prozeß zum
Schritt S 7-2 zurück, so daß die Punktbestimmung wiederholt
werden kann. Beim obigen Schritt S 7-14 wird der neue, sich
bewegende Cursor gelöscht, woraufhin beim Schritt S 7-15 der
neue bestimmte Cursor gelöscht wird. Anschließend wird beim
Schritt S 7-16 die Position des neuen, bestimmten Cursors zu
einer Cursorbetätigungsposition und einem Rückkehrwert zur
Ausgangsroutine (wie z. B. der Routine "point 1 ( )" oder
"pointm ( )") gemacht.
Somit wird in der Subroutine "Rmovecur ( )" der Punkt im
rechten Bild bestimmt.
Übrigens ist die Subroutine "Lmovecur ( )" nicht dargestellt.
Sie entspricht jedoch im wesentlichen der oben erwähnten
Subroutine "Rmovecur ( )" und verarbeitet anstelle des rechten
Bildes das linke Bild.
Die Bestimmung des Punktes im rechten Bild und die Bestimmung
des Punktes im linken Bild wird mit Bezug auf die Fig. 6 und 9
erläutert. Die Maus 145, die eine Cursorbewegungseinrichtung
darstellt, steht mit der Cursoranzeigeeinrichtung 151R für das
rechte Bild (die auch durch die Subroutine Rmovecur ( )"
realisiert wird) mit Hilfe der Subroutine "Rmovecur ( )" in
Verbindung, die die Schalteinrichtung 150 realisiert. Zu
diesem Zeitpunkt wird zuerst ein Cursor zum Bestimmen des
Punktes im rechten Bild angezeigt. Ist die Punktbestimmung im
rechten Bild gesichert, so wird der Cursor für die
Punktbestimmung aus dem rechten Bild gelöscht. Anschließend
wird die oben erwähnte Maus 145 von der
Cursoranzeigeeinrichtung 151R abgekoppelt und mit Hilfe der
Subroutine "Lmovecur ( )", die die Schalteinrichtung 150
realisiert, mit der Cursoranzeigeeinrichtung 151L für das
linke Bild (die gleichfalls durch die Subroutine
"Lmovecur ( )" realisiert wird) verbunden. Zu diesem Zeitpunkt
wird zuerst ein Cursor für die Punktbestimmung im linken Bild
angezeigt. Ist die Punktbestimmung im linken Bild gespeichert,
so wird der Cursor für die Punktbestimmung aus dem linken Bild
gelöscht.
"Die Bestimmung des Objektbildes als rechtes Bild" beim ersten
Schritt der Subroutine "Rmovecur ( )" (bei der Subroutine
"Lmovecur ( )" gilt das gleiche) entspricht der
Schalteinrichtung 150 in Fig. 6. Dieser Vorgang wird anhand
der Fig. 9 erläutert. Die Mauspositionsinformation von der
Mausschnittstelle 125 wird immer in die CPU 121 eingegeben.
Durch den oben erwähnten Schritt "Bestimmen als rechtes Bild"
überträgt die CPU 121 diese Mauspositionsinformation über die
Schnittstelle 122R für den rechten Teilbildspeicher in den
Teilbildspeicher 112R für das rechte Bild, um den Cursor zu
steuern. Durch den Teilbildspeicher 112R für das rechte Bild
wird der Cursor dem Bild überlagert.
Die Subroutine "Lmovecur ( )" weist gleichfalls den Schritt
"des Bestimmens des Objektibildes als linkes Bild" beim ersten
Schritt auf. Wird in diese Subroutine "Lmovecur ( )"
eingetreten, so wird die Positionsinformation der Maus 145 zur
Schnittstelle 122L für den linken Teilbildspeicher übertragen.
Infolge des Programmablaufs in der CPU 121 wird der Cursor auf
dem rechten oder linken Bild mit Hilfe einer einzigen Maus 145
bewegt, die geschaltet wird. Das heißt, die CPU 121 ist mit
einer Funktion ausgestattet, mit deren Hilfe die Maus 145
wahlweise mit dem Teilbildspeicher 112R für das rechte Bild
oder dem Teilbildspeicher 112L für das linke Bild betrieblich
verbunden werden kann. Dieses Schalten wird unter den
folgenden Bedingungen durchgeführt.
Beim ersten Schritt der Subroutine "Rmovecur ( )" wird die
Maus 145 mit dem Teilbildspeicher 112R für das rechte Bild
verbunden und beim Prüfschritt S 7-13 "ob ein neuer, bestimmter
Cursor vorliegt und die Taste 2 betätigt wird oder nicht"
bewegt sich die Maus 145 längs der Schleife S 7-2 bis S 7-13,
bis das Betätigen der Taste 2 bestätigt wird. Wird die Taste 2
bestätigt, endet die Subroutine "Rmovecur ( )", wird der
Cursor für den Punkt 1 in die Position (S Rx 1, S Ry 1) (im
Fall der Subroutine "point 1 ( )") eingeschrieben, die
Subroutine "Lguide ( )" ausgeführt und dann (S Lx 1, S Ly 1)←"Lmovecur ( )"
ausgeführt. Beim ersten Schritt dieser
Subroutine "Lmovecur ( )" wird die Maus 145 mit dem
Teilbildspeicher 112L für das linke Bild verbunden.
Somit wird durch Betätigen der Taste 2 das Bild, mit der die
Maus 145 betrieblich verbunden ist, geschaltet.
Ehe die oben erwähnte Subroutine "Lguide ( )" erläutert wird,
wird im folgenden mit Bezug auf die Fig. 10 das Prinzip des
Verfahrens zum Bestimmen der Führungslinie erläutert. Übrigens
stellt die Führungslinie eine Linie dar, die die Position
wiedergibt, in der, falls ein Objektpunkt in einem Bild
bestimmt wird, der Objektpunkt auf dem anderen Bild liegen
soll.
Werden die x- und y-Koordinaten des bestimmten Punktes auf der
rechten Bildaufnahmeeinrichtung zu (cRx, cRy) bestimmt, und
zwar aus der räumlichen Lagebeziehung (Ähnlichkeit), so wird
die dreidimensionale Koordinate des Meßobjektpunktes durch
eine dreidimensionale Koordinate mit dem rechten Auge als
Zentrum dargestellt:
(t · cRx, t · cRy, t · F)
wobei t ein Parameter und F die Brennweite des
Objektivlinsensystems ist. Diese dreidimensionale Koordinate
mit dem rechten Auge als Zentrum stellt eine Koordinate dar,
die das Zentrum der rechten Bildaufnahmeeinrichtung als
Ursprung hat. Die x-Richtung der dreidimensionalen Koordinate
stellt die Richtung dar, die durch das Zentrum der linken und
rechten Bildaufnahmeeinrichtung verläuft, die z-Richtung
stellt die Richtung dar, die senkrecht zur Kopffläche des
Endoskopes verläuft, und die y-Richtung stellt die Richtung
dar, die die x-Richtung und die z-Richtung jeweils im rechten
Winkel schneidet.
Die dreidimensionale Koordinate des oben erwähnten
Meßobjektpunktes wird durch eine dreidimensionale Koordinate
mit dem linke Auge als Zentrum wie folgt dargestellt:
(t · cRx + D, t · cRy, t · F)
wobei D eine Parallaxe darstellt.
Wird diese Koordinate durch t dividiert, so daß diese durch
die x- und y-Koordinaten auf der linken
Bildaufnahmeeinrichtung dargestellt wird, so ergibt sich
(cRx+D/t, cRy). Da das äußerste linke Ende der im linken
Bild aufgezeigten Führungslinie eine Position darstellt, bei
der der Meßobjektpunkt unendlich weit ist, falls t→∞, so
ergeben sich die x- und y-Koordinaten (cLx, cLy) am äußersten
linken Ende der Führungslinie zu (cLx, cLy)=(cRx, cRy).
Nähert man sich dem Meßobjektpunkt an, so wird die x-
und y-Koordinate auf der linken Bildaufnahmeeinrichtung größer,
während die y-Koordinate sich nicht ändert. Demzufolge wird
die Führungslinie eine feste gerade Linie in der y-Koordinate,
und zwar vom Punkt (cLx, cLy)=(cRx, cRy) zum äußersten
rechten Ende der linken Bildaufnahmeeinrichtung.
Die vorstehende Erläuterung gilt für den Fall, daß der
Verzerrungsabbildungsfehler des Objektlinsensystems des
Endoskops vernachläßigt wird. Falls somit der
Verzerrungsabbildungsfehler nicht korrigiert wird, kann das
äußerste linke Ende der Führungslinie unter Verwendung der x-
und y-Koordinaten auf dem Bild statt der x- und y-Koordinaten
auf der Bildaufnahmeeinrichtung berechnet werden. Die x- und
y-Koordinaten am äußersten linken Ende der Führungslinie des
linken Bildes entsprechen den x- und y-Koordinaten des auf dem
rechten Bild bestimmten Punktes. Das heißt, ergeben sich die
x- und y-Koordinaten des auf dem rechten Bild bestimmten
Punktes zu (Rx, Ry), so ergeben sich die x- und y-Koordinaten
(dLx, dLy) am äußersten rechte Ende der Führungslinie auf dem
linken Bild zu:
(dLx, dLZY) = (Rx, Ry).
Die Subroutine "Lguide" ( )", die die Führungslinie unter
Verwendung des obigen Prinzips zeichnet, wird nachfolgend
anhand der Fig. 23 erläutert.
Bei dieser Routine werden die x- und y-Koordinaten (dLx, dLy)
des auf dem rechten Bild bestimmten Punktes, der von der
Hauptroutine ("point 1 ( )" oder "pointm ( )") geliefert wird,
zu Argumenten gemacht.
Beim Start dieser Routine wird beim Schritt S 8-1 zuerst der
Punkt (dLx, dLy) in das linke Bild eingeschrieben.
Anschließend wird beim Schritt S 8-2 dLx um 1 erhöht.
Als nächstes wird beim Schritt S 8-3 geprüft, ob dLx(RSX+SXL)
gilt oder nicht. Wie aus Fig. 13(a) ersichtlich, stellt
RSX die Bildelementeanzahl in x-Richtung des Teils dar, in dem
das Endoskop auf dem linken Bild wiedergegeben wird, und SXL
eine x-Koordinate des Bildelementes am äußersten linken Ende
des Teils, in dem das Endoskop auf dem linken Bild
wiedergegeben wird. Das heißt, beim Schritt S 8-3 wird geprüft,
ob dLx das äußerste rechte Ende erreicht hat oder nicht. Falls
dLx es nicht erreicht hat, d. h. falls die Antwort JA lautet,
kehrt der Prozeß zum oben erwähnten Schritt S 8-1 zurück. Falls
jedoch dLx das äußerste rechte Ende erreicht hat, d. h. falls
die Antwort beim Schritt S 8-3 JA lautet, endet der Prozeß.
Somit wird die Führungslinie vom gleichen Koordinatenpunkt wie
der bestimmte Punkt im rechten Bild zum äußersten rechten Ende
des Bildes gezogen. Ein Beispiel für das linke Bild, auf dem
die Führungslinie derart gezogen ist, ist in Fig. 14
wiedergegeben.
Diese Subroutine "Lguide ( )" realisiert übrigens die in Fig. 6
dargestellte Führungslinien-Anzeigeeinrichtung 153.
Ehe nun die oben erwähnte Subroutine "3dpoint ( )" beschrieben
wird, wird nachfolgend anhand der Fig. 11 und 13 das Prinzip
des Verfahrens zum Bestimmen der dreidimensionalen Koordinate
des Meßobjektpunktes erläutert.
Die x- und y-Koordinaten des bestimmten Punktes auf der
rechten Bildaufnahmeeinrichtung werden durch (cRx, cRy), die
x- und y-Koordinaten des bestimmten Punktes auf der linken
Bildaufnahmeeinrichtung werden durch (cLx, cLy) und die
dreidimensionale Koordinate des Meßobjektpunktes durch (X, Y,
Z) dargestellt.
Ausgehend von der räumlichen Lagebeziehung (Ähnlichkeit) wird
unter Verwendung eines Parameters t die dreidimensionale, auf
den Meßobjektpunkt bezogene Koordinate mit dem rechten Auge
als Zentrum dargestellt durch:
X′ = t · cRx,
Y′ = t · cRy,
Z′ = t · F.
Y′ = t · cRy,
Z′ = t · F.
Aus der räumlichen Lagebezeichnung (Ähnlichkeit) ergibt sich
übrigens der Parameter t zu:
t = D / (cLx - cRx).
Die Umwandlung der obigen dreidimensionalen Koordinate mit dem
rechten Auge als Zentrum in eine dreidimensionale Koordinate
mit dem Endoskop als Zentrum erfolgt folgendermaßen:
X = X′ + D/2 = t · cRx + D/2,
Y = Y′ = t · cRy,
Z = Z' = t · F.
Y = Y′ = t · cRy,
Z = Z' = t · F.
Übrigens stellt die oben erwähnte dreidimensionale Koordinate
mit dem Endoskop als Zentrum eine dreidimensionale Koordinate
dar, die als Ursprung den Mittelpunkt zwischen dem Zentrum der
rechten Abbildungseinrichtung und dem Zentrum der linken
Abbildungseinrichtung hat.
Falls zwei Meßobjektpunkte bestimmt werden, kann auch der
Abstand zwischen den beiden Punkten anhand der
dreidimensionalen Koordinate dieser beiden Punkte bestimmt
werden. Das heißt, sind die dreidimensionalen Koordinaten der
beiden Punkte (X₁, Y₁, Z₁) und (X₂, Y₂, Z₂), so ergibt sich
der Abstand d zwischen den beiden Punkten anhand der folgenden
Formel:
d = [(X₁ - X₂)² + (Y₁ - Y₂)² + (Z₁ - Z₂)²]1/2.
Da die bestimmten Punkte in den Positionen auf dem rechten
bzw. dem linken spezifiziert sind, ist es zur Ausführung der
oben erwähnten Operation erforderlich, die Positionen auf den
Bildern in Positionen auf den Bildaufnahmeeinrichtungen
umzuwandeln.
Diese Umwandlung der Positionen auf den Bildern in die
Position auf den Bildaufnahmeeinrichtungen wird nachfolgend
anhand der Fig. 13 erläutert.
Wie aus den Fig. 13(a) und 13(b) ersichtlich, liegen die
Ursprünge der x- und y-Koordinaten des rechten bzw. linken
Bildes in den linken oberen Teilen der Bilder und ist die auf
die x-Richtung bezogene Bildelementeanzahl des Teils, in dem
das Endoskopbild auf dem rechten und linken Bild angezeigt
wird mit RSX, die auf die y-Richtung bezogene
Bildelementeanzahl mit RSY, die x-Koordinate des Bildelements
am äußersten linken Ende des Teils, in dem das Endoskopbild im
linken Bild angezeigt wird, mit SXL, die y-Koordinate des
Bildelements am obersten Ende mit SYL, die x-Koordinate des
Bildelements am äußersten linken Ende des Teils, in dem das
Endoskopbild im rechten Bild dargestellt wird, mit SRX und die
y-Koordinate des Bildelements am oberen Ende mit SYR
bezeichnet.
Wie aus den Fig. 13(c) und (d) ersichtlich, sollen die
Ursprünge der x- und y-Koordinaten der rechten und linken
Bildaufnahmeeinrichtung die Zentren der
Bildaufnahmeeinrichtungen darstellen. Ferner soll die auf die
x-Richtung bezogene Länge jeder Bildaufnahmeeinrichtung mit
SIZEX und die auf die y-Richtung bezogene Länge mit SIZEY
bezeichnet werden.
Ebenso sollen die x- und y-Koordinaten des im linken Bild
bestimmten Punktes (Lx, Ly), die x- und y-Koordinaten des in
der linken Bildaufnahmeeinrichtung bestimmten Punktes (cLx,
cLy) und die x- und y-Koordinaten des in der rechten
Bildaufnahmeeinrichtung bestimmten Punktes (cRx, cRy) sein.
Die Beziehung zwischen (Lx, Ly) und (cLx, cLy) wird durch die
folgende Formeln wiedergegeben:
cLx + {Lx - (RSX/2 + SXL)} · SIZEX/RSX;
cLy = - 1 · {Ly - (RSY/2 + SYL)}· SIZEY/RSY.
cLy = - 1 · {Ly - (RSY/2 + SYL)}· SIZEY/RSY.
In der gleichen Weise werden die Beziehungen zwischen (Rx, Ry)
und (cRx, cRy) durch die folgenden Formeln verdeutlicht:
cRx = {Rx - (RSX/2 + SXR)} · SIZEX/RSX,
cRy = - 1 · {Ry - (RSY/2 + SYR)} · SIZEY/RSY.
cRy = - 1 · {Ry - (RSY/2 + SYR)} · SIZEY/RSY.
Die oben erwähnte Subroutine "3dpoint ( )", die von einer
derartigen Koordinatenumwandlung Gebrauch macht, und das
Prinzip des Verfahrens zum Bestimmen der dreidimensionalen
Koordinate werden anhand der Fig. 24 erläutert.
Bei dieser Routine werden die x- und y-Koordinaten (Rx, Ry)
des bestimmten Punktes des rechten Bildes und die x- und
y-Koordinaten (Lx, Ly) des bestimmten Punkts des linken
Bildes, die von der Hauptroutine ("point 1 ( )" oder
"pointm ( )") geliefert werden, zu Argumenten gemacht.
Beim Start dieser Routine wird beim Schritt S 9-1 zuerst
{Rx - (RSX/2 + SXR)} · SIZEX/RSX berechnet und dies zu einer
x-Koordinate cRx des rechten bestimmten Punktes auf der
Bildaufnahmeeinrichtung gemacht.
Anschließend wird beim Schritt S 9-2 der Ausdruck -1 · {Ry-
(RSY/2+SYR)} · SIZEY/RSY berechnet und dieser zu einer
y-Koordinate cRy des rechten bestimmten Punktes auf der
Bildaufnahmeeinrichtung gemacht.
Anschließend wird beim Schritt S 9-3 der Ausdruck
{Lx - (RSX/2 + SXL)} · SIZEX/RSX berechnet und dieser zu einer
x-Koordinate cLx des bestimmten Punktes auf der
Bildaufnahmeeinrichtung gemacht.
Anschließend wird S 9-4 der Ausdruck -1 · {Ly-(RSY/2+SYL)} · SIZEY/RSY
berechnet und dieser zu einer y-Koordinate cLy des
linken bestimmten Punktes auf der Bildaufnahmeeinrichtung
gemacht.
Das heißt, bei den oben erwähnten Schritten S 9-1 bis S 9-4 wird
die Position auf dem Bild in eine Position auf der
Bildaufnahmeeinrichtung auf der Basis der oben erwähnten
Umwandlungsgleichung umgewandelt.
Anschließend wird beim Schritt S 9-5 geprüft, ob cRxcL ist
oder nicht. Lautet die Antwort NEIN, d. h., liegt der Fall cRx=cL
vor, so ist der Meßobjektpunkt unendlich weit. In diesem
Fall endet der Prozeß. Lautet andererseits die Antwort beim
Schritt S 9-5 JA, so wird beim Schritt S 9-6 der Ausdruck D/(cLx-cRx)
berechnet, um den Parameter t zu bestimmen.
Anschließend wird im Schritt S 9-7 der Ausdruck t · cRx+D/2
zu X, der Ausdruck t · cRY zu Y und der Ausdruck
t · F zu Z gemacht, um die dreidimensionale Koordinate des
Meßobjektpunktes zu bestimmen.
Anschließend wird beim Schritt S 9-8 die oben erwähnte
dreidimensionale Koordinate (X, Y, Z) zu einem Rückkehrwert
zur Hauptroutine gemacht, woraufhin der Prozeß endet.
Diese Subroutine "3dpoint ( )" realisiert die Objektpunkt-
Berechnungseinrichtung 154 in Fig. 6.
Ehe nun die oben erwähnte Subroutine "Rgcircle ( )" erläutert
wird, wird nachfolgend mit Bezug auf Fig. 12 das Prinzip des
Verfahrens der Bestimmung des Indexkreises angesprochen.
Falls die dreidimensionale Koordinate des Kreispunktes zu (X 3,
Y 3, Z 3) und die dreidimensionale Koordinate des Punktes in dem
Koordinatensystem mit dem Kreispunkt als Zentrum zu (lx 3,
lUy 3, Z 3) bestimmt wird, ergibt sich die dreidimensionale
Koordinate mit dem Endoskop als Zentrum zu (gx 3, gUy 3, Z 3)=(lx 3+X 3, lUy 3+Y 3, Z 3).
Die dreidimensionale Koordinate mit dem Endoskop als Zentrum
wird eine dreidimensionale Koordinate mit dem rechten Auge
als Zentrum umgewandelt, durch den Parameter t dividiert und
in x- und y-Koordinaten (cRx, cRUy) auf der rechten
Bildaufnahmeeinrichtung umgewandelt, so daß sich ergibt:
(cRx, cRUy) = ((gx 3 - D/2)/t, gUy 3/t).
Der Parameter t ergibt sich unter Verwendung von Z der
dreidimensionalen Koordinate des Kreispunktes zu t=Z 3/F.
Wird der oben erwähnte Punkt P unter der Bedingung bewegt, daß
dieser ein Punkt mit einem Abstand rr vom Kreispunkt ist, so
wird in Erwiderung dessen ein Indexkreis auf der
Bildaufnahmeeinrichtung beschrieben.
Ebenso wird ein Indexkreis auf dem Bild beschrieben, indem die
x- und y-Koordinaten auf der oben erwähnten
Bildaufnahmeeinrichtung in x- und y-Koordinaten auf dem Bild
umgewandelt werden.
Die oben erwähnte Subroutine "Rgcircle ( )", die das oben
erwähnte Prinzip verwendet, wird anhand der Fig. 25
nachfolgend erläutert.
Bei dieser Routine werden die dreidimensionale Koordinate (x 3,
y 3, z 3) und der Radius rr des Kreises, die von der
Hauptroutine ("pointm ( )") geliefert werden, zu Argumenten
gemacht.
Beim Start dieser Routine wird beim Schritt S 10-1 zuerst der
Ausdruck z 3/F zu einem Parameter t gemacht.
Anschließend wird beim Schritt S 10-2 der Ausdruck -1.0 · rr
dem Ausdruck lx 3 und 0 dem Ausdruck ly 3 zugeordnet. Das heißt,
die x- und y-Koordinaten haben den Kreispunkt, des Punktes am
linken Ende des Indexkreises als Zentrum.
Anschließend wird beim Schritt S 10-3 der Ausdruck x 3+lx 3 zu
gx 3 und der Ausdruck y 3+lUy 3 zu gUy 3 gemacht. Das heißt, die
Koordinate des Punktes an dem oben erwähnten linken Ende wird
zu einer Koordinate mit dem Endoskop als Zentrum umgewandelt.
Nachfolgend wird beim Schritt S 10-4 der Ausdruck (gx 3-D/2)/t
zu cRx und der Ausdruck gUy 3/t zu cRUy gemacht. Das heißt, der
Punkt an dem oben erwähnten linken Ende wird zu einem Punkt
auf der rechten Bildaufnahmeeinrichtung umgewandelt.
Anschließend wird beim Schritt S 10-5 der Ausdruck cRx · RSX/SIZEX+(RSX/2+SXR)
berechnet und zu einer x-Koordinate
dRx auf dem rechten Bild gemacht.
Anschließend wird beim Schritt S 10-6 der Ausdruck -1 · cRUy · RSY/SIZEY+(RSY/2+SYR)
berechnet und dieser zu einer y-
Koordinate dUy auf dem rechten Bild gemacht.
Wie mit Bezug auf Fig. 13 erläutert, dienen die oben erwähnten
Schritte S 10-5 und S 10-6 der Umwandlung der Position auf der
Bildaufnahmeeinrichtung in eine Position auf dem Bild.
Anschließend wird beim Schritt S 10-7 der Punkt (dRx, dRUy) in
das rechte Bild eingeschrieben.
Anschließend wird in den Schritten S 10-2 bis S 10-7 der Punkt
am linken Ende des Indexkreises in das rechte Bild
eingeschrieben.
Nachfolgend wird beim Schritt S 10-8 der Ausdruck lx 3+SIZEX/RSX
zu lx 3 gemacht. Das heißt, die x-Koordinate des
Punktes auf dem Indexkreis wird nach rechts bewegt.
Anschließend wird beim Schritt S 10-9 der Ausdruck
(rr²-lx 3²)1/2 zur y-Koordinate lUy 3 des Punktes auf der
Oberseite auf dem Indexkreis gemacht, der dem oben erwähnten
Ausdruck lx 3 entspricht, und der Ausdruck -(rr²-lx 3²)1/2
wird zur y-Koordinate lDy 3 des Punktes an der unteren Seite
auf dem Indexkreis gemacht, der dem oben erwähnten Ausdruck
lx 3 entspricht.
Anschließend wird beim Schritt S 10-10 der Ausdruck x 3+lx 3 zu
gx 3, der Ausdruck y 3+lUy 3 zu gUy 3 und der Ausdruck y 3+lDy 3
zu gDy 3 gemacht. D. h. die Koordinaten der beiden Punkte auf
dem oben erwähnten Indexkreis werden zu Koordinaten mit dem
Endoskop als Zentrum umgewandelt.
Anschließend wird beim Schritt S 10-11 der Ausdruck (gx 3-D/2)/t
zu cRx, der Ausdruck gUy 3/t zu cRUy und der Ausdruck
gDy 3/t zu cRDy gemacht. D. h. die beiden Punkte auf dem oben
erwähnten Indexkreis werden in Punkte auf der rechten
Bildaufnahmeeinrichtung umgewandelt.
Anschließend wird beim Schritt S 10-12 der Ausdruck cRx· RSX/SIZEX+(RSX/2+SXR)
zu dRx gemacht.
Daraufhin wird beim Schritt S 10-13 der Ausdruck -1 · cRUy · RSY/SIZEY+(RSY/2+SYR)
zu RUy gemacht.
Anschließend wird beim Schritt S 10-14 der Ausdruck -1 · cRDy · RSY/SIZEY+(RSY/2+SYR) zu dRDy gemacht.
D. h. bei den oben erwähnten Schritten S 10-12 bis S 10-14 wird
die Position auf der Bildaufnahmeeinrichtung in die Position
auf dem Bild umgewandelt.
Nachfolgend werden beim Schritt S 10-15 der Punkt (dRx, dRUy)
und der Punkt (dRx, dRDy) in das rechte Bild eingeschrieben.
Anschließend wird beim Schritt S 10-16 der Ausdruck lx 3+SIZEX/RSX
dem Ausdruck lx 3 zugewiesen. D. h. die x-Koordinate
des Punktes auf dem Indexkreis wird nach rechts bewegt.
Anschließend wird beim Schritt S 10-17 geprüft, ob lx 3<rr ist
oder nicht. Lautet die Antwort JA, d. h. falls der Punkt auf
dem Indexkreis das rechte Ende noch nicht erreicht hat, kehrt
der Prozeß zum oben erwähnten Schritt S 10-9 zurück. Lautet die
Antwort andererseits NEIN, d. h. falls der Punkt auf dem
Indexkreis das rechte Ende erreicht hat, schreitet der Prozeß
zum nächsten Schritt S 10-18 fort. Somit werden, bis der Punkt
auf dem Indexkreis das rechte Ende erreicht, die beiden Punkte
auf dem Indexkreis in das Bild von der linken Seite her
eingeschrieben.
Nachfolgend wird bei dem oben erwähnten Schritt S10-18 rr dem
Ausdruck lx 3 und 0 dem Ausdruck lUy 3 zugewiesen. D. h. die x-
und y-Koordinaten, die den Kreispunkt des Punktes am rechten
Ende des Indexkreises als Zentrum haben, werden bestimmt.
Anschließend werden die Schritte S 10-19 bis S 10-23 ausgeführt
und der Prozeß endet. Die oben erwähnten Schritte S 10-19 bis
S 10-23 entsprechen den oben erwähnten Schritten S 10-3 bis S 10-7.
D. h. im Schritt S 10-19 wird die Koordinate des Punktes am
rechten Ende in eine Koordinate mit dem Endoskop als Zentrum
umgewandelt, im Schritt S 10-20 wird der Punkt am rechten Ende
in den Punkt auf der rechten Bildaufnahmeeinrichtung
umgewandelt, bei den Schritten S 10-21 und S 10-22 wird die
Position auf der Bildaufnahmeeinrichtung in die Position auf
dem Bild umgewandelt, und bei dem Schritt S 10-23 wird der Punkt
(dRx, dRUy) in das rechte Bild eingeschrieben.
Somit wird in den Schritten S 10-18 bis S 10-23 der Punkt am
rechten Ende des Indexkreises in das rechte Bild
eingeschrieben.
Ein Beispiel für das rechte Bild, in dem der Indexkreis
dargestellt ist, ist in Fig. 15 gezeigt.
Übrigens realisiert diese Subroutine "Rgcircle ( )" die
Indexkreis-Anzeigeeinrichtung 155 in Fig. 6.
Wie oben erläutert, wird, wenn der dem Meßobjektpunkt
entsprechende Objektpunkt auf dem rechten Bild bestimmt wird,
die Positionsbedingung des Objektpunktes im linken Bild
berechnet und die Linie, die die Position des Objektpunktes
für das linke Bild zeigt, d. h. die Führungslinie aufgezeigt.
Wird demzufolge der Objektpunkt im linken Bild auf dieser
Führungslinie bestimmt, so kann, selbst dann wenn das zu
messende Objekt kein deutliches Detail zeigt, die Position des
Objektpunktes exakt bestimmt und somit der Abstand und die
Länge exakt gemessen werden.
Auch bei diesem Ausführungsbeispiel wird die Maus 145, die eine
Cursorbewegungseinrichtung darstellt, zuerst mit der
Cursoranzeigeeinrichtung 151R für das rechte Bild verbunden
und zu diesem Zeitpunkt wird der Cursor für die
Punktbestimmung im rechten Bild erst angezeigt. Ist im rechten
Bild die Punktbestimmung gesichert, wird der sich bewegende
Cursor und der Bestimmungscursor für die Punktbestimmung aus
dem rechten Bild gelöst, woraufhin die Maus 145 von der
Cursoranzeigeeinrichtung 151R abgekoppelt und mit der
Cursoranzeigeeinrichtung 151L für das linke Bild mittels der
Schalteinrichtung 150 betrieblich verbunden wird. Erst zu
diesem Zeitpunkt wird der Cursor für die Punktbestimmung im
linken Bild angezeigt. Ist die Punktbestimmung im linken Bild
gesichert, so werden der sich bewegende Cursor und der
Bestimmungscursor für die Punktbestimmung aus dem linken Bild
gelöscht. Somit können durch eine einzige
Cursorbewegungseinrichtung (Maus 145) die Bewegung des Cursors
sowohl im rechten wie auch im linken Bild und die
Punktbestimmung einfach vorgenommen werden. Der Cursor für die
Punktbestimmung wird im Bild nur angezeigt, wenn die
Cursoranzeigeeinrichtung 151R oder 151L betrieblich mit der
Maus 145 verbunden wird. Demzufolge kann mit einem kurzen
Blick festgestellt werden, auf welchem Bild der Cursor bewegt
wird und ob der Punkt bestimmt werden kann, so daß eine
leichte Handhabung gegeben ist.
Auch bei diesem Ausführungsbeispiel kann ein Indexkreis, der
einen zweidimensionalen Index mit einer Größe darstellt, die
dem Abstand zum Objekt entspricht, auf dem rechten Bild unter
Verwendung der Meßergebnisse angezeigt werden. Wird somit
dieses mit dem oben erwähnten Indexkreis verglichen, so kann
die Größe des Objektes durch Sicht erkannt werden. Ebenso kann
durch Vergleich mit diesem zweidimensionalen Index die
Beziehung zwischen der vertikalen Größe und der horizontalen
Größe des Objekts herausgefunden werden.
Sechs Modifikationen dieses Ausführungsbeispiels werden
nachfolgend erläutert.
Die erste Modifikation ist in den Fig. 26 und 27 dargestellt.
Bei dieser Modifikation wird im linken Bild für den Fall, daß
andere Punkte als die auf der Führungslinie bestimmt werden,
eine Warnung ausgegeben wird, ohne daß die dreidimensionale
Koordinate berechnet wird.
Zuerst wird die Subroutine "point 1 ( )" anhand von Fig. 26
erläutert.
Die Schritte S 11-1 bis S 11-7 zu Beginn der Subroutine "point 1 ( )"
dieser Modifikation entsprechen genau den Schritten S 5-1
bis S 5-7 der Subroutine "point 1 ( )" bei dem in Fig. 20
dargestellten Ausführungsbeispiel. Bei dieser Modifikation
wird nach der Subroutine "Lmovecur ( )" beim Schritt S 11-7
eine Subroutine "checkguide ( )" beim Schritt S 11-8
durchgeführt. Bei dieser Routine werden die Koordinaten (S
Rx 1, S Ry 1, S Lx 1, S Ly 1) der Punkte, die in den
entsprechenden Bildern bestimmt sind, zu Argumenten gemacht
und geprüft, ob der im linken Bild bestimmte Punkt auf der
Führungslinie liegt oder nicht. Falls dieser auf der
Führungslinie liegt, wird 1 für flg gesetzt. Falls dieser sich
jedoch nicht auf der Führungslinie befindet, wird für flg 0
gesetzt. Die oben erwähnte Subroutine "checkguide ( )" ist in
Fig. 27 dargestellt.
Als nächstes wird beim Schritt S 11-9 der Ausdruck flg
überprüft. Ist dieser 0, so wird beim Schritt S 11-10 eine
Warnung ausgegeben, die darauf hinweist, daß der linke
bestimmte Punkt sich nicht auf der Führungslinie befindet,
woraufhin der Prozeß zum Schritt S 11-7 zurückkehrt. D. h. der
Punkt wird wieder im linken Bild bestimmt. Nimmt andererseits
der Ausdruck flg den Wert 1 an, so schreitet der Prozeß zum
Schritt S 11-11 fort, bei dem die Führungslinie gelöscht wird.
Anschließend werden die oben erwähnten Schritte S 11-12 bis
S 11-16 ausgeführt, woraufhin der Prozeß endet. Übrigens
entsprechen die oben erwähnten Schritte S 11-12 bis S 11-16
genau den Schritten S 5-8 bis S 5-13 der Subroutine "point 1 ( )"
bei dem in Fig. 20 dargestellten Ausführungsbeispiel.
Die Subroutine "point 2 ( )" ist bei dieser Modifikation
übrigens nicht verdeutlicht. Sie entspricht im wesentlichen
der Subroutine "point 1 ( )" in Fig. 26, wobei in der
Beschreibung (einschließlich der Koordinaten) die Punkte 1 und
2 zu vertauschen sind.
Übrigens kann auch im Fall der Bestimmung des Kreispunktes wie
oben bei der Subroutine "point 1 ( )" in Erwägung gezogen
werden, eine Warnung in dem Fall auszugeben, bei dem der linke
bestimmte Punkt sich nicht auf der Führungslinie befindet. Bei
diesem Fall müssen jedoch in der Subroutine "pointm ( )" die
gleichen Schritte wie die oben erwähnten Schritte S 11-8 bis
S 11-10 hinzugefügt werden.
Nachfolgend wird die oben erwähnte Subroutine "checkguide ( )"
anhand der Fig. 27 erläutert.
Bei dieser Routine werden die x- und y-Koordinaten des
bestimmten Punkts auf dem rechten Bild und die x- und y-
Koordinaten des bestimmten Punkts auf dem linken Bild (Rx, Ry,
Lx, Ly), die von der Hauptroutine (point 1" oder "point 2")
geliefert werden, zu Argumenten gemacht.
Zu Beginn dieser Routine wird zuerst beim Schritt S 12-1
geprüft, ob Ry=Ly und Rx<LxSXL+RSX ist. D. h. es wird
geprüft, ob der linke bestimmte Punkt (Lx, Ly) auf der
Führungslinie liegt, die (Rx, Ry) als extremen linken Punkt
hat. Lautet die Antwort JA, so wird beim Schritt S 12-2 der
Rückkehrwert zur Hauptroutine zu 1 gemacht. Lautet die Antwort
hingegen NEIN, so wird beim Schritt S 12-3 der Rückkehrwert zur
Hauptroutine zu 0 gemacht, woraufhin der Prozeß endet.
Da somit bei dieser Modifikation der Pun 56439 00070 552 001000280000000200012000285915632800040 0002003922652 00004 56320kt nur auf der
Führungslinie bestimmt werden kann, kann der Objektpunkt genau
spezifiziert und der Abstand und die Länge exakt gemessen
werden.
Die zweite Modifikation ist in Fig. 28 und 29 dargestellt.
Bei dieser Modifikation kann der Cursor sich im linken Bild
nur auf der Führungslinie bewegen.
Zuerst wird die Subroutine "Lmovecur ( )" anhand der Fig. 28
erläutert.
Bei der Subroutine "Lmovecur ( )" dieser Modifikation wird
zuerst beim Schritt S 13-1 das Objektbild als linkes Bild
festgesetzt. Anschließend werden die Schritte S 13-2 bis S 13-4
ausgeführt, die jedoch den Schritten S 7-2 bis S 7-4 bei der in
Fig. 22 dargestellten Subroutine "Rmovecur ( )" entsprechen.
Anschließend wird beim Schritt S 13-5 eine Subroutine "Lgetcur ( )"
durchgeführt. Bei dieser Routine werden auf der Basis der
Koordinate (S Rx, S Ry) des im rechten Bild bestimmten
Punktes die Position des sich bewegenden Cursors im linken
Bild korrigiert, so daß dieser auf der Führungslinie liegt,
und die resultierenden x- und y-Koordinaten zur Position des
neuen sich bewegenden Cursors gemacht.
Anschließend werden die Schritte S 13-6 bis S 13-16 ausgeführt,
woraufhin der Prozeß endet. Hierbei entsprechen die Schritte
S 13-6 bis S 13-16 den Schritten S 7-6 bis S 7-16 der in Fig. 22
dargestellten Subroutine "Rmovecur ( )".
Die oben erwähnte Subroutine "Lgetcur ( )" wird nachfolgend
anhand der Fig. 29 erläutert.
Bei dieser Routine werden die x- und y-Koordinaten (Rx, Ry)
des im rechten Bild bestimmten Punkts, der von der
Hauptroutine ("Lmovecur") geliefert wird, zu Argumenten
gemacht.
Zu Beginn dieser Routine wird beim Schritt S 14-1 zuerst die
Position des Cursors im linken Bild mit Hilfe der Maus 145
erhalten und die x-Koordinate an die Stelle von Lx gesetzt.
Anschließend wird beim Schritt S 14-2 geprüft, ob Lx<Rx ist,
d. h. es wird geprüft, ob Lx auf der linken Seite statt am
äußersten linken Ende der Führungslinie ist. Lautet die
Antwort JA, so wird beim Schritt S 14-3 Rx an die Stelle von Lx
gesetzt. D. h. Lx wird zur x-Koordinate am äußersten linken
Ende der Führungslinie gemacht und der Prozeß schreitet zum
Schritt S 14-6 fort. Lautet andererseits beim obigen Schritt
S 14-2 die Antwort NEIN, so wird beim Schritt S 14-4 geprüft, ob
SXL+RSX<Lx ist. D. h. es wird geprüft, ob Lx auf der
rechten Seite anstatt am äußersten rechten Ende des linken
Bildes ist. Lautet die Antwort JA, so wird beim Schritt S 14-5
der Ausdruck SXL+RSX an die Stelle von Lx gesetzt. D. h. Lx
wird zur x-Koordinate am äußersten rechten Ende des linken
Bildes gemacht, woraufhin der Prozeß zum Schritt S 14-6
fortschreitet. Lautet beim obigen Schritt S 14-4 die Antwort
andererseits NEIN, so schreitet der Prozeß direkt zum Schritt
S 14-6 fort.
Bei dem oben erwähnten Schritt S 14-6 wird Ry zu Ly gemacht. D. h.
Ly wird zur y-Koordinate der Führungslinie gemacht.
Anschließend wird beim Schritt S 14-7 (Lx, Ly) zu einem
Rückkehrwert zur Hauptroutine gemacht, wobei (Lx, Ly) einen
Punkt auf der Führungslinie darstellt.
Somit wird bei der Modifikation selbst in dem Fall, daß die
Maus 145 zweidimensional im linken Bild bewegt wird, nur die
Bewegungsinformation in x-Richtung als Cursorbewegungsrichtung
verwendet. Falls die Position des Cursors von der
Führungslinie abweicht, wird der wiedergegebene Cursor auf die
Führungslinie geschoben. Demzufolge kann der Punkt ohne Fehler
auf der Führungslinie bestimmt werden.
Die dritte Modifikation wird in den Fig. 30 bis 37 erläutert.
Bei den vorstehend beschriebenen Modifikationen wurde der
Verzerrungsabbildungsfehler des Objektivlinsensystems des
Endoskops vernachläßigt. Bei diesem Ausführungsbeispiel wird
jedoch bei der Anzeige der Führungslinie und des Indexkreises
und bei der Bestimmung der dreidimensionalen Koordinate des
Objektpunktes der Verzerrungsabbildungsfehler korrigiert,
indem dessen Einfluß berücksichtigt wird.
Zuerst wird nun mit Bezug auf Fig. 30 das Prinzip der
Verzerrungsabbildungsfehlerkorrektion erläutert.
Wie aus Fig. 30(a) ersichtlich, wird die Position des Punktes
durch (cx, cy) repräsentiert, falls der Einfluß des
Verzerrungsabbildungsfehlers vor der Korrektion des
Verzerrungsabbildungsfehlers auf der Bildaufnahmeeinrichtung
empfangen wird, und die Position des Punktes anhand von (dix,
diy) dargestellt, falls der Einfluß von Korrektion des
Verzerrungsabbildungsfehlers nicht empfangen wird.
Der Verzerrungsabbildungsfehler wird auf der Basis der
folgenden relativen Formel korrigiert:
vh = FR,
rh = F tan R,
rh = F tan R,
wobei vh den Abstand zwischen dem Ursprung bzw. dem
Koordinatennullpunkt und (cx, cy) und rh den Abstand zwischen
dem Koordinatennullpunkt und (dix, diy) darstellt und wobei
wie aus Fig. 30(b) ersichtlich, F die Brennweite und R einen
Winkel darstellt, der durch eine gerade Linie, die durch das
Zentrum der Bildaufnahmeeinrichtung und (dix, diy) verläuft,
und die optische Achse gebildet wird.
Demzufolge ergeben sich die Umwandlungsformen wie folgt:
Falls eine Abbildungsfehlerkorrektion in bezug auf die
Verzerrung vorgenommen wird, gilt:
vh = (cx² + cy²)1/2,
R = vh/F,
rh = F · tan R,
s =rh/vh,
dix = cx · s,
diy = cy · s.
R = vh/F,
rh = F · tan R,
s =rh/vh,
dix = cx · s,
diy = cy · s.
Im Falle einer inversen Verzerrungsabbildungsfehlerkorrektion
gilt:
rh = (dix² + diy²)1/2,
R = tan-1 (rh/F),
vh = F · R,
s = vh/rh,
cx = dix · s,
cy = diy · s.
R = tan-1 (rh/F),
vh = F · R,
s = vh/rh,
cx = dix · s,
cy = diy · s.
Die Subroutine "Lguide ( )" wird nachfolgend anhand der Fig. 33
erläutert.
Diese Subroutine "Lguide ( )" stellt eine Routine dar, die die
Führungslinie anzeigt. Um darin den
Verzerrungsabbildungsfehler zu korrigieren, ist es
erforderlich, daß einmal die Koordinaten auf dem Bild in
Koordinaten auf der Bildaufnahmeeinrichtung umgewandelt
werden, da die Koordinaten auf dem Bild gewöhnlich in ganzen
Zahlen und somit nicht mit Dezimalstellen ausgedrückt werden
und somit keine exakte Korrektur möglich ist.
Demzufolge werden die Koordinaten in Koordinaten auf der
Bildaufnahmeeinrichtung umgewandelt, die durch reelle Zahlen
ausgedrückt werden. Anschließend wird der
Verzerrungsabbildungsfehler korrigiert. Übrigens erfolgt die
Koordinatenumwandlung, wie dies anhand Fig. 13 erläutert wird.
Bei der oben erwähnten Subroutine "Lguide ( )" werden die x-
und y-Koordinaten (sdRx, sdRy) des auf dem rechten Bild
bestimmten Punkts, der von der Hauptroutine geliefert wird, zu
Argumenten gemacht. Beim Start dieser Routine wird zuerst beim
Schritt S 15-1 der Ausdruck {sdRx-(RSX/2+SXR)} · SIZEX/RSX
berechnet und dieser Ausdruck zu einer x-Koordinate scRx des
rechten bestimmten Punkts auf der Bildaufnahmeeinrichtung
gemacht.
Anschließend wird beim Schritt S 15-2 der Ausdruck - {sdRy -
(RSY/2+SYR)} · SIZEY/RSY berechnet und dieser Ausdruck zu
einer y-Koordinate scRy des rechten bestimmten Punkts auf der
Bildaufnahmeeinrichtung gemacht.
Anschließend werden beim Schritt S 15-3 die Koordinaten (scRx,
scRy) auf der Bildaufnahmeeinrichtung zu Argumenten gemacht
und eine Subroutine "distot ( )" durchgeführt. Diese Routine
dient der Korrektion des Verzerrungsabbildungsfehlers, um
somit x- und y-Koordinaten (sdix, sdiy) zu erhalten, falls
kein Einfluß des Verzerrungsabbildungsfehlers auf der rechten
Bildaufnahmeeinrichtung empfangen wird. Die oben erwähnte
Subroutine "distot ( )" ist in Fig. 36 aufgezeigt.
Anschließend wird beim Schritt S 15-4 (sdix, sdiy) zu
Argumenten gemacht und eine Subroutine "invdist ( )"
durchgeführt. Diese Routine dient der Korrektion des inversen
Verzerrungsabbildungsfehlers, so daß x- und y-Koordinaten
(cLx, cLy) am äußersten linken Ende der Führungslinie erhalten
werden, falls der Einfluß des Verzerrungsabbildungsfehlers auf
der linken Bildaufnahmeeinrichtung empfangen wird. Die oben
erwähnte Subroutine "invdist ( )" ist in Fig. 37 dargestellt.
Übrigens wird bei dem oben erwähnten Schritt S 15-4
berücksichtigt, daß der rechte bestimmte Punkt, der den
Einfluß des Verzerrungsabbildungsfehlers unterliegt, und die
Koordinate am äußersten linken Ende der Führungslinie einander
gleich sind.
Anschließend wird beim Schritt S 15-5 der Ausdruck cLx · RSX/SIREX+(RSX/2+SXL)
zu dL gemacht. D. h. die x-
Koordinate auf der linken Bildaufnahmeeinrichtung wird in die
x-Koordinate auf dem linken Bild umgewandelt.
Anschließend wird beim Schritt S 15-6 der Ausdruck dLx(RSX+SXL)
geprüft. D. h. es wird geprüft, ob dLx das rechte
Ende des linken Bildes erreicht hat oder nicht. Lautet die Antwort
JA, so werden die nächsten Schritte S 15-7 bis S 15-9
durchgeführt, woraufhin dann der Prozeß zum Schritt S 15-10
fortschreitet. Lautet die Antwort jedoch NEIN, so schreitet
der Prozeß direkt zum Schritt S 15-10 fort.
Bei dem oben erwähnten Schritt S 15-7 wird der Ausdruck -1.0 ·
cLy · RSY/SIZEY+(RSY/2+SYL) zu dLy gemacht.
Anschließend wird beim Schritt S 15-8 (dLx, dLy) in das linke
Bild eingeschrieben.
Anschließend wird beim Schritt S 15-9 der Ausdruck sdix+SIZEX/RSX
zu sdix gemacht. D. h. die x-Koordinate des Punktes
auf der Bildaufnahmeeinrichtung wird um eine Minimaleinheit
nach rechts bewegt.
Anschließend wird bei dem oben erwähnten Schritt S 15-10 der
Ausdruck dLx(RSX+SXL) überprüft. D. h. es wird geprüft,
ob dLx das rechte Ende des linken Bildes erreicht hat oder
nicht. Lautet die Antwort JA, so kehrt der Prozeß zu dem oben
erwähnten Schritt S 15-4 zurück, und der nächste Punkt auf der
Führungslinie wird in das linke Bild eingeschrieben. Lautet
die Antwort NEIN, so endet der Prozeß.
Demzufolge wird auf dem linken Bild eine Führungslinie
wiedergegeben, die hinsichtlich des
Verzerrungsabbildungsfehlers korrigiert ist. Ein Beispiel für
das linke Bild, auf der diese Führungslinie wiedergegeben
wird, ist in Fig. 31 dargestellt.
Die Subroutine "Rgcircle ( )" wird anhand von Fig. 34
nachfolgend erläutert.
Bei dieser Routine werden die dreidimensionalen Koordinaten (X 3,
Y 3, Z 3) und der Radius rr des Kreises, der von der
Hauptroutine ("pointm") geliefert wird, zu Argumenten gemacht.
Beim Beginn dieser Routine wird zuerst beim Schritt S 16-1 der
Ausdruck Z 3/F zu einem Parameter t gemacht.
Anschließend wird beim Schritt S 16-2 der Ausdruck -1.0 · rr
dem Ausdruck lx 3 und 0 dem Ausdruck lUy 3 zugewiesen. D. h. die
x- und y-Koordinaten, die den Kreispunkt des Punktes am
linken Ende des Indexkreises als Zentrum haben, werden
bestimmt.
Anschließend wird beim Schritt S 16-3 der Ausdruck X 3+lx 3 dem
Ausdruck gx 3 und Y 3+lUy 3 dem Ausdruck gUy 3 zugewiesen. D. h.
die Koordinate des Punktes am oben erwähnten linken Ende wird
in die Koordinate mit dem Endoskop als Zentrum umgewandelt.
Anschließend wird beim Schritt S 16-4 der Ausdruck (gx 3-D/2)/t
dem Ausdruck diRx und der Ausdruck gUy 3/t dem Ausdruck iRUy
zugewiesen. D. h. der Punkt des oben erwähnten linken Endes
wird zu x- und y-Koordinaten umgewandelt, falls kein Einfluß
des Verzerrungsabbildungsfehlers in der rechten
Bildaufnahmeeinrichtung wahrgenommen wird.
Anschließend wird beim Schritt 16-5 der Ausdruck (diRx,
diRUy) zu einem Argument gemacht und die Subroutine "invdist"
ausgeführt, um die x- und y-Koordinaten (cRx, cRUy) zu
erhalten, falls der Einfluß des Verzerrungsabbildungsfehlers
auf der rechten Bildaufnahmeeinrichtung empfangen wird.
Anschließend wird beim Schritt S 16-6 der Ausdruck cRx · RSX/SIZEX+(RSX/2+SXR)
berechnet und dieser zu einer x-
Koordinate auf dem rechten Bild gemacht.
Anschließend wird beim Schritt S 16-7 der Ausdruck -1.0 · cRUy · RSY/SIZEY+(RSY/2+SYR) berechnet und dieser zu einer y-
Koordinate dRUy auf dem rechten Bild gemacht.
Die oben erwähnten Schritte S 16-6 und S 16-7 dienen der
Umwandlung der Position auf der Bildaufnahmeeinrichtung in
eine Position auf dem Bild.
Als nächstes wird beim Schritt S 16-8 der Punkt (dRx, dRUy) in
das rechte Bild eingeschrieben.
Somit wird bei den Schritten S 16-2 bis S 16-8 der Punkt auf dem
linken Ende des Indexkreises in das rechte Bild
eingeschrieben, falls der Einfluß des
Verzerrungsabbildungsfehlers empfangen wird.
Anschließend wird beim Schritt S 16-9 der Ausdruck lx 3+SIZEX/RSX
dem Ausdruck lx 3 zugewiesen und die x-Koordinate des
Punktes auf dem Indexkreis nach rechts bewegt.
Anschließend wird beim Schritt S 16-10 der Ausdruck (rr²-lx 3²)1/2
der y-Koordinate lUy 3 des Punktes auf der Oberseite
des Indexkreises zugewiesen, der dem oben erwähnten Ausdruck
lx 3 entspricht. Außerdem wird bei diesem Schritt S 16-10 der
Ausdruck - (rr²-lx 3²)1/2 der y-Koordinate lDy 3 des Punkts
auf der Unterseite des Indexkreises zugewiesen, der dem oben
erwähnten Ausdruck lx 3 entspricht.
Anschließend werden beim Schritt S 16-11 der Ausdruck X 3+lx 3
dem Ausdruck gx 3, der Ausdruck Y 3+lUy 3 dem Ausdruck gUy 3
und der Ausdruck Y 3+lDy 3 dem Ausdruck gDy 3 zugewiesen. D. h. die
Koordinaten der beiden Punkte auf dem oben erwähnten
Indexkreis werden in Koordinaten mit dem Endoskop als Zentrum
umgewandelt.
Anschließend werden beim S 16-12 der Ausdruck (gx 3-D/2)/t dem
Ausdruck diRx, der Ausdruck gUy 3/t dem Ausdruck diRUy und der
Ausdruck gDy 3/t dem Ausdruck diRDy zugewiesen. D. h. die
beiden Punkte auf dem oben erwähnten Indexkreis werden die x-
und y-Koordinaten umgewandelt, falls an der rechten
Bildaufnahmeeinrichtung kein Einfluß des
Verzerrungsabbildungsfehlers empfangen bzw. wahrgenommen wird.
Anschließend werden beim Schritt S 16-13 (diRx, diRUy) und
(diRx, diRDy) zu Argumenten gemacht und die Subroutine
"invdist" jeweils in bezug auf (diRx, diRUy) und (diRx, diRUy)
ausgeführt, um die x- und y-Koordinaten (cRUx, cRUy)
(cRDx, cRDy) zu erhalten, falls der Einfluß des
Verzerrungsabbildungsfehlers auf der rechten
Bildaufnahmeeinrichtung empfangen wird.
Anschließend wird beim Schritt S 16-14 der Ausdruck cRUx · RSX/SIZEX+(RSX/2+SXR) dem Ausdruck dRUx zugewiesen.
Anschließend wird beim Schritt S 16-15 der Ausdruck -1 · cRUy · RSY/SIZEY+(RSY/2+SYR) dem Ausdruck dRUy zugewiesen.
Anschließend wird beim Schritt S 16-16 der Ausdruck cRDx · RSX/SIZEX+(RSX/2+SXR) dem Ausdruck dRDx zugewiesen.
Anschließend wird beim Schritt S 16-17 der Ausdruck -1 · cRDy · RSY/SIZEY+(RSY/2+SYR) dem Ausdruck dRDy zugewiesen.
Bei den oben erwähnten S 16-14 bis S 16-17 wird die
Position auf der Bildaufnahmeeinrichtung in eine Position auf
dem Bild umgewandelt.
Anschließend werden beim Schritt S 16-18 der Punkt (dRUx, dRUy)
und der Punkt (dRUx, dRDy) in das rechte Bild eingeschrieben.
Anschließend wird beim Schritt S 16-19 der Ausdruck lx 3+SIZEX/RSX
dem Ausdruck lx 3 zugewiesen. D. h. die Koordinate
auf dem Indexkreis wird nach rechts bewegt.
Anschließend wird beim Schritt S 16-20 geprüft, ob lx 3<rr
ist. Lautet die Antwort JA, d. h. falls der Punkt auf dem
Indexkreis das rechte Ende nicht erreicht hat, kehrt der
Prozeß zu dem oben erwähnten Schritt S 16-10 zurück. Lautet
andererseits die Antwort NEIN, d. h. hat der Punkt auf dem
Indexkreis das rechte Ende erreicht, so schreitet der Prozeß
zum nächsten Schritt S 16-21 fort. Somit werden, bis der Punkt
auf dem Indexkreis das rechte Ende erreicht, die beiden Punkte
auf dem Indexkreis in das Bild von der linken Seite her
eingeschrieben, falls der Einfluß des
Verzerrungsabbildungsfehlers empfangen wird.
Anschließend wird bei dem oben erwähnten Schritt S 16-21
der Ausdruck rr dem Ausdruck lx 3 und 0 dem Ausdruck lUy 3
zugewiesen. D. h. die x- und y-Koordinaten, die den Kreispunkt
als Zentrum des Punkts auf dem rechten Ende des Indexkreises
haben, werden bestimmt.
Anschließend werden die Schritte S 16-22 bis S 16-27 ausgeführt,
woraufhin der Prozeß endet. Die oben erwähnten Schritte S 16-22
bis S 16-27 entsprechen den oben erwähnten Schritten S 16-3 bis
S 16-8. D. h. die Koordinate des Punktes am rechten Ende wird
in eine Koordinate mit dem Endoskop als Zentrum umgewandelt,
wird in den Punkt auf der rechten Bildaufnahmeeinrichtung
umgewandelt, wird in die Koordinate umgewandelt, falls der
Einfluß des Verzerrungsabbildungsfehlers empfangen wird und
wird ferner in die Position auf dem Bild umgewandelt,
woraufhin der Punkt (dRx, dRUy) in das rechte Bild
eingeschrieben wird.
Somit wird bei den Schritten S 16-21 bis S 16-27 der Punkt am
rechten Ende des Indexkreises in das rechte Bild geschrieben.
Der Indexkreis, bei dem der Verzerrungsabbildungsfehler
korrigiert ist, wird somit angezeigt. Ein Beispiel des rechten
Bildes, bei dem dieser Indexkreis angezeigt wird, ist in Fig. 32
dargestellt.
Die Subroutine "3dpoint ( )" wird nachfolgend anhand der Fig. 35
erläutert.
Bei dieser Routine werden die x- und y-Koordinaten (Rx, Ry)
des auf dem rechten Bild bestimmten Punkts und die x- und y-
Koordinaten (Lx, Ly) des auf dem linken Bild bestimmten
Punkts, die von der Hauptroutine ("point 1" oder "pointm")
geliefert werden, werden zu Argumenten gemacht.
Die Schritte S 17-1 bis S 17-4 entsprechen den Schritten S 9-1
bis S 9-4 in der in Fig. 24 gezeigten Subroutine "3point ( )".
D. h. die Positionen auf den entsprechenden rechten und linken
Bildern werden umgewandelt in Positionen auf den
Bildaufnahmeeinrichtungen. Übrigens wurden die Koordinaten auf
den Bildaufnahmeeinrichtungen, die hier erhalten werden, von
dem Verzerrungsabbildungsfehler beeinflußt.
Als nächstes werden beim Schritt S 17-5 (cRx, cRy) und (cLx,
cLy) zu Argumenten gemacht und die Subroutine "distot" in
bezug auf (cRx, cRy) bzw. (cLx, cLy) ausgeführt, um die x- und
y-Koordinaten (diRx, diRy) bzw. (diLx, diLy) zu erhalten,
falls kein Einfluß des Verzerrungsabbildungsfehlers auf die
Bildaufnahmeeinrichtung vorliegt.
Anschließend wird beim Schritt S 17-6 geprüft, ob diRxdiLx
gilt. Lautet die Antwort NEIN, so ist der Objektpunkt
unendlich weit und der Prozeß endet. Lautet andererseits die
Antwort JA, so wird beim Schritt S 17-7 der Ausdruck D/(diLx-diRx)
berechnet und dieser Ausdruck dem Parameter t
zugewiesen.
Anschließend werden beim Schritt S 17-8 der Ausdruck t · diRx+D/2
zu X, der Ausdruck t · diRy zu Y und der Ausdruck t · F zu
Z gemacht, um eine dreidimensionale Koordinate zu bestimmen,
wobei diese dreidimensionale Koordinate (X, Y, Z) zu einem
Rückkehrwert zur Hauptroutine gemacht wird und der Prozeß
endet.
Somit wird die dreidimensionale Koordinate des Objektpunkts,
bei der der Verzerrungsabbildungsfehler korrigiert ist,
bestimmt.
Nachfolgend wird die oben erwähnte Subroutine "distot ( )" mit
Bezug auf Fig. 36 erläutert.
Bei dieser Routine wird die Position (cx, cy), die von der
Hauptroutine ("Lguide" oder "3dpoint") geliefert wird, zu
einem Argument gemacht, falls der Einfluß des
Verzerrungsabbildungsfehlers auf der Bildaufnahmeeinrichtung
empfangen wird.
Zuerst wird beim Schritt S 18-1 der Ausdruck (cx²+cy²)1/2 dem
Ausdruck vh zugewiesen. Anschließend wird beim Schritt S 18-2
der Ausdruck vh/F in rad übergeführt. Anschließend wird beim
Schritt S 18-3 der Ausdruck F · tan (rad) zu rh gemacht.
Anschließend wird beim Schritt S 18-4 der Ausdruck rh/vh dem
Wert s zugewiesen. Daraufhin werden beim Schritt S 18-5 der
Ausdruck cx · s dem Ausdruck dix und der Ausdruck cy · s dem
Ausdruck diy zugeführt. Die Position (dix, diy) nach der
Verzerrungsabbildungsfehlerkorrektion wird zu einem
Rückkehrwert zur Hauptroutine gemacht, woraufhin der Prozeß
endet. Die oben erwähnten entsprechenden Schritte führen das
Umwandlungssystem aus, das anhand der Fig. 3 erläutert wurde.
Die oben erwähnte Subroutine "invdist ( )" wird nachfolgend
anhand der Fig. 37 erläutert.
Bei dieser Routine wird die Position (dix, diy), die von der
Hauptroutine ("Lguide oder "Rgcircle") geliefert wird, zu
einem Argument gemacht, falls auf der Bildaufnahmeeinrichtung
kein Einfluß des Verzerrungsabbildungsfehlers vorliegt bzw.
empfangen wird.
Zuerst wird beim Schritt S 19-1 der Ausdruck (dix²+diy²)1/2
dem Ausdruck rh zugewiesen. Anschließend wird beim Schritt
S 19-2 der Ausdruck tan-1 (rh/F) zu rad gemacht. Daraufhin wird
beim Schritt S 19-3 der Ausdruck F · rad dem Ausdruck rh
zugewiesen. Als nächstes wird beim Schritt S 19-4 der Ausdruck
vh/rh dem Ausdruck s zugewiesen. Anschließend wird beim Schritt
S 19-5 der Ausdruck dix · s dem Ausdruck cx und der Ausdruck
diy · is dem Ausdruck cy zugewiesen. Die nach dem inversen
Verzerrungsabbildungsfehler vorliegende Position (cx, cy) wird
korrigiert und einem Rückkehrwert zur Hauptroutine zugewiesen,
woraufhin der Prozeß endet. Die oben erwähnten entsprechenden
Schritte führen das Umwandlungssystem, das anhand der Fig. 30
erläutert wurde, aus.
Werden somit die Subroutinen "Lguide", "Rgcircle" und
"3point" dieser dritten Modifikation an die entsprechenden
Stellen der Routinen in Fig. 23, 25 und 24 gesetzt, so kann
der Verzerrungsabbildungsfehler korrigiert werden, falls die
dreidimensionale Koordinate des Objektpunkts bestimmt wird.
Die anderen Routinen entsprechen denen des zweiten
Ausführungsbeispiels.
Die vierte Modifikation ist in Fig. 38 und 39 dargestellt.
Bei dem zweiten Ausführungsbeispiel und seinen drei
Modifikationen wurde der Fall einer Vielzahl von Sätzen von
entsprechenden R-, G- und B-Speichern erläutert. In einem
solchen Fall wird der Cursor in RGB-Speicher eingeschrieben,
die sich von den RGB-Speichern unterscheiden, in die das Bild
eingeschrieben ist, wobei der Cursor später hinzugefügt wird.
Die vierte Modifikation stellt andererseits ein Beispiel für
den Fall dar, daß nur ein Satz von RGB-Speichern vorliegt.
Bei diesem Fall wird der Cursor mit dem Bild des Cursorteils,
das in dem RGB-Speicher gelöscht ist, in dem das Bild
eingeschrieben ist, und wird der Cursor nur eingeschrieben, so
geht das Bild des Cursorteils verloren.
Demzufolge wird bei dieser Modifikation vor dem Einschreiben
des Cursors das Bild des Cursorteils abgelegt, so daß, falls
der Cursor gelöscht wird, das abgelegte Bild zurückkehrt und
das Bild des Cursorteils nicht verlorengeht.
Als erstes wird die Subroutine "point 1 ( )" anhand der Fig. 38
erläutert.
Beim Start dieser Routine wird zuerst beim Schritt S 20-1
geprüft, ob der Punkt 1 bestimmt ist oder nicht. Lautet die
Antwort NEIN, so schreitet der Prozeß direkt zum Schritt S 20-8
fort. Lautet die Antwort hingegen JA, so werden die Schritte
S 20-2 bis S 20-7 ausgeführt, woraufhin dann der Prozeß zum
Schritt S 20-8 fortschreitet.
Lautet beim oben erwähnten Schritt S 20-1 die Antwort JA, so
wird zuerst beim Schritt S 20-2 das abgelegte bzw. abgesonderte
Bild des Punkt1-Cursorteils in dem jeweiligen rechten und
linken Bild zurückgeholt. Anschließend wird beim Schritt S 20-3
geprüft, ob der Punkt 2 bestimmt ist oder nicht. Lautet die
Antwort JA, so wird beim Schritt S 20-4 der Cursor des Punkts 2
in das jeweilige rechte und linke Bild eingeschrieben,
woraufhin der Prozeß zum Schritt S 20-5 fortschreitet. Lautet
die Antwort hingegen NEIN, so schreitet der Prozeß direkt zum
Schritt S 20-5 fort. Beim Schritt S 20-5 wird geprüft, ob der
Kreispunkt bestimmt ist oder nicht. Lautet die Antwort JA, so
wird beim Schritt S 20-6 der Kreispunkt in das jeweilige rechte
und linke Bild eingeschrieben, woraufhin der Prozeß zum
Schritt S 20-7 fortschreitet. Lautet die Antwort hingegen NEIN,
so schreitet der Prozeß direkt zum Schritt S 20-7 fort. Beim
Schritt S 20-7 wird der Punkt 1 in einen nicht-bestimmten
Zustand zurückgebracht, woraufhin der Prozeß zu dem oben
erwähnten Schritt S 20-8 fortschreitet.
Somit wird, falls der Punkt 1 bestimmt ist, beim Schritt S 20-2
der Punkt1-Cursor gelöscht, wenn das abgesonderte Bild des
Punkt1-Cursorteils zurückgeholt ist. Liegt jedoch der Punkt2-
Cursor und der Kreispunkt-Cursor in der Nähe des Punkt1-
Cursors, so werden beim Löschen des Punkt1-Cursors die anderen
Cursor wahrscheinlich ausgestrichen. Demzufolge werden, falls
die anderen Punkte bestimmt sind, bei den Schritten S 20-4 und
S 20-6 die Cursor der anderen Punkte neu wiedereingeschrieben.
Als nächstes wird beim oben erwähnten Schritt S 20-8
die Subroutine "Rmovecur" durchgeführt, um die x- und y-
Koordinate (S RX 1, S Ry 1) des im rechten Bild bestimmten
Punkts zu erhalten. Die Subroutine "Rmomvecur ( )" bei dieser
Modifikation ist in Fig. 39 dargestellt.
Anschließend wird beim Schritt S 20-9 geprüft, ob der Punkt 2
bestimmt ist oder nicht. Lautet die Antwort JA, so wird beim
Schritt S 20-10 das abgesonderte Bild des Punkt 2-Cursorteils
in das rechte Bild zurückgeholt, worauf der Prozeß zum Schritt
S 20-11 fortschreitet. Lautet die Antwort hingegen NEIN, so
schreitet der Prozeß direkt zum Schritt S 20-11 fort. Beim
Schritt S 20-11 wird geprüft, ob der Kreispunkt bestimmt ist
oder nicht. Lautet die Antwort JA, so wird beim Schritt S 20-12
das abgesonderte Bild des Kreispunkt-Cursorteils in das rechte
Bild zurückgeholt, woraufhin der Prozeß zum Schritt S 20-13
fortschreitet. Lautet die Antwort hingegen NEIN, so schreitet
der Prozeß direkt zum Schritt S 20-13 fort. Beim Schritt S 20-13
wird das Bild des Punkt 1-Cursorteils beim rechten Bild
angeordnet. Beim Schritt S 20-14 wird der Punkt 1-Cursor in
das rechte Bild eingeschrieben.
Somit wird beim Schritt S 5-13 das Bild des Punkt 1-Cursorteils
abgesondert, ehe der Punkt1-Cursor eingeschrieben wird.
Befinden sich jedoch die anderen Punkte (wie z. B. der Punkt 2
und der Kreispunkt) in der Nähe des Punkt1-Cursors, so werden
die Cursor der anderen Punkte wahrscheinlich mit
eingeschlossen, falls das Bild des Punkt1-Cursorteils
abgesondert wird. Demzufolge wird in dem Fall, daß die anderen
Punkte bestimmt sind, bei den Schritten S 20-10 und S 20-12 die
Bilder der Cursorteile der anderen Punkte zurückgeholt.
Anschließend wird beim Schritt S 20-15 geprüft, ob der Punkt 2
bestimmt ist oder nicht. Lautet die Antwort JA, so wird beim
Schritt S 20-16 der Punkt2-Cursor in das rechte Bild
eingeschrieben, woraufhin der Prozeß zum Schritt S 20-17
fortschreitet. Lautet die Antwort hingegen NEIN, so schreitet
der Prozeß direkt zum Schritt S 20-17 fort. Beim Schritt S 20-17
wird geprüft, ob der Kreispunkt bestimmt ist oder nicht.
Lautet die Antwort JA, so wird beim Schritt S 20-18 der
Kreispunktcursor in das rechte Bild eingeschrieben, woraufhin
der Prozeß zum Schritt S 20-19 fortschreitet. Lautet die
Antwort hingegen NEIN, so schreitet der Prozeß direkt zum
Schritt S 20-19 fort.
Wie oben beschrieben, werden die Cursor der anderen Punkte
gelöscht, falls das Bild des Punkt 1-Cursorteils abgesondert
ist. Demzufolge werden bei den oben erwähnten Schritten S 20-15
bis S 20-18 die Cursor in das rechte Bild neu
wiedereingeschrieben.
Anschließend wird beim Schritt S 20-19 die Subroutine "Lguide ( )"
durchgeführt und die Führungslinie auf der Basis der
Koordinate (S Rx 1, S Ry 1) des bestimmten Punkts in das rechte
Bild eingeschrieben.
Anschließend wird beim Schritt S 20-20 die Subroutine "Lmovecur ( )"
durchgeführt, um die x- und y-Koordinate (S Lx 1, S Ly 1)
des bestimmten Punkts im linken Bild zu erhalten.
Anschließend wird beim Schritt S 20-21 die Führungslinie
gelöscht und anschließend beim Schritt S 20-22 die bestimmten
Punkte (S Rx 1, S Ry 1, S Lx 1, S Ly 1) in den jeweiligen rechten
und linken Bildern zu Argumenten gemacht und die Subroutine
"3dpoint ( )" ausgeführt, um die dreidimensionale Koordinate
(S x 1, S y 1, S z 1) des Punktes 1 zu erhalten.
Als nächstes wird beim Schritt S 20-23 geprüft, ob der Punkt 2
bestimmt ist oder lautet die Antwort JA, so wird beim Schritt
S 20-24 das abgesonderte Bild des Punkt2-Cursorteils in das
linke Bild zurückgeholt, woraufhin der Prozeß zum Schritt S 20-25
fortschreitet. Lautet die Antwort hingegen NEIN, so
schreitet der Prozeß direkt zum Schritt S 20-25 fort. Beim
Schritt S 20-25 wird geprüft, ob der Kreispunkt bestimmt ist
oder nicht. Lautet die Antwort JA, so wird beim Schritt S 20-26
das abgesonderte Bild des Kreispunkt-Cursorteils in das linke
Bild zurückgeholt, woraufhin der Prozeß zum Schritt S 20-27
fortschreitet. Lautet die Antwort hingegen NEIN, so schreitet
der Prozeß direkt zum Schritt S 20-27. Beim Schritt S 20-27
wird das Bild des Punkt1-Cursorteils im linken Bild
abgesondert. Anschließend wird beim Schritt S 20-28 der Punkt
1-Cursorteil in das linke Bild eingeschrieben.
Bei den oben erwähnten Schritten S 20-23 bis S 20-26 werden aus
den gleichen Gründen wie bei den Schritten S 20-9 bis S 20-12
für das rechte Bild die Bilder der Cursorteile der anderen
Punkte mit Ausnahme des Punktes 1 in das linke Bild
zurückgeholt und die Cursor der anderen Punkte gelöscht, ehe
der Punkt1-Cursor in das linke Bild eingeschrieben wird.
Anschließend wird beim Schritt S 20-29 geprüft, ob der Punkt 2
bestimmt ist oder nicht. Lautet die Antwort JA, so wird beim
Schritt S 20-30 der Punkt2-Cursor in das linke Bild
eingeschrieben, woraufhin der Prozeß zum Schritt S 20-31
fortschreitet. Lautet die Antwort NEIN, so schreitet der
Prozeß direkt zum Schritt S 20-31 fort. Beim Schritt S 20-31
wird geprüft, ob der Kreispunkt bestimmt ist oder nicht.
Lautet die Antwort NEIN, so wird beim Schritt S 20-32 der
Kreispunkt in das linke Bild eingeschrieben, woraufhin der
Prozeß zum Schritt S 20-33 fortschreitet. Lautet die Antwort
NEIN, so schreitet der Prozeß direkt zum Schritt S 20-33 fort.
Bei den oben erwähnten Schritten S 20-29 bis S 20-32 werden aus
den gleichen Gründen wie bei den Schritten S 20-15 bis S 20-18
für das rechte Bild die Cursor der anderen Punkte mit Ausnahme
des Punktes 1 in das linke Bild neu wiedereingeschrieben.
Nachfolgend wird beim Schritt S 20-33 der Abstand von der
Endoskopspitze zum Punkt 1 berechnet.
Anschließend wird beim Schritt S 20-34 geprüft, ob der Punkt 2
bestimmt ist oder nicht. Lautet die Antwort NEIN, so endet der
Prozeß. Lautet die Antwort jedoch JA, so wird beim Schritt
S 20-35 der Abstand zwischen den Punkten 1 und 2 berechnet,
woraufhin der Prozeß endet.
Bei dieser Modifikation ist die Subroutine "point 2 ( )" nicht
dargestellt, entspricht jedoch im wesentlichen der Subroutine
"point 1 ( )", wobei in deren Beschreibung (einschließlich
deren Koordinaten) die Punkte 1 und 2 zu vertauschen sind.
Ebenso wird bei der Subroutine "pointm ( )" in gleicher Weise
wie bei der Subroutine "point 1 ( )" ehe der Cursor
eingeschrieben wird, das Bild des Cursorteils abgesondert,
und, wenn der Cursor gelöscht wird, das abgesonderte Bild
zurückgeholt.
Anschließend wird anhand der Fig. 39 die Subroutine "Rmovecur ( )"
erläutert.
Beim Start dieser Routine wird beim Schritt S 21-1 zuerst das
Objektbild als rechtes Bild spezifiziert.
Anschließend wird beim Schritt S 21-2 geprüft, ob ein neuer,
sich bewegender Cursor vorliegt oder nicht. Lautet die Antwort
NEIN, so schreitet der Prozeß direkt zum Schritt S 21-4 fort.
Lautet die Antwort jedoch JA, so wird der Schritt S 21-3
ausgeführt, woraufhin dann der Prozeß zum Schritt S 21-4
fortschreitet. Bei dem oben erwähnten Schritt S 21-3 wird die
Position des neuen, sich bewegenden Cursors anstelle der
Position des alten , sich bewegenden Cursors gesetzt.
Anschließend wird bei dem oben erwähnten Schritt S 21-4 die
Position des neuen, sich bewegenden Cursors anhand der
Positionsinformation der Maus 145 erhalten.
Nachfolgend wird beim Schritt S 21-5 geprüft, ob der bewegliche
Cursor bewegt wurde oder nicht. Lautet die Antwort NEIN, so
schreitet der Prozeß direkt zum Schritt S 21-10 fort. Lautet
die Antwort JA, so schreitet der Prozeß zum Schritt S 21-6
fort, bei dem geprüft wird, ob der alte, bewegliche Cursor
vorliegt oder nicht. Lautet die Antwort NEIN, so schreitet der
Prozeß direkt zum Schritt S 21-8 fort. Lautet die Antwort
jedoch JA, so wird der Schritt S 21-7 ausgeführt, woraufhin
dann der Prozeß zum Schritt S 21-8 fortschreitet. Bei dem oben
erwähnten Schritt S 21-7 wird das abgesonderte Bild des Teils
mit dem alten, beweglichen Cursor zurückgeholt.
Anschließend wird bei dem oben erwähnten Schritt S 21-8 das
Bild des Teils des neuen, sich bewegenden Cursors abgesondert,
woraufhin anschließend beim Schritt S 21-9 der neue, sich
bewegende Cursor eingeschrieben wird.
Anschließend wird bei den Schritten S 21-2 bis S 21-9 der sich
bewegende Cursor gelöscht und für die Bewegung eingeschrieben.
Anschließend wird im Falle des Löschens des Cursors das
abgesonderte Bild zurückgeholt und im Falle des Einschreibens
des Cursors das Bild abgesondert.
Anschließend wird beim Schritt S 21-10 geprüft, ob die Taste 1
der Maus 145 betätigt wird oder nicht. Lautet die Antwort
NEIN, so schreitet der Prozeß direkt zum Schritt S 21-18 fort.
Lautet die Antwort jedoch JA, so werden die nächsten Schritte
S 21-11 bis S 21-17 ausgeführt, woraufhin dann der Prozeß zum
Schritt S 21-18 fortschreitet. Lautet beim oben erwähnten
Schritt S 21-10 die Antwort JA, so wird zuerst beim Schritt S 21-11
geprüft, ob der neue, bestimmte Cursor vorliegt oder
nicht. Lautet die Antwort NEIN, so schreitet der Prozeß direkt
zum Schritt S 21-13 fort. Lautet die Antwort JA, so wird
der Schritt S 21-12 ausgeführt, woraufhin dann der Prozeß zum
Schritt S 21-13 fortschreitet. Bei dem oben erwähnten Schritt
S 21-12 wird die Position des neuen, bestimmten Cursors an die
Stelle der Position des alten, bestimmten Cursors gesetzt.
Anschließend wird bei dem oben erwähnten Schritt S 21-13 die
Position des neuen, sich bewegenden Cursors an die Stelle des
neuen, bestimmten Cursors gesetzt.
Anschließend wird beim Schritt S 21-14 geprüft, ob der alte,
bestimmte Cursor vorliegt oder nicht. Lautet die Antwort NEIN,
so schreitet der Prozeß direkt zum Schritt S 21-16 fort. Lautet
die Antwort hingegen JA, so wird der Schritt S 21-15
ausgeführt, woraufhin der Prozeß zum Schritt S 21-16
fortschreitet. Bei dem oben erwähnten Schritt S 21-15 wird das
abgesonderte Bild des Teils des alten, bestimmten Cursors
zurückgeholt.
Beim oben erwähnten Schritt S 21-16 wird als nächstes das Bild
des neuen bestimmten Cursorteils abgesondert und dann beim
Schritt S 21-17 der neue, bestimmte Cursor eingeschrieben.
Somit wird bei den Schritten S 21-10 bis S 21-17 die Position
des sich bewegenden Cursors zu der des bestimmten Cursors
gemacht, falls die Taste 1 betätigt wird. In gleicher Weise
wie oben beschrieben, wird im Falle des Löschens des Cursors
das abgesonderte Bild zurückgeholt und im Falle des
Einschreibens des Cursors das Bild abgesondert.
Anschließend wird beim Schritt S 21-18 geprüft, ob der neue,
bestimmte Cursor vorliegt oder nicht und die Taste 2 der Maus
145 betätigt wird oder nicht. Lautet die Antwort NEIN, so
kehrt der Prozeß zum oben erwähnten Schritt S 21-2 zurück.
Lautet die Antwort hingegen JA, so schreitet der Prozeß zum
Schritt S 21-19 fort. Bei dem oben erwähnten Schritt S 21-18
kehrt der Prozeß zum Schritt S 21-2 zurück, falls die Antwort
NEIN lautet, so daß die Punktbestimmung wiederholt werden
kann. Bei dem oben erwähnten Schritt S 21-19 wird das
abgesonderte Bild des Teils des neuen, sich bewegenden Cursors
zurückgeholt und der neue, sich bewegende Cursor gelöscht,
woraufhin dann beim Schritt S 21-20 das abgesonderte Bild des
Teils des neuen, bestimmten Cursors zurückgeholt und der neue,
bestimmte Cursor gelöscht wird. Anschließend wird beim Schritt
S 21-21 die Position des neuen, bestimmten Cursors zur
bestimmten Position des Cursors und zu einem Rückkehrwert zur
Hauptroutine gemacht, um den Prozeß zu beenden.
Die Subroutine "Lmovecur ( )" bei dieser Modifikation ist
übrigens nicht dargestellt. Sie entspricht jedoch im
wesentlichen der oben erwähnten Subroutine "Rmovecur ( )" und
verarbeitet das linke Bild anstelle des rechten Bildes.
Bei dieser Modifikation geht selbst in dem Fall, daß nur ein
einziger Satz von entsprechenden RGB-Speichern vorhanden ist,
das Bild des Cursorteils nicht verloren, und der Cursor kann
angezeigt werden.
Die fünfte Modifikation ist in Fig. 40 dargestellt.
Bei dieser Modifikation wird im linken Bild die Führungslinie
nicht angezeigt. Jedoch wird der Cursor nur längs der Position
bewegt, die der Führungslinie entspricht.
Die Subroutine "point 1 ( )" dieser Modifikation wird anhand
der Fig. 40 erläutert.
Bei der Subroutine "point 1 ( )" dieser Modifikation sind der
Schritt S 5-6, bei dem die Führungslinie gezogen wird, und der
Schritt S 5-8, bei dem die Führungslinie gelöscht wird, aus der
in Fig. 20 gezeigten Subroutine "point 1 ( )" entfernt.
Demzufolge wird im linken Bild die Führungslinie nicht
angezeigt.
Die Subroutine "Lmovecur ( )" dieser Modifikation entspricht
der in Fig. 28 mit Bezug auf die Modifikation
verdeutlichten Subroutine. Ebenso entspricht die Subroutine
"Lgetcur ( )" beim Schritt S 13-5, die bei dieser Subroutine
"Lmovecur ( )" vorgesehen ist, der in Fig. 29 mit Bezug auf
die zweite Modifikation dargestellten Subroutine.
Demzufolge wird bei dieser Modifikation die Führungslinie im
linken Bild nicht angezeigt, jedoch bewegt sich der
bewegliche Cursor im linken Bild nur in dem Teil, der der
Führungslinie entspricht. Demzufolge kann in gleicher Weise
wie bei der zweiten Modifikation der Punkt ohne Fehler
bestimmt werden.
Übrigens entsprechen die Subroutine "point 2 ( )" und "pointm ( )"
der Subroutine "point 1 ( )".
Die sechste Modifikation ist in Fig. 41 dargestellt.
Bei dieser Modifikation werden Führungslinien oberhalb und
unterhalb der Position gezogen, in der der Meßobjektpunkt im
linken Bild liegen sollte.
Beim zweiten Ausführungsbeispiel, das in Fig. 23 dargestellt
ist, wird beim Schritt S 8-1 der Subroutine "Lguide ( )" der
Punkt (dLx, dLy) in das linke Bild eingeschrieben. Bei dieser
Modifikation werden jedoch, wie aus Fig. 41 ersichtlich, beim
Schritt S 8-1 der Subroutine "Lguide ( )" die Punkte (dLx, dLy+1)
und (dLx, dLy-1) in das linke Bild eingeschrieben. Der
übrige Aufbau entspricht dem des zweiten Ausführungsbeispiels.
Bei dieser Modifikation wird verhindert, daß die Führungslinie
das wichtige Bild überdeckt.
Das zweite Ausführungsbeispiel der Erfindung wird in den Fig. 42
bis 49 verdeutlicht.
Bei diesem Ausführungsbeispiel stellt der Monitor eine einzige
Einheit dar, bei dem das rechte und linke Bild selektiv
angezeigt werden.
Wie in den Fig. 42 und 43 verdeutlicht, ist die
Meßendoskopvorrichtung dieses Ausführungsbeispiels mit einer
Bildschalteinrichtung 201 ausgestattet, an die Bildsignale, z. B.
RGB-Signale, die von dem Teilbildspeicher 112R für das
rechte Bild und dem Teilbildspeicher 112L für das linke Bild
ausgegeben werden, angelegt werden und die entweder das rechte
oder das linke Bildsignal auswählt, so daß das Ausgangsmaterial
dieser Bildschalteinrichtung 201 in einen einzigen Monitor 130
eingegeben werden kann. Die oben erwähnte
Bildschalteinrichtung 201 wird vom Host-Computer 120
gesteuert.
Wie aus Fig. 44 ersichtlich, ist der oben erwähnte Host-
Computer zusätzlich zum Aufbau des in Fig. 9 gezeigten zweiten
Ausführungsbeispiels mit einer Bildschalteinrichtungs-
Schnittstelle 211 ausgestattet. Diese Bildschalteinrichtungs-
Schnittstelle 211 steht mit einer CPU über einen Bus in
Verbindung und ist an die oben erwähnte Bildschalteinrichtung
201 angekoppelt. Die vorstehend erwähnte CPU 121 steuert die
Bildschalteinrichtung 201 über die Schnittstelle 211.
Die Wirkungsweise dieses Ausführungsbeispiels wird nachfolgend
erläutert.
Bei diesem Ausführungsbeispiel wird beim Schreiben eines
Cursors, dem Zeichnen einer Führungslinie oder dem Schreiben
eines Indexkreises dieser bzw. diese nicht direkt in das Bild
eingeschrieben, sondern entweder in den rechten oder linken
Teilbildspeicher eingeschrieben, so daß das Bild im rechten
oder linken Teilbildspeicher auf dem Monitor angezeigt werden
kann, wenn dies erforderlich ist.
Zuerst wird nun die Subroutine "point 1 ( )" dieses
Ausführungsbeispiels anhand der Fig. 45 erläutert, während
diese mit der Subroutine "point 1 ( )" des in Fig. 20 gezeigten
zweiten Ausführungsbeispiels verglichen wird.
Beim Schritt S 5-2 im zweiten Ausführungsbeispiel wird der
Punkt1-Cursor in dem jeweiligen rechten und linken Bild
gelöscht, wohingegen bei diesem Ausführungsbeispiel der Punkt 1
im rechten und linken Teilbildspeicher gelöscht wird.
Ferner wird zwischen die Schritte S 5-3 und S 5-4 ein Schritt
S 5-31 zur Anzeige des Bildes des rechten Teilbildspeichers auf
dem Monitor eingefügt.
Während beim Schritt S 5-5 beim zweiten Ausführungsbeispiel der
Punkt1-Cursor in das rechte Bild geschrieben wird, wird bei
diesem Ausführungsbeispiel der Punkt1-Cursor in den rechten
Teilbildspeicher geschrieben.
Ferner wird auch zwischen den Schritt S 5-5 und S 5-6 ein
Schritt S 5-51 zur Anzeige des Bildes des linken
Teilbildspeichers auf dem Monitor eingefügt.
Während beim Schritt S 5-9 des zweiten Ausführungsbeispiels der
Punkt1-Cursor in das linke Bild eingeschrieben wird, wird bei
diesem Ausführungsbeispiel der Punkt1-Cursor in den linken
Teilbildspeicher eingeschrieben.
Der übrige Ablauf entspricht dem der Subroutine "point 1 ( )"
des zweiten Ausführungsbeispiels. In gleicher Weise wie bei
der Subroutine "point 1 ( )", die in Fig. 45 dargestellt ist,
schreibt die Subroutine "point 2 ( )" den Punkt2-Cursor in den
rechten und linken Teilbildspeicher ein.
Die Subroutine "pointm ( )" dieses Ausführungsbeispiels wird
nachfolgend anhand der Fig. 46 erläutert, wobei diese mit der
Subroutine "pointm ( )" des zweiten Ausführungsbeispiels
verglichen wird, die in Fig. 21 dargestellt ist.
Während beim Schritt S 6-2 beim zweiten Ausführungsbeispiel der
Kreispunktcursor in dem jeweiligen rechten und linken Bild
gelöscht wird, wird bei diesem Ausführungsbeispiel der
Kreispunktcursor im rechten und linken Teilbildspeicher
gelöscht.
Zwischen die Schritte S 6-3 und S 6-4 ist ein Schritt S 6-31
eingefügt, der das Bild des rechten Teilbildspeichers am
Monitor anzeigt.
Während beim Schritt S 6-5 beim zweiten Ausführungsbeispiel der
Kreispunktcursor in das rechte Bild eingeschrieben wird, wird
bei diesem Ausführungsbeispiel der Kreispunktcursor in den
rechten Teilbildspeicher eingeschrieben.
Ferner ist zwischen die Schritte S 6-5 und S 6-6 ein Schritt S 6-51
eingefügt, der das Bild des linken Teilbildspeichers auf
dem Monitor anzeigt.
Während beim Schritt S 6-9 des zweiten Ausführungsbeispiels der
Kreispunktcursor in das linke Bild eingeschrieben wird, wird
bei diesem Ausführungsbeispiel der Kreispunktcursor in den
linken Teilbildspeicher eingeschrieben.
Ferner ist zwischen die Schritte S 6-11 und S 6-12 ein Schritt
S 6-111 eingefügt, der das Bild des rechten Teilbildspeichers
auf dem Monitor anzeigt.
Der übrige Aufbau bzw. Ablauf entspricht dem der Subroutine
"pointm ( )" des zweiten Ausführungsbeispiels.
Nachfolgend wird anhand der Fig. 47 die Subroutine "Rmovecur ( )"
dieses Ausführungsbeispiels erläutert, wobei diese mit der
Subroutine "Rmovecur ( )" des zweiten Ausführungsbeispiels
verglichen wird, die in Fig. 22 dargestellt ist.
Während beim Schritt S 7-1 des zweiten Ausführungsbeispiels das
Objektbild als rechtes Bild bestimmt wird, wird bei dem
Ausführungsbeispiel der Objektteilbildspeicher als rechter
Teilbildspeicher bestimmt.
Der übrige Ablauf entspricht dem der Subroutine "Rmovecur ( )"
des zweiten Ausführungsbeispiels. Übrigens bestimmt die
Subroutine "Lmovecur" in gleicher Weise wie bei der Subroutine
"Rmovecur ( )" in Fig. 47 beim ersten Schritt den
Objektteilbildspeicher als linken Teilbildspeicher.
Die Subroutine "Lguide ( )" dieses Ausführungsbeispiels wird
nachfolgend anhand der Fig. 48 beschrieben, wobei diese mit
der Subroutine "Lguide" des zweiten Ausführungsbeispiels
verglichen wird, die in Fig. 23 dargestellt ist.
Während beim Schritt S 8-1 beim zweiten Ausführungsbeispiel der
Punkt (dLx, dLy) in das linke Bild eingeschrieben wird, wird
bei diesem Ausführungsbeispiel der Punkt (dLx, dLy) in den
linken Teilbildspeicher eingeschrieben.
Der übrige Ablauf entspricht dem der Subroutine "Lguide ( )"
des zweiten Ausführungsbeispiels.
Nachfolgend wird anhand der Fig. 49 die Subroutine "Rgcircle ( )"
dieses Ausführungsbeispiels erläutert, wobei diese mit der
Subroutine "Rgcircle ( )" des zweiten Ausführungsbeispiels
verglichen wird, die in Fig. 25 dargestellt ist.
Während beim Schritt S 10-7 des zweiten Ausführungsbeispiels
der Punkt (dRx, dRUy) in das rechte Bild eingeschrieben wird,
wird bei diesem Ausführungsbeispiel der Punkt (dRx, dRUy) in
den rechten Teilbildspeicher eingeschrieben.
Während beim Schritt S 10-15 des zweiten Ausführungsbeispiels
die Punkte (dRx, dRUy) und (dRx, dRDy) in das rechte Bild
eingeschrieben werden, werden bei diesem Ausführungsbeispiel
die Punkte (dRx, dRUy) und (dRx, dRDy) in den rechten
Teilbildspeicher eingeschrieben.
Während beim Schritt S 10-23 des zweiten Ausführungsbeispiels
der Punkt (dRx, dRUy) in das rechte Bild eingeschrieben wird,
wird bei diesem Ausführungsbeispiel der Punkt (dRx, dRUy) in
den rechten Teilbildspeicher eingeschrieben.
Der übrige Ablauf der Subroutine entspricht dem der Subroutine
"Rgcircle ( )" des zweiten Ausführungsbeispiels.
Somit können bei diesem Ausführungsbeispiel die jeweiligen
rechten und linken Bilder auf einem Monitor angezeigt und der
Objektpunkt bestimmt werden.
Die übrigen Ausgestaltungen, Funktionen und Wirkungen
entsprechen denen des zweiten Ausführungsbeispiels.
Das vierte Ausführungsbeispiel der Erfindung ist in Fig. 50
gezeigt.
Wird bei diesem Ausführungsbeispiel der sich bewegende Cursor
auf einem Bild dargestellt, so wird die Führungslinie, die dem
sich bewegenden Cursor entspricht, auf dem anderen Bild
angezeigt, und, falls der oben erwähnte bewegliche Cursor
bewegt wird, wird die oben erwähnte Führungslinie ebenso
bewegt.
Die Subroutine "Rmovecur ( )" dieses Ausführungsbeispiels wird
nachfolgend anhand der Fig. 50 erläutert, während diese mit
der Subroutine "Rmovecur ( )" des zweiten Ausführungsbeispiels
verglichen wird, die in Fig. 22 dargestellt ist.
Bei diesem Ausführungsbeispiel werden zwischen die Schritte
S 7-3 und S 7-4 die nachfolgend beschriebenen drei Schritte
eingefügt.
D. h. beim Schritt S 7-3 wird der alte, sich bewegende Cursor
gelöscht und anschließend beim Schritt S 7-31 wird das
Objektbild als linkes Bild bestimmt. Anschließend wird beim
Schritt S 7-32 die in das linke Bild eingeschriebene
Führungslinie gelöscht. Daraufhin wird beim Schritt S 7-33 das
Objektbild als rechtes Bild bestimmt und der Prozeß schreitet
zum Schritt S 7-4.
Beim Schritt S 7-5 wird die Position des neuen, sich bewegenden
Cursors als (mx, my) erhalten.
Zwischen die Schritte S 7-6 und S 7-7 werden die nachfolgenden
drei Schritte eingefügt.
D. h. beim Schritt S 7-6 wird der neue, sich bewegende Cursor
eingeschrieben, anschließend beim Schritt S 7-6 wird das
Objektbild als linken Bild bestimmt. Anschließend wird beim
Schritt S 7-62 der oben erwähnte Ausdruck (mx, my) zu einem
Argument gemacht und die Subroutine "Lguide ( )" durchgeführt.
D. h. die Führungslinie, die die Position darstellt, in der
der durch den oben erwähnten, sich bewegenden Cursor
spezifizierte Punkt im Raum auf der Basis der Position des
sich im rechten Bild bewegenden Cursors liegen sollte, wird im
linken Bild angezeigt. Anschließend wird beim Schritt S 7-63
das Objektbild als rechtes Bild bestimmt und der Prozeß
schreitet zum Schritt S 7-7 fort.
Der Prozeß beim Schritt S 7-7 und nachfolgend entspricht dem
des zweiten Ausführungsbeispiels.
Somit werden bei der Subroutine "Rmovecur" dieses
Ausführungsbeispiels der Schritt S 7-62, bei dem in das linke
Bild die Führungslinie eingeschrieben wird, die dem sich
bewegenden Cursor des rechten Bildes entspricht, und der
Schritt S 7-32, bei dem die Führungslinie gelöscht wird, die
dem alten, sich bewegenden Cursor entspricht, falls der
bewegliche Cursor sich bewegt, hinzugefügt. Ehe die oben
erwähnte Führungslinie eingeschrieben oder gelöscht wird, wird
das Objektbild als linkes Bild bestimmt und nach dem
Einschreiben oder Löschen der Führungslinie wird das
Objektbild als rechtes Bild bestimmt.
In gleicher Weise wie bei der in Fig. 50 gezeigten Subroutine
"Rmovecur ( )" wird übrigens auch bei der Subroutine "Lmovecur ( )"
im rechten Bild die Führungslinie angezeigt, die dem sich
bewegenden Cursor auf dem linken Bild entspricht.
Wird demzufolge der Objektpunkt im rechten Bild bestimmt, so
kann für die entsprechende Position auf dem linken Bild auf
die Führungslinie Bezug genommen werden, und wird der
Objektpunkt im linken Bild bestimmt, so kann die Position
exakt bestimmt werden, indem die Führungslinie auf dem rechten
Bild dem bestimmten Punkt auf dem linken Bild überlagert wird.
Wird somit bei diesem Ausführungsbeispiel der Objektpunkt
bestimmt, so wird die Führungslinie auf dem Bild der
Bestimmungsseite nicht angezeigt, so daß ein wichtiges Bild
dadurch nicht überdeckt wird. Jedoch kann in gleicher Weise
wie beim zweiten Ausführungsbeispiel die Position des
Objektpunktes exakt bestimmt werden.
Die übrigen Ausgestaltungen, Funktionen und Wirkungen
entsprechen denen des zweiten Ausführungsbeispiels.
Übrigens ist die vorliegende Erfindung nicht auf die
vorstehend erwähnten Ausführungsbeispiele beschränkt,
beispielsweise sind die Objektpunkte nicht auf zwei
beschränkt, sondern es können drei oder mehr vorliegen.
Außerdem können die Cursor, die die jeweiligen Objektpunkte
zeigen, durch Farbe oder Form unterschieden werden.
Ebenso können anstelle der Anzeige der Führungslinie nur der
Bereich des Bildes nahe dem Teil, der der Führungslinie
entspricht, angezeigt werden oder die Farbe des Teils, der der
Führungslinie entspricht, kann dünn gemacht werden, so daß der
mögliche Bereich für das Vorliegen des Objektpunktes angezeigt
werden kann.
Als Objektpunktbestimmungsmittel kann anstelle eines Cursors
beispielsweise auch ein Lichtgriffel Verwendung finden.
Ferner kann der Objektpunkt zuerst im rechten oder im linken
Bild bestimmt werden.
Ferner kann anstelle der Anordnung der
Bildaufnahmeeinrichtung im Kopfteil des Einführteils auch
eine Vielzahl von Bildübertragungseinrichtungen, wie z. B. von
Faserbündeln, im Einführteil vorgesehen werden, wobei dann die
Bildaufnahmeeinrichtungen an den rückseitigen Enden dieser
Bildübertragungseinrichtungen angeordnet sind. Ebenso kann nur
eine Bildaufnahmeeinrichtung im Kopf des Einführteils
vorgesehen werden, wobei dann eine Vielzahl von Bildern mit
Parallaxen durch Bewegen der Bildaufnahmeeinrichtung
abgebildet wird.
Die jeweiligen rechten und linken Bilder können rechts und
links auf einem Monitor angezeigt werden.
Der Index als Kriterium der Größe ist nicht auf einen Kreis
beschränkt, sondern kann als Quadrat oder ein Liniensegment
mit einer Länge die dem Abstand entspricht, dargestellt
werden.
Claims (27)
1. Vorrichtung zum dreidimensionalen Messen, mit
- - einer Bildaufnahmeeinrichtung (104R, 104L) zur Abbildung einer Vielzahl von Abbildern, die Parallaxen aufweisen,
- - eine Anzeigeeinrichtung (130) zum Anzeigen der von der Bildaufnahmeeinrichtung erhaltenen Vielzahl von Abbildern auf einer Vielzahl von Bildern,
- - einer ersten Bestimmungseinrichtung (151L) zum Bestimmen eines ersten Objektpunktes, der einem Meßobjektpunkt im Raum auf einem von der Anzeigeeinrichtung wiedergegebenen ersten Bild unter der Vielzahl von Bildern entspricht,
- - einer zweiten Bestimmungseinrichtung (151R) zum Bestimmen eines zweiten Objektpunktes, der einem Meßobjektpunkt im Raum auf dem von der Anzeigeeinrichtung wiedergegebenen zweiten Bild unter der Vielzahl von Bildern entspricht, und
- - einer Operationseinrichtung (154) zur Ausführung einer Meßoperation in bezug auf die dreidimensionale Position des Meßobjektpunktes, der durch den ersten Objektpunkt, der von der ersten Bestimmungseinrichtung bestimmt ist, und dem zweiten Objektpunkt, der durch die zweite Bestimmungseinrichtung bestimmt ist, festgelegt ist,
dadurch gekennzeichnet,
- - daß eine Objektpunktbestimmungs-Hilfseinrichtung (150, 153) vorgesehen ist, die die Positionsbedingungen für den möglichen Bereich für das Vorliegen des zweiten Objektpunktes auf dem zweiten Bild festlegt.
2. Vorrichtung nach Anspruch 1,
dadurch gekennzeichnet,
daß eine Führungslinien-Anzeigeeinrichtung (153) zur
Anzeige einer Führungslinie vorgesehen ist, die den
Positionsbedingungen entspricht.
3. Vorrichtung nach einem der Ansprüche 1 oder 2,
dadurch gekennzeichnet,
- - daß die erste Bestimmungseinrichtung eine erste Cursoranzeigeeinrichtung (151L) zum Anzeigen eines ersten Cursors für die Bestimmung des ersten Objektpunktes auf dem ersten Bild aufweist, auf dem das erste Abbild wiedergegeben wird, und
- - daß die zweite Bestimmungseinrichtung eine zweite Cursoranzeigeeinrichtung (151R) zum Anzeigen eines zweiten Cursors für die Bestimmung des zweiten Objektpunktes auf dem zweiten Bild aufweist, auf dem das zweite Abbild wiedergegeben wird.
4. Vorrichtung nach einem der Ansprüche 1 bis 3,
dadurch gekennzeichnet,
- - daß die erste Bestimmungseinrichtung (151L) und die zweite Bestimmungseinrichtung (151R) einer gemeinsamen Cursorbewegungseinrichtung (145) zum Bewegen des ersten und zweiten Cursors auf den jeweiligen Bildern und zum Bestimmen der jeweiligen Objektpunkte unter Verwendung der jeweiligen Cursor verbunden sind und
- - daß die Objektpunktbestimmungs-Hilfseinrichtung eine Schalteinrichtung (150) zum betrieblichen Verbinden der Cursorbewegungseinrichtung (145) mit der ersten Cursoranzeigeeinrichtung (151L) vor der Bestimmung des ersten Objektpunktes, zum Lösen der Verbindung zwischen Cursorbewegungseinrichtung (145) und der ersten Cursoranzeigeeinrichtung (151L) nach der Bestimmung des ersten Objektpunktes und zum betrieblichen Verbinden der Cursorbewegungseinrichtung (145) mit der zweiten Cursoranzeigeeinrichtung (151R) aufweist.
5. Vorrichtung nach einem der Ansprüche 1 bis 4,
dadurch gekennzeichnet,
- - daß die Operationseinrichtung eine Objektpunktpositions-Operationseinrichtung (154) zum Ermitteln der dreidimensionalen Position des durch den ersten und zweiten Objektpunkt spezifizierten Meßobjektpunkts aufweist und
- - daß die Einrichtung zum dreidimensionalen Messen ferner eine Indexanzeigeeinrichtung (155) aufweist, die einen Index mit einer Größe anzeigt, die der von der Objektpunktpositions-Operationseinrichtung bestimmten Position des Meßobjektpunkts nahe dem ersten und/oder zweiten Objektpunkt entspricht.
6. Vorrichtung nach einem der Ansprüche 1 bis 5,
dadurch gekennzeichnet,
daß die Objektpunktbestimmungs-Hilfseinrichtung (150, 153)
eine Warneinrichtung aufweist, die prüft, ob der von der
zweiten Bestimmungseinrichtung (151R) bestimmte zweite
Objektpunkt auf der Führungslinie liegt oder nicht, und
eine Warnung ausgibt, falls der zweite Objektpunkt nicht
auf der Führungslinie liegt.
7. Vorrichtung nach einem der Ansprüche 2 bis 5,
dadurch gekennzeichnet,
daß die Objektpunktbestimmungs-Hilfseinrichtung (150, 153)
eine Sperreinrichtung aufweist, die eine Bestimmung des
zweiten Objektpunktes durch die zweite
Bestimmungseinrichtung (151R) unmöglich macht, falls der
zweite Objektpunkt nicht auf der Führungslinie liegt.
8. Vorrichtung nach Anspruch 7,
dadurch gekennzeichnet,
daß die Sperreinrichtung eine Einrichtung aufweist, mit
deren Hilfe der zweite Cursor nur auf der Führungslinie
bewegbar ist.
9. Vorrichtung nach einem der Ansprüche 2 bis 8,
dadurch gekennzeichnet,
daß die Führungslinienanzeigeeinrichtung (153) einen
Verzerrungsabbildungsfehler des optischen Systems (21, 22)
korrigiert, daß ein Abbild auf der Bildaufnahmeeinrichtung
(104R, 104L) erzeugt, falls die Positionsbedingung für die
Möglichkeit des Vorliegens des zweiten Objektpunktes
bestimmt wird.
10. Vorrichtung nach einem der Ansprüche 2 bis 9,
dadurch gekennzeichnet,
daß die Führungslinie aus einer Linie besteht, die der
Positionsbedingung genügt.
11. Vorrichtung nach einem der Ansprüche 2 bis 9,
dadurch gekennzeichnet,
daß die Führungslinie aus zwei Linien besteht, die den
Bereich angeben, der der Positionsbedingung genügt.
12. Vorrichtung nach einem der Ansprüche 1 bis 5,
dadurch gekennzeichnet,
daß die Objektpunktbestimmungs-Hilfseinrichtung (150) eine
Sperreinrichtung aufweist, die eine Bestimmung des zweiten
Objektpunktes durch die zweite Bestimmungseinrichtung
(151R) außerhalb des Bereichs unmöglich macht, der der
durch die Operationseinrichtung (154) bestimmten
Positionsbedingung genügt.
13. Vorrichtung nach Anspruch 12,
dadurch gekennzeichnet,
daß die Sperreinrichtung eine Einrichtung aufweist, mit
deren Hilfe der zweite Cursor nur in dem Bereich bewegbar
ist,
der der Positionsbedingung genügt.
14. Vorrichtung nach Anspruch 3,
dadurch gekennzeichnet,
daß die Objektpunktbestimmungs-Hilfseinrichtung eine
Führungslinien-Anzeigeeinrichtung (153) aufweist, die eine
Führungslinie, die der Positionsbedingung des dem zweiten
Cursor im ersten Bild entsprechenden Punktes im Raum auf
dem ersten Bild genügt, auf der Basis der
Positionsinformation des zweiten Cursors auf dem zweiten
Bild wiedergibt.
15. Vorrichtung nach Anspruch 4,
dadurch gekennzeichnet,
daß die zweite Cursoranzeigeeinrichtung (151R) den zweiten
Cursor auf dem zweiten Bild nur dann anzeigt, wenn diese
mittels der Schalteinrichtung (150) mit der
Cursorbewegungseinrichtung (145) betrieblich verbunden
ist.
16. Vorrichtung nach einem der Ansprüche 5 bis 15,
dadurch gekennzeichnet,
daß der Index ein zweidimensionaler Index ist.
17. Vorrichtung nach einem der Ansprüche 5 bis 16,
dadurch gekennzeichnet,
daß der Index ein Kreis ist.
18. Vorrichtung nach einem der Ansprüche 5 bis 17,
dadurch gekennzeichnet,
daß beim Bestimmen der dreidimensionalen Position des
Meßobjektpunktes die Objektpunktbestimmungs-
Operationseinrichtung (154) den
Verzerrungsabbildungsfehler des optischen Systems (21, 22)
korrigiert, das ein Abbild auf der Bildaufnahmeeinrichtung
(104R, 104L) erzeugt, und daß beim Wiedergeben der Indices
die Indexanzeigeeinrichtung (155) den
Verzerrungsabbildungsfehler des optischen Systems (21, 22)
korrigiert, das ein Abbild auf der Bildaufnahmeeinrichtung
(104R, 104L) erzeugt.
19. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß die Operationseinrichtung (154) die dreidimensionale
Koordinate des Meßobjektpunktes ermittelt.
20. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß die Operationseinrichtung (154) den Abstand zwischen
dem Meßobjektpunkt und der Bildaufnahmeeinrichtung
berechnet.
21. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß die erste und zweite Bestimmungseinrichtung (145,
151L, 151R) eine Vielzahl von Objektpunkten entsprechend
bestimmen können und daß die Operationseinrichtung (154)
den Abstand zwischen zwei von einer Vielzahl von
Meßobjektpunkten bestimmt, die durch einen Satz einer
Vielzahl von Objektpunkten spezifiziert sind.
22. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
- - daß eine Speichereinrichtung (112L, 122R) zum Speichern der von der Bildaufnahmeeinrichtung (104L, 104R) erhaltenen Abbildern vorgesehen ist,
- - daß die Anzeigeeinrichtung (130L, 130R) die von der Speichereinrichtung gespeicherte Abbildung als stillgesetztes Abbild wiedergibt und
- - daß die erste und zweite Bestimmungseinrichtung (145, 151L, 151R) die Objektpunkte auf der von der Anzeigeeinrichtung (130L, 130R) wiedergegebenen stillgesetzten bzw. eingefrorenen Abbildung entsprechend bestimmen.
23. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß die Anzeigeeinrichtung einen einzigen Monitor (130)
sowie eine Schalteinrichtung (201) aufweist, so daß der
Monitor (130) wahlweise irgendeines der Vielzahl von
Abbildern wiedergibt.
24. Vorrichtung nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß die Bildaufnahmeeinrichtung (104R, 104L) eine Vielzahl
von Abbildern abbildet, die von einer
Abbildungserzeugungseinrichtung (21, 22) erzeugt werden,
die im Kopfteil des Einführteils (101) eines Endoskops
vorgesehen ist, und eine Vielzahl von Objektabbildern
erzeugen kann, die Parallaxen aufweisen.
25. Vorrichtung nach Anspruch 24,
dadurch gekennzeichnet,
daß die Abbildungserzeugungseinrichtung eine Vielzahl von
optischen Systemen (21, 22) aufweist, die an einer
Vielzahl von Stellen mit Parallaxen im Kopfteil des
Einführteils angeordnet sind.
26. Vorrichtung nach Anspruch 25,
dadurch gekennzeichnet,
daß die Bildaufnahmeeinrichtung eine Vielzahl von
Festkörper-Bildaufnahmeeinrichtungen (104L, 104R)
aufweist, die an den jeweiligen Abbildungspositionen der
Vielzahl von optischen Systemen (21, 22) im Kopfteil des
Einführteils (101) angeordnet sind.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP27149388 | 1988-10-26 | ||
| JP1038813A JPH02216404A (ja) | 1989-02-17 | 1989-02-17 | 計測用内視鏡装置 |
| JP1038811A JP2778725B2 (ja) | 1988-10-26 | 1989-02-17 | 計測用内視鏡装置 |
| JP1038812A JPH02216403A (ja) | 1989-02-17 | 1989-02-17 | 計測用内視鏡装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE3922652A1 DE3922652A1 (de) | 1990-05-03 |
| DE3922652C2 true DE3922652C2 (de) | 1992-09-10 |
Family
ID=27460661
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE3922652A Granted DE3922652A1 (de) | 1988-10-26 | 1989-07-10 | Vorrichtung zum dreidimensionalen messen |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4935810A (de) |
| DE (1) | DE3922652A1 (de) |
Families Citing this family (44)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5200838A (en) * | 1988-05-27 | 1993-04-06 | The University Of Connecticut | Lateral effect imaging system |
| US5109276A (en) * | 1988-05-27 | 1992-04-28 | The University Of Connecticut | Multi-dimensional multi-spectral imaging system |
| US5200819A (en) * | 1988-05-27 | 1993-04-06 | The University Of Connecticut | Multi-dimensional imaging system for endoscope |
| JPH0695009B2 (ja) * | 1989-06-29 | 1994-11-24 | オリンパス光学工業株式会社 | 撮像手段による対象部分の検査方法 |
| US5070401A (en) * | 1990-04-09 | 1991-12-03 | Welch Allyn, Inc. | Video measurement system with automatic calibration and distortion correction |
| US5153721A (en) * | 1990-06-04 | 1992-10-06 | Olympus Optical Co., Ltd. | Method and apparatus for measuring an object by correlating displaced and simulated object images |
| JPH04357927A (ja) | 1991-01-14 | 1992-12-10 | Olympus Optical Co Ltd | 画像表示装置 |
| JP3217386B2 (ja) * | 1991-04-24 | 2001-10-09 | オリンパス光学工業株式会社 | 診断システム |
| AU2305792A (en) * | 1991-06-26 | 1993-01-25 | John C. Lafeber | Dual lens borescope measurement device |
| US5249056A (en) * | 1991-07-16 | 1993-09-28 | Sony Corporation Of America | Apparatus for generating video signals from film |
| JP3347385B2 (ja) * | 1992-03-27 | 2002-11-20 | オリンパス光学工業株式会社 | 内視鏡画像処理装置 |
| US5305121A (en) * | 1992-06-08 | 1994-04-19 | Origin Medsystems, Inc. | Stereoscopic endoscope system |
| US5381784A (en) * | 1992-09-30 | 1995-01-17 | Adair; Edwin L. | Stereoscopic endoscope |
| US5669871A (en) * | 1994-02-21 | 1997-09-23 | Olympus Optical Co., Ltd. | Endoscope measurement apparatus for calculating approximate expression of line projected onto object to measure depth of recess or the like |
| JP3486461B2 (ja) * | 1994-06-24 | 2004-01-13 | キヤノン株式会社 | 画像処理装置及び方法 |
| KR100381348B1 (ko) * | 1995-04-17 | 2003-07-07 | 산요 덴키 가부시키가이샤 | 2차원 영상을 3차원 영상으로 변환하는 방법 |
| US6141105A (en) | 1995-11-17 | 2000-10-31 | Minolta Co., Ltd. | Three-dimensional measuring device and three-dimensional measuring method |
| US6009189A (en) * | 1996-08-16 | 1999-12-28 | Schaack; David F. | Apparatus and method for making accurate three-dimensional size measurements of inaccessible objects |
| JP3771988B2 (ja) * | 1997-03-12 | 2006-05-10 | オリンパス株式会社 | 計測内視鏡装置 |
| DE69823116D1 (de) | 1997-08-05 | 2004-05-19 | Canon Kk | Bildverarbeitungsverfahren und -gerät |
| EP0901105A1 (de) | 1997-08-05 | 1999-03-10 | Canon Kabushiki Kaisha | Bildverarbeitungsvorrichtung |
| US6647146B1 (en) | 1997-08-05 | 2003-11-11 | Canon Kabushiki Kaisha | Image processing apparatus |
| FR2790196A1 (fr) * | 1999-02-26 | 2000-09-01 | Charles Baur | Dispositif d'observation endoscopique |
| US6888640B2 (en) | 2000-02-04 | 2005-05-03 | Mario J. Spina | Body spatial dimension mapper |
| US7706601B2 (en) * | 2003-08-29 | 2010-04-27 | Nec Corporation | Object posture estimation/correlation system using weight information |
| AU2004212605A1 (en) * | 2003-09-26 | 2005-04-14 | Nec Australia Pty Ltd | Computation of soft bits for a turbo decoder in a communication receiver |
| US7349083B2 (en) * | 2004-07-21 | 2008-03-25 | The Boeing Company | Rotary borescopic optical dimensional mapping tool |
| US9030532B2 (en) * | 2004-08-19 | 2015-05-12 | Microsoft Technology Licensing, Llc | Stereoscopic image display |
| US20070087083A1 (en) * | 2005-10-18 | 2007-04-19 | Riley William T | Tea bag cozy |
| AU2007253887B2 (en) * | 2006-05-17 | 2013-03-28 | Kent Moore | Stereovideoscope and method of using the same |
| US8199186B2 (en) | 2009-03-05 | 2012-06-12 | Microsoft Corporation | Three-dimensional (3D) imaging based on motionparallax |
| JP2010244245A (ja) * | 2009-04-03 | 2010-10-28 | Sony Corp | 情報処理装置、情報処理方法、及び、プログラム |
| JP5510700B2 (ja) * | 2009-04-03 | 2014-06-04 | ソニー株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
| JP4919122B2 (ja) * | 2009-04-03 | 2012-04-18 | ソニー株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
| JP2010245761A (ja) * | 2009-04-03 | 2010-10-28 | Sony Corp | 情報処理装置、情報処理方法、及び、プログラム |
| JP5437087B2 (ja) * | 2010-01-15 | 2014-03-12 | オリンパス株式会社 | 内視鏡装置およびプログラム |
| EP2674099B1 (de) * | 2011-08-26 | 2016-12-14 | Olympus Corporation | Medizinisches gerätesystem |
| GB2496903B (en) | 2011-11-28 | 2015-04-15 | Rolls Royce Plc | An apparatus and a method of inspecting a turbomachine |
| US9561022B2 (en) | 2012-02-27 | 2017-02-07 | Covidien Lp | Device and method for optical image correction in metrology systems |
| WO2013179905A1 (ja) * | 2012-05-30 | 2013-12-05 | オリンパスメディカルシステムズ株式会社 | 医療用3次元観察装置 |
| US10292570B2 (en) * | 2016-03-14 | 2019-05-21 | Endochoice, Inc. | System and method for guiding and tracking a region of interest using an endoscope |
| JP6898425B2 (ja) | 2017-03-03 | 2021-07-07 | 富士フイルム株式会社 | 計測支援装置、内視鏡システム、及び内視鏡システムのプロセッサ |
| WO2018180250A1 (ja) | 2017-03-28 | 2018-10-04 | 富士フイルム株式会社 | 計測支援装置、内視鏡システム、及びプロセッサ |
| EP3603477B1 (de) | 2017-03-28 | 2025-08-06 | FUJIFILM Corporation | Messunterstützungsvorrichtung, endoskopisches system und prozessor |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5836927A (ja) * | 1981-08-26 | 1983-03-04 | Shin Kobe Electric Mach Co Ltd | 鉛酸化物の製造法 |
| JPH0820230B2 (ja) * | 1984-06-08 | 1996-03-04 | オリンパス光学工業株式会社 | 計測用内視鏡 |
| JPH0646977B2 (ja) * | 1984-06-09 | 1994-06-22 | オリンパス光学工業株式会社 | 計測用内視鏡 |
| US4851901A (en) * | 1986-09-03 | 1989-07-25 | Kabushiki Kaisha Toshiba | Stereoscopic television apparatus |
| JPS6363432A (ja) * | 1986-09-03 | 1988-03-19 | 株式会社東芝 | 立体テレビジヨン |
| JPS63294509A (ja) * | 1987-05-27 | 1988-12-01 | Olympus Optical Co Ltd | 立体視内視鏡装置 |
| JPS6424215A (en) * | 1987-07-20 | 1989-01-26 | Olympus Optical Co | Stereoscopic endoscope system |
-
1989
- 1989-07-07 US US07/376,460 patent/US4935810A/en not_active Expired - Lifetime
- 1989-07-10 DE DE3922652A patent/DE3922652A1/de active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| US4935810A (en) | 1990-06-19 |
| DE3922652A1 (de) | 1990-05-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3922652C2 (de) | ||
| DE4435426C2 (de) | Auf ein Breitwand-Fernsehsystem abgestimmtes Mikroskop-System | |
| DE69519975T2 (de) | Medizinisches Beobachtungsinstrument | |
| EP0799434B1 (de) | Mikroskop, insbesondere stereomikroskop und verfahren zum überlagern zweier bilder | |
| DE3587169T2 (de) | Verfahren zur steuerung einer mikroskopabtasteinrichtung. | |
| DE3818104C2 (de) | ||
| DE69022063T2 (de) | Lokal angreifendes interaktives system innerhalb einer nichthomogenen struktur. | |
| DE69327390T2 (de) | Anordnung zur dreidimensionalen Bildanzeige | |
| EP1333306B1 (de) | Stereo-Mikroskopieverfahren und Stereo-Mikroskopiesystem | |
| DE102008028482B4 (de) | Optisches Beobachtungsgerät mit Mehrkanal-Dateneinblendung und Verfahren zum Einblenden von elektronischen Einblendbildern in ein optisches Beobachtungsgerät | |
| DE69724963T2 (de) | Verfahren und gerät zur ermittlung von standpunkt und blickrichtung bei der erzeugung eines dreidimensionalen bildes | |
| EP2467051A1 (de) | Bildverarbeitungssystem mit einer zusätzlichen zusammen mit der bildinformation zu verarbeitenden massstabsinformation | |
| DE102005009437A1 (de) | Verfahren und Vorrichtung zum Einblenden von AR-Objekten | |
| DE102008035412A1 (de) | Verfahren zur Erstellung einer dentalen 3D-Röntgenaufnahme und Röntgengerät hierfür | |
| EP1658591B1 (de) | Verfahren und vorrichtung zur darstellung eines vorbestimmbaren bereichs in mehrdimensionalen datensätzen | |
| EP0741994A1 (de) | Verfahren zur Darstellung des Kiefers | |
| DE102004061875A1 (de) | Einrichtung zur Diagnoseunterstützung | |
| EP0095660A2 (de) | Stereophotogrammetrisches Aufnahme- und Auswerteverfahren | |
| EP2887117A1 (de) | Mikroskop und Verfahren zur SPIM Mikroskopie | |
| DE3729521A1 (de) | Stereoskopisches fernsehgeraet | |
| DE10243852B4 (de) | Mikroskopiesystem und Mikroskopieverfahren | |
| DE69519623T2 (de) | Operations-mikroskope | |
| DE102017109021B4 (de) | System für das stereoskopische Visualisieren eines Objektbereichs sowie Objektbereich-Visualisierungsverfahren | |
| DE19800765A1 (de) | Verfahren zur Erzeugung von Bilddarstellungen sowie System hierfür | |
| DE19840972A1 (de) | Stereoskopisches Anzeigesystem |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| D2 | Grant after examination | ||
| 8364 | No opposition during term of opposition | ||
| 8328 | Change in the person/name/address of the agent |
Representative=s name: FIENER, J., PAT.-ANW., 87719 MINDELHEIM |