Image processing apparatus and method

Abstract: Inputted right and left images of a stereoscopic image are displayed on a bitmap display 1-5, and vertices to be used for forming three dimensional model of each object are inputted by a pointing device 1-7. At this time, if objects to be processed have to be changed, an instruction for changing objects is issued. Accordingly, it is possible to input and manage point data of each object independently.

Description: The present invention relates to an image processing apparatus and method and, more particularly, to an image processing apparatus and method which generate data defining a computer model of the three-dimensional geometric shape of an object in a stereoscopic image using the right and left images of the object. For recognizing a three dimensional geometrical shape of an object using right and left images of a stereoscopic image picked-up by a stereoscopic camera or the like, there is a conventional system for finding three dimensional coordinates by finding all corresponding points in the right and left images by a matching process and the like. However, in the above-type system, since a computer automatically finds the corresponding points, there is a fear that the located corresponding points may not actually correspond to each other. Further, because all the corresponding points are searched, the computer has to perform great many calculations and it requires considerable time to obtain the three dimensional coordinates. For the purpose of overcoming these problems, the assignee of the present invention has submitted a patent application regarding a method where a user interrupts the computer and designates corresponding points for finding a three dimensional shape in Japanese Patent publication (Kokai) 7-152928. According to this method, after the three dimensional coordinates are found from corresponding points of the right and left images of a stereoscopic image, a triangle connecting the three dimensional coordinate points is generated, thus forming a plane. In the method proposed by the assignee, a triangulation net method and the like based on the Delaunay's principle is used for generating the triangle. Generally, a plurality of three dimensional objects are often included in an image. If there are a plurality of objects in an image, all the objects including background are always dealt with as a single three dimensional shape when a conventional method is employed. In another case, it is possible to deal with only an area portion, designated by a user interruptedly, in the image as a single object. More specifically, even if a plurality of objects are included in an image, there is no apparatus capable of recognizing the objects separately in three dimensional space. Therefore, the plurality of objects are always dealt with as a single object (including objects constructing background). Further, right and left images are only used for inputting three dimensional shape, and have not been used as texture information. Furthermore, there is a problem in which, when a method for generating a plane uses Delaunay triangulation net, if there is a three dimensional concave area in an object, the concave area can not be recognized. Further, it is necessary to designate all the corresponding points in the right and left images manually, a user has to perform quite a lot of manual operations. In addition, it is difficult to designate corresponding points in the right and left images of the stereoscopic image precisely by manual operation. Especially, if there is no clear texture information in the image, to designate the corresponding points is even more difficult. US 4935810 discloses a three-dimensional measuring apparatus in which a plurality of images having parallaxes are displayed, respective object points are designated and measuring operations are made relating to the three-dimensional positions of designated points. US 4875165 discloses a method for determination of 3D structure in biplane angiography in which 3D vascular structure is obtained from two biplane images by identifying points in both images which correspond to respective points on an object. GB-A-2244621 discloses a method of matching features between two different images of a scene by calculating an epipolar line. The present invention has been made in consideration of the above situation. According to the present invention, there is provided an image processing apparatus as set out in claim 1. The present invention also provides a method of processing image data as set out in claim 10. The present invention further provides a computer program as set out in claim 19. The present invention further provides a data storage device as set out in claim 20. Optional features are set out in claims 2 to 9 and 11 to 18. Embodiments of the invention will be described in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof, and in which: Fig. 1 is a block diagram showing a configuration of an apparatus according to a first embodiment; Fig. 2 shows program modules according to the first embodiment; Fig. 3 is a diagram illustrating states of displayed right and left images of a stereoscopic image at an initial stage according to the first embodiment; Fig. 4 is a flowchart showing contents of operations according to the first embodiment; Fig. 5 is a diagram showing a construction of a point list according to the first embodiment; Fig. 6 is a diagram showing a construction of a plane list according to the first embodiment; Fig. 7 is a table showing correspondence among object names, the point list, and the plane list used in the first embodiment; Fig. 8 is a flowchart showing a process to change objects according to the first embodiment; Fig. 9 is a flowchart showing a process to register an object according to the first embodiment; Fig. 10 is a flowchart showing a process to read an object according to the first embodiment; Fig. 11 is a flowchart showing a process to store an object according to the first embodiment; Fig. 12 is a flowchart showing a process to confirm a display according to the first embodiment; Fig. 13 is a diagram illustrating a display in the middle of edition according to the first embodiment; and Fig. 14 is a diagram illustrating a display in the middle of edition according to the first embodiment. Fig. 1 is a block diagram showing a configuration of an apparatus according to a first embodiment. In Fig. 1, reference numeral 1-1 denotes an input/output unit for interchanging information with an external device; 1-2, a hard disk which is a storage medium of a large capacity; 1-3, a main storage medium (composed of RAM and the like); 1-4, CPU which controls the entire apparatus; 1-5, a bitmap display (simply called "display", hereinafter) for displaying an image and it displays an image developed in a bit RAM area reserved in the main storage medium 1-3; 1-6, a keyboard for inputting various kinds of characters and instructions; and 1-7, a pointing device (a mouse in the embodiments) for moving a specific cursor to an arbitrary position on the display 1-5 and for issuing various kinds of instructions. In the configuration as described above, data of right and left images of a stereoscopic image obtained by picking up by a stereoscopic camera, for example, is digitized by a predetermined device. (If the stereoscopic camera comprises a digitizing device, it is directly connected to the apparatus of the first embodiment.) Then, the digitizing device is connected to the input/output unit 1-1, thereby the digitized right and left images of a stereoscopic image (simply referred as "right and left images", hereinafter) are inputted in the apparatus of the first embodiment, and stored in the hard disk 1-2 (the stored right and left images are referred by reference numeral 1-21 in Fig. 1). By designating by the keyboard 1-6 or the pointing device 1-7, the designated right and left images are loaded from the hard disk 1-2 to a VRAM area in the main storage medium, then displayed on the display 1-5. Note that a method for inputting right and left images of the stereoscopic image in the apparatus is not limited to the one described above. For example, the right and left images can be inputted from a floppy disk drive connected to the apparatus of the first embodiment or inputted through a communication line. The hard disk 1-2 stores the OS (operating system) and programs corresponding to processes shown in each flowchart which will be described later, besides the right and left image data. These data, programs are loaded in the main storage medium 1-3 properly and executed by the CPU 1-4. Fig. 3 shows an example to be displayed on the display 1-5 in the first embodiment. In Fig. 3, reference numeral 3-1 denotes an operation menu; 3-2 and 3-3, windows for displaying right and left images of a stereoscopic image, respectively; and 3-4, a window for displaying data of three dimensional shape inputted interruptedly. The method of inputting the data is expressed above. Fig. 4 is a flowchart showing processing of the first embodiment, and Fig. 2 shows program modules for executing processes of the flowchart in Fig. 4. Operational sequence of Fig. 4 will be described referring to Figs 1 to 3. Programs to be used are loaded from the hard disk 1-2 to the main storage medium 1-3. First, when the system is powered on, an initial menu (not shown) is displayed on the display. When "to read out right and left images of a stereoscopic image" is designated from the menu by the keyboard 1-6 or the pointing device 1-7, a list of sets of right and left images for stereoscopic images currently stored in the hard disk 1-2 is displayed. Then, one set in the list is selected. The designated right and left images (e.g., the right and left images 1-21) are loaded in a predetermined area in the main storage medium 1-3 (step S402), and displayed on the display in the form shown in Fig. 3. At this time, an operation menu and the like is displayed together. Accordingly, the left and right images for the stereoscopic image are-displayed in the windows 3-2 and 3-3, respectively, on the display 1-5. Here, it is assumed that a picture shown in Fig. 3 is displayed on the display 1-5. Next, the process is suspended until a user enters an instruct by using the pointing device 1-7 (step S404). <A Process to Designate Coordinates (Add Points) by the Pointing Device> In the above-described state of waiting for an instruction, when the apparatus detects a press of a button (click) coupled with the pointing device after the user moves a cursor which moves in relation to operations of the pointing device 1-7 on the displayed right and left images, the process moves from step S405 to step S421 at which coordinates of the point designated by the pointing device 1-7 are obtained. At step S421 and step S422, the process is suspended until a point is designated both in the right and left images in the right window 3-3 and the left window 3-2. Then, positions of corresponding points in the right and left images are inputted. The designated points are considered as vertices of three dimensional shapes after being applied with successive processes of three dimensional coordinates calculation. Note that, in the first embodiment, the corresponding points in the right and left images are designated manually on the basis of sight. However, it is possible to construct such an apparatus that, when a point either in a right or left image is designated, the corresponding point in the other image is automatically calculated-by pattern matching and the like. When the corresponding points both in the right and left images are determined, their coordinate data is stored in the main storage medium 1-3 or a hard disk 1-2, for example (step S423). The coordinate data of the designated corresponding points in the right and left images has structure described in Fig. 5. More specifically, the coordinate data includes coordinates of the designated point in the right image, coordinates of the same in the left image, three dimensional coordinates obtained by performing calculations which will be described later on the basis of the coordinates of the right and left images, and an address (pointer) for specifying the next point, and these data are registered in a list (called "point list", hereinafter). When a pair of new corresponding points are designated, coordinate data of the points is added sequentially in the point list. In Fig. 5, regarding an i-th added point, coordinates on the left image (Lxi, Lyi), coordinates on the right image (Rxi, Ryi), three dimensional coordinates obtained by performing calculations which will be described later on the basis of the coordinates of the right and left images, (Vxi, Vyi, Vzi) are registered in the point list. The aforesaid three dimensional coordinate calculations, generation of a plane, and three dimensional display are performed by performing processes at step S424 to step S429. Here, the processes are explained assuming that the i-th corresponding points are added. Note that three points which are latest inputted are the first, second and third (P i , P i-1 , P i-2 ) are used for the processes. The processes are described below. First at step S424, the three dimensional coordinates (Vxi, Vyi, Vzi) are calculated by using the triangulation theory on the basis of the coordinates in the left and right images, (Lxi, Lyi) and (Rxi, Ryi), and camera parameters (described below) which are obtained in advance, and registered on the point list as the i-th data (step S425). Note, the camera parameters include image sensing conditions when cameras are sensing right and left images of a stereoscopic image, that is, information such as position, direction, and focal distance of the camera. Camera parameters for the left image and the right image (i.e., camera parameters for a camera for sensing the right image and a camera for sensing the left image) are separately set. The camera parameters are given in the system by using any suitable method in advance. Next, a plane is generated on the basis of the point list whose coordinates are shown in Fig. 5. In the first embodiment, triangular patches are generated based on designated points on either a right or left image, and dealt with as planes. More specifically, three points are selected out of the points, (Rx1, Ry1), (Rx2, Ry2), ...(Rxn, Ryn), in the right image (two dimensional plane), and triangular patches are generated one at a time. When the first three points are designated, a single triangle is generated. Regarding points designated after the third point, whenever a new point is designated, this point and two other points out of the points designated previously are selected and a new triangle is defined. Note that the two points designated prior to the newly designated point are selected so that the new triangle to be generated does not overlay the other triangles generated earlier. When a point is added, the existing triangles are reevaluated and re-generated whenever it is necessary to do so, so that all triangles do not partially or wholly overlay each other. Fig. 13 is an example of a picture on the display when triangular patches are shown on the images. In Fig. 13, a right window 13-2 shows the triangular patches on the right image. On the basis of this figure, a process for fitting triangular patches on each surface of objects in a left window 13-1 and in a three dimensional space window 13-4 is described below. For example, first, attention is paid to a triangle generated by connecting points in the right image, (Rx1, Ry1), (Rx2, Ry2), and (Rx3, Ry3), and fetch coordinates of points in the left image and the three dimensional coordinates from point data, P1, P2, and P3, which correspond to the vertices of the triangle, in the point list. Then triangles for the left image and in the three dimensional space are obtained. Likewise, triangles in the three dimensional space window and in the three dimensional space are also obtained. Note that, in the three dimensional space window, it is necessary to set a position of a view point of an object, and the like, in advance. As methods for generating a triangle, there is a method following predetermined rules, for instance. Regarding the rules, there is a method in which triangulation net is generated automatically on the basis of the Delaunay's principle. Note that, according to the triangulation net generation based on the Delaunay's principle triangulation net connecting a group of points is generated so that a vertex having the smallest angle out of all the vertices of the generated triangle has the maximum angle (namely, the generated triangle is as close as a right triangle). This method is very effective for generating a triangular net automatically. However, since all the processes for generating the triangular net are performed automatically, it is not possible to explicitly leave a line connecting two points. The assignee of the present invention has proposed a method to overcome this problem in U.S. Patent 5,748,865. Data of the triangle generated as above is registered in a plane list having structure shown in Fig. 6 (step S427). Each entry of the plane list consists of pointers to the three entries, each of which holds coordinates of each of three vertices of the triangle, in the point list, and a pointer to the next triangle. Accordingly, it is possible to generate an object consisting of two dimensional and three dimensional triangular patches by following the plane list. Two dimensional triangular patches are displayed overlaid in the right and left images at step S428, and displayed as lines as shown in the windows 13-1 and 13-2 in Fig. 13. Three dimensional triangular patches are displayed three-dimensionally as shown in the window 13-4 in fig. 13. A wire frame display, a shading display, and other several methods are known as a three dimensional display method, and any three dimensional display method can be used here. By repeating the aforesaid processes (steps S404, S405, and S421 to S429), a three dimensional shape is obtained. It should be noted that the three dimensional shape obtained by performing aforesaid processes is of a single body, i.e., all the three dimensional objects in an image are considered as a joined single object. However, if the stereoscopic image is composed of a plurality of objects, it is necessary to perform the following processes so that each object is dealt with as an independent three dimensional shape. <Menu Selection> In order to overcome the above problem, each three dimensional object should be separated when data of an image of the three dimensional objects is inputted. Accordingly, in this embodiment, an operation menu 3-1 (refer to Fig. 3) displayed on the display 1-5 is used during inputting the data. There are several items for processing in the operation menu 3-1, and one of the items is designated by moving the cursor, which moves in relation to the pointing device 1-7, into a box, and clicking it. At this time, the process proceeds from step S406 to step S408 in Fig. 4 and processes corresponding to each item in the menu are performed at subsequent steps. First, a case where "register object" in the operation menu 3-1 is selected will be explained. In this case, the process moves from step S410 to step S411. The detail of the process performed at step S411 is shown in Fig. 9 as an example. In this process, data of the generated triangular patches and of the three dimensional shapes (the point list and the plane list) is registered with names. At step S802 in Fig. 9, an object is named by inputting data from the keyboard 1-6. At step S803, the object names as well as the pointers designating tops of the entries which are under edition (referred as "top address pointer", hereinafter) in the point list and the plane list are stored in a table as shown in Fig. 7. This table may be stored in the hard disk 1-21, for example. The table is stored in relation to a file of right and left images of a stereoscopic image which is currently displayed. When "change objects" is selected, a process at step S409 is performed. Detail of this process is shown in Fig. 8. First, an object name is designated (step S702), then the top address pointers for the point list and the plane list corresponding to the designated object name are read from the table shown in Fig. 7 so that new data of corresponding points and triangles can be added in the point and plane lists (step S703 and step S704). Regarding object designation, a list of objects as shown in Fig. 7 is displayed in another window, and a user designates one of the objects in the list by using the pointing device 1-7. At this time, if the object which is currently processed has not been registered, i.e., if steps from S801 to S804 have not been processed for the object, data of the object is deleted. Further, if data of the object is to be saved, the data of the object is saved by setting top address pointers for the point and plane lists and adding an entry to the table in Fig. 7. If the data of the object has been registered, the process to change objects is achieved by simply changing pointers. After changing the pointers, the object which is currently edited is displayed in right and left images so that a user can confirm the images (step S705). Further, the object is also displayed in the three dimensional display window (step S706). Whereas, when "save object" is selected in the operation menu 3-1, namely when the process moved from step S414 to step S415, processes shown in a flowchart in Fig. 11 are performed. In the processes, data of the point list and the plane list are changed to data of a suitable format, and stored in the hard disk 1-2 in a file. First, an object name and a file name are decided by using the keyboard 1-6 (step S1002 and step S1003), then an entry to a list data corresponding to the object name is read from the table shown in Fig. 7. Afterwards, the list data designated by the entry is stored in some suitable format (step S1004 and step S1006). Further, when "read object" is selected, or the process proceeds from step S412 to step S413, processes shown in a flowchart in Fig. 10 are performed. In the processes, data in the point list and the plane list stored in a file is read. First, a file name is designated (step S902), and a file having the designated file name is read (step S903). Then, an entry to read data of the point list and the plane list of an object is added to entries under edition (step S904). Thereafter, the object is displayed in right and left images so as to confirm the images (step S905), and also in the three dimensional display window (step S906). New corresponding points can be added to the point list read in this process. When "confirm display" is selected, or the process proceeds from step S416 to step S417, processes shown in a flowchart in Fig. 12 are performed. In the processes, images is displayed for confirming the registered objects. A plurality of objects can be displayed simultaneously for confirmation. Then, whether or not display for confirmation is finished is checked. This determination is performed by checking whether a user has designated to quit the process or not. If it is designated that the process is to be continued (or if an instruction to quit the process is not issued), whether or not there is any object to be additionally displayed is checked (step S1103). If there is, an object name of the additional object is designated (step S1104), then the top address pointers for the point list and the plane list are fetched and set (step S1105). Afterward, the object is added to the right and left images (step S1106) and also to the three dimensional display window (S1107). If there is an instruction for deleting displayed object (or not addition of display), the process proceeds from step S1103 to step S 1108. In this process, the name of an object to be deleted is designated (step S1108), and the object is deleted from the right and left images which are displayed overlaid (step S1109). Further, it is also deleted from the three dimensional display window (step S1110). Thereby it is possible to display combinations of arbitrary objects among a plurality of objects freely. For example, as shown in Fig. 14, it is possible to display selected two objects in the three dimensional display window. When the end of the process is determined, the process to change objects at the steps S701 to S707 is performed. Since values of three dimensional coordinates of a plurality of objects registered in the plane list are able to keep relative position relationship among objects, when the plurality of objects are displayed simultaneously, position relationship in the three dimensional space is maintained. This feature gives good effect on texture mapping display in the three dimensional display window. More specifically, different texture information for each object is not necessary, and the same texture information can be used for all the objects. According to the first embodiment as described above, following advantages can be obtained. (0) Since texture information is inputted as an image at the same time when the right and left images are inputted, it is possible to perform texture mapping display in three dimension even if the texture information is inputted separately. Especially, it is possible to obtain three dimensional shape of an object from the right and left images of a stereoscopic image by providing means for designating corresponding points in right and left images of the stereoscopic image. (1) It is possible to deal with three dimensional shapes of a plurality of objects separately by providing means for registering and managing the plurality of three dimensional shapes which is included in means for finding three dimensional shape interruptedly from the right and left images of a stereoscopic image when a plurality of objects are included in the images. Accordingly, it is possible to display three dimensional shapes of a plurality of objects separately , store the same in a file, and read the same from a file. (2) Further, it is possible to display and confirm three dimensional relationship among a plurality of objects simultaneously by providing means for changing data of a plurality of stored three dimensional shapes and for displaying them. (3) Furthermore, regarding an object having a concave area which can not be dealt with if a plane generation method using the Delaunay triangulation net is employed, the object having the concave area can be dealt with by considering the object as a group of a plurality of separated convex objects. Therefore, since texture information is inputted as an image, it is possible to perform texture mapping display in three dimension even if the texture information is separately inputted. Especially, when a shape of an object is searched as a group of a plurality of objects, only the single texture information is necessary, or texture information corresponding to each of the plurality of objects is not necessary. Note that in the first embodiment as described above, as a method for generating triangular patches, to use triangles for generating a plane is most effective to display and to perform calculations fast at a present time. However, there are methods for generating a plane without using triangles, the shape to be used is not limited to triangle, but can be rectangle or the like. Further, in the first embodiment, the triangular net is generated on the basis of points in two dimensional plane of an image, however, the triangular net can be generated in three dimensional space by using three dimensional coordinates which are obtained at step S424. Regarding a method for generating the triangular net by using points of three dimensional coordinates, there is a method to extend the Delaunay's principle, in which points having closest distances to each other in two or three dimensional space, into three dimensional space, or it can be performed by following some other rules. Further, not only three dimensional shapes are inputted, but also texture information is inputted simultaneously. Therefore, it is advantageous to perform three dimensional texture mapping display. Three dimensional display means in the first embodiment performs texture mapping by dealing with either one of the right and left images as texture. Embodiments of the present invention may comprise a system constituted by a plurality of devices, or an apparatus comprising a single device. Furthermore, embodiments may be attained by supplying a program to a system or apparatus. According to the embodiment as described above, the operational environment while extracting three dimensional data from the right and left images can be improved. The present invention is not limited to the above embodiment and various changes and modifications can be made within the scope of the claims.

Claims: An image processing apparatus for processing image data defining right and left images of a stereoscopic image pair, comprising: display control means (1-2; 1-3; 1-4) for generating image data for display on a display device in which the left image of the stereoscopic image pair will appear in a first area (3-2) of the image display and the right image of the stereoscopic image pair will appear in a second area (3-3) of the image display; and means (1-1) for receiving input signals defining a plurality of pairs of corresponding points in the right and left images displayed in the first and second areas of the image display, at least one of the points in each pair comprising a point designated by a user on the image display using an input device; characterized by: data generating means (1-2; 1-3; 1-4) for processing corresponding points to generate data defining three-dimensional planar surfaces corresponding to surfaces of an object in the stereoscopic images, the data generating means being arranged to generate the first planar surface when signals defining a predetermined number of pairs of corresponding points have been received and to generate each subsequent planar surface in response to the receipt of signals defining a further pair of corresponding points; and in that: said display control means (1-2; 1-3; 1-4) is further arranged to: generate image data for display on the display device in which an image of the three-dimensional planar surfaces generated by the data generating means will appear in a third area (3-4) of the image display; and update the image data of the three-dimensional planar surfaces for the third area (3-4) whenever the data generating means generates a new three-dimensional planar surface based upon corresponding points defined in the input signals. Apparatus according to claim 1, wherein the size of the third area (3-4) is smaller than that of the first area (3-2) and that of the second area (3-3). Apparatus according to claim 1 or claim 2, wherein the display control means (1-2; 1-3; 1-4) is further arranged to: generate image data for display in the first and second areas of the image display so that the planar surfaces will be displayed in the first and second areas overlayed on the left and right stereoscopic images; and update the image data of the planar surfaces for the first and second areas wherever the data generating means generates a new planar surface. Apparatus according to any preceding claim, wherein the data generating means (1-2; 1-3; 1-4) includes: calculation means for calculating three dimensional coordinate data based on the corresponding points defined in the input signals; and polygon forming means for generating data defining the three-dimensional planar surfaces as polygons on the basis of plural sets of the three dimensional coordinate data calculated by the calculation means. Apparatus according to claim 4, wherein the polygons comprise triangles. Apparatus according to any preceding claim, wherein the apparatus is further arranged to receive signals defining separate objects in the stereoscopic images and to store data defining the separate objects. Apparatus according to claim 6, further comprising: storage means for storing three dimensional coordinate data of each object in a file; and reading means for reading the stored three dimensional coordinate data of each object. Apparatus according to claim 6 or claim 7, wherein the apparatus is arranged to allow the objects to be separately selected for display in the first and second areas of the image display. Apparatus according to any of claims 6 to 8, wherein the apparatus is arranged to allow the objects to be separately selected for the input of corresponding points in the right and left images. A method of processing image data defining right and left images of a stereoscopic image pair, comprising: generating image data for display on a display device in which the left image of the stereoscopic image pair will appear in a first area (3-2) of the image display and the right image of the stereoscopic image pair will appear in a second area (3-3) of the image display; and receiving input signals defining a plurality of pairs of corresponding points in the right and left images displayed in the first and second areas of the image display, at least one of the points in each pair comprising a point designated by a user on the image display using an input device; characterized by: processing corresponding points to generate data defining three-dimensional planar surfaces corresponding to surfaces of an object in the stereoscopic images, the first planar surface being generated when signals defining a predetermined number of pairs of corresponding points have been received and each subsequent planar surface being generated in response to the receipt of signals defining a further pair of corresponding points; generating images data for display on the display device in which an image of the three-dimensional planar surfaces generated in the data generating step will appear in a third area (3-4) of the image display; and updating the image data of the three-dimensional planar surfaces for the third area (3-4) whenever a new three-dimensional planar surface based upon corresponding points defined in the input signals is generated in the data generating step. A method according to claim 10, wherein the size of the third area (3-4) is smaller than that of the first area (3-2) and that of the second area (3-3). A method according to claim 10 or claim 11, wherein, in the display control step: image data is generated for display in the first and second areas of the image display so that the planar surfaces will be displayed in the first and second areas overlayed on the left and right stereoscopic images; and the image data of the planar surfaces for the first and second areas is updated wherever a new planar surface is generated in the data generating step. A method according to any of claims 10 to 12, wherein the data generating step includes: calculating three dimensional coordinate data based on the corresponding points defined in the input signals; and generating data defining the three-dimensional planar surfaces as polygons on the basis of plural sets of the three dimensional coordinate data calculated in the calculation step. A method according to claim 13, wherein the polygons comprise triangles. A method according to any of claims 10 to 14, wherein signals defining separate objects in the stereoscopic images are received and data defining the separate objects is stored. A method according to claim 15, further comprising: storing three dimensional coordinate data of each object in a file; and reading the stored three dimensional coordinate data of each object. A method according to claim 15 or claim 16, wherein the objects are separately selected for display in the first and second areas of the image display. A method according to any of claims 15 to 17, wherein the objects are separately selected for the input of corresponding points in the right and left images. A computer program comprising instructions for causing a programmable processing apparatus to become operable to perform a method as set out in at least one of claims 10 to 18. A data storage device storing a computer program as set out in claim 19.

Inventors: FUJIKI MASAKAZU, KAWAI TOMOAKI, OKUTOMI MASATOSHI, UCHIYAMA SHINJI, FUJIKI, MASAKAZU, KAWAI, TOMOAKI, OKUTOMI, MASATOSHI, UCHIYAMA, SHINJI
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1995
Main classification: G06T7
IPC codes: H04N13, G06T1, G01B11, G06T17, G06T7