A more complete appreciation of the disclosure and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
In describing preferred embodiments illustrated in the drawings, specific terminology is employed for the sake of clarity. However, the disclosure of this patent specification is not intended to be limited to the specific terminology so selected and it is to be understood that each specific element includes all technical equivalents that operate in a similar manner.
Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout the several views, particularly to
The part identification image processor 100 may include a CPU (central processing unit) 1, a memory 2, an input and output device (I/O device) 3, and an external input and output device (external I/O device) 4 that are connected via a bus 5 and exchange data with each other via the bus 5. The CPU 1 may process various data. The memory 2 may constitute a work area of the CPU 1 and store various programs, data, etc. A user may input data to and output data from the part identification image processor 100 with the input and output device 3. The part identification image processor 100 may exchange data with an external device by using the external I/O device 4.
The model data manager 11 manages data of a preliminary prepared 3D model. The model region calculator 12 receives visual point information and image size information via the I/O device 3. The model region calculator 12 projects a shape of the 3D model in a direction designated by the visual point information and computes model region information of the 3D model that encloses the projected image of the 3D model with an aspect ratio designated by the image size information.
The part region calculator 13 projects a shape of each part included in the 3D model in a direction designated by the visual point information and computes part region information enclosing the projected image of the part.
The image data processor 14 cuts an entire model image from an image in which the 3D model is projected entirely according to the model region information. The image data processor 14 cuts a part highlight image according to the part region information from a projection image of the entire 3D model in which a part constituting the 3D model is highlighted. The image data processor 14 obtains part position information specifying a location of the part highlight image in the entire model image.
The image data management part 15 manages the entire model image, the part highlight image, and part position information as image data for a parts catalog. The image data management part 15 may output the image data for the parts catalog to the external device via the external I/O device 4.
Operations of the part identification image processor 100 are described below.
The model data manager 11 transfers the data of the preliminary prepared 3D model in which a plurality of parts are assembled to the model region calculator 12. The model region calculator 12 receives the visual point information and the image size information from the I/O device 3. As illustrated in
The sight line vector A is a vector to indicate a direction of a sight line in a 3D space and is used to specify a direction of a parallel projection of a 3D model. The view-up vector B is a vector to indicate an upward direction with respect to the sight line in the 3D space and is at right angle to the sight line vector A. The view-up vector B is in parallel to a projection plane of the parallel projection of the 3D model.
The image size information is specified by pixel counts in a crosswise direction (W) and a vertical direction (H).
The model region calculator 12 generates a parallel projection of the 3D model in the sight line vector received as above and obtains the model region information as a rectangular region which contains the projection of the 3D model on the projection plane. The model region calculator 12 transmits the model region information to the image data processor 14. The aspect ratio of the rectangular region is equal or similar to an aspect ratio (W/H) of the image size information. The rectangular region designates the projection plane in a X-Y rectangular coordinate system whose Y axis is in the direction of the view-up vector.
The rectangular region is evaluated as described below, referring to
At S2, the model region calculator 12 determines whether or not an X-coordinate of the apex is smaller or larger than an X-coordinate of any other apex projected. When the X-coordinate is smaller or larger than the X-coordinate of any other apex projected (YES at S2), the model region calculator 12 stores the X-coordinate as an Xmin or Xmax at S3.
When the X-coordinate is not smaller or larger than the X-coordinate of any other apex projected (NO at S2), the model region calculator 12 determines whether or not a Y-coordinate of the apex is smaller or larger than a Y-coordinate of any other apex projected at S4. When the Y-coordinate is smaller or larger than the Y-coordinate of any other apex projected (YES at S4), the model region computer 12 stores the X-coordinate as an Ymin or Ymax at S5.
At S6, the model region calculator 12 checks whether or not there is an apex that remains unprojected in the apexes of the 3D model. When there is an apex that is not projected (YES at S6), the model region calculator 12 repeats the procedure from S1. When all the apexes are projected (NO at S6), the model region calculator 12 completes the procedure.
The model region calculator 12 evaluates a smallest coordinate value (SXmin, SYmin) and a largest coordinate value (SXmax, SYmax) of the rectangular region as described below. The aspect ratio (W/H) of the image size is defined as α.
When Xmax−Xmin>=Ymax−Ymin,
SXmin=Xmin
SXmax=Xmax
SY
min=(Ymax−Ymin)/2−α(Xmax−Xmin)/2
SY
max=(Ymax−Ymin)/2+α(Xmax−Xmin)/2.
When Xmax−Xmin<Ymax−Ymin,
SX
min=(Xmax−Xmin)/2−(Ymax−Ymin)/2α
SX
max=(Xmax−Xmin)/2+(Ymax−Ymin)/2α
SYmin=Ymin
SYmax=Ymax.
The model region calculator 12 transmits the data of the 3D model and the visual point information to the part region calculator 13 and the image size information to the image data processor 14.
The part region calculator 13 generates a parallel projection of each part included in the 3D model in the direction of the sight line vector received as above and obtains the part region information as smallest rectangular regions each of which contains the projection of the part on the projection plane. The part region calculator 13 transmits the part region information to the image data processor 14.
The part region information (rectangular region) designates the projection plane in the X-Y rectangular coordinate system and is evaluated as described below.
All apexes defining a shape of each part are projected on the projection plane. X-coordinates and Y-coordinates of the apexes are evaluated. The part region calculator 13 obtains a combination of smallest X-coordinate and Y-coordinate that is referred to as (PXmin, PYmin) and a combination of largest X-coordinate and Y-coordinate that is referred to as (PXmax, PYmax) for each part in the 3D model. The model region calculator 13 determines the combinations of the smallest X and Y coordinates and the largest X and Y coordinates as a smallest coordinate value and a largest coordinate value of the rectangular region of the part, respectively.
The part region calculator 13 transmits the data of the 3D model and the visual point information to the image data processor 14.
The image data processor 14 generates an entire model image as follows: For example, a parallel projection image is generated by projecting the data of the 3D model in the direction of the sight line vector. The image data processor 14 cuts the parallel projection image along the model region information (rectangular region) and generates the entire model image as image data in the pixel counts according to the image size information. The image data processor 14 transmits the entire model image to the image data manager 15.
The image data processor 14 generates part highlight images as follows: For example, a parallel projection image of the 3D model in which a part is highlighted is generated for each part included in the 3D model. The image data processor 14 cuts the parallel projection image along the part region information (rectangular region) of the part. The image data generator 14 generates the part highlight image as image data in pixel counts in the crosswise and vertical directions according to the image size information, the model region information, and the part region information. The image data generator 14 transmits the part highlight images to the image data manager 15.
The pixel count in the crosswise direction is computed by
(PXmax−PXmin)/((SXmax−SXmin)/W),
wherein W is the pixel count in the crosswise direction.
The pixel count in the vertical direction is computed by
(PYmax−PYmin)/((SYmax−SYmin)/H),
wherein H is the pixel count in the vertical direction.
The image data processor 14 determines a position of the image data of the each part in the entire model image. The image data processor 14 transmits the position as part position information to the image data manager 15.
The part position information is described, referring to
The pixel count w of each part is evaluated by
w=W(PXmin−SXmin)/SXmax−SXmin,
wherein W is the pixel count in the crosswise direction.
The pixel count h of each part is evaluated by
h=H(SYmin−PYmin)/SYmax−SYmin,
wherein H is the pixel count in the vertical direction.
The image data manager 15 compiles the entire model image, part highlight images, and part position information, for example, into a view format data structure illustrated in
Therefore, the image of an arbitrary part in the 3D model may be superimposed on the image data of the entire model according to the position information of the part.
As described above, an arbitrary component of a product is recognizable in an entire model in which components thereof are assembled. Further, the arbitrary component may be identified in the entire model by a specified image size.
The arbitrary component may be identified by superimposing a part highlight image thereof on the entire model based on the part position information thereof. Further, an external I/O device may require less capacity to store the images to identify respective component parts compared with a case in which images of the respective component parts are stored in an image size equal or similar to an image size of the entire model image.
Further, the arbitrary component may be identified with a two-dimensional image thereof in the entire model image. A workload required to identify the arbitrary component by the two-dimensional image may be lighter than a case in which the component is identified by the 3D model. Therefore, a data processor or computer having a lower performance is workable.
In an embodiment, a program may include instructions to configure a computer system as a part identification image processor 100. The program may be stored in a computer-readable recording medium, which may or may not be removable.
Numerous additional modifications and variations are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the disclosure of this patent specification may be practiced otherwise than as specifically described herein.
Number | Date | Country | Kind |
---|---|---|---|
2006-242561 | Sep 2006 | JP | national |