This application claims priority to Chinese Patent Application No. 201410025885.0 filed on Jan. 20, 2014, in the China Intellectual Property Office, the contents of which are incorporated by reference herein.
The subject matter herein generally relates to a point cloud data processing system and method, and more specifically relates to an apparatus, a method and a system of generating a three-dimensional image model of an object using two-dimensional point cloud model of the object.
Point cloud models may be created by a scanner. The scanner measures a large number of points on an object's surface, and outputs a point cloud model as a data file. The point cloud model can be used to create a three-dimensional (3D) computer aided design (CAD) model for manufactured parts of the object. However, details of the object, such as colors, textures, and patterns, are not shown in the 3D CAD model created by the point cloud model.
Implementations of the present technology will be described, by way of example only, with reference to the attached figures.
It will be appreciated that for simplicity and clarity of illustration, where appropriate, reference numerals have been repeated among the different figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein can be practiced without these specific details. In other instances, methods, procedures and components have not been described in detail so as not to obscure the related relevant feature being described. Also, the description is not to be considered as limiting the scope of the embodiments described herein. The drawings are not necessarily to scale and the proportions of certain parts may be exaggerated to better illustrate details and features of the present disclosure.
Several definitions that apply throughout this disclosure will now be presented.
The word “module,” as used hereinafter, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, such as, for example, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware. It will be appreciated that modules may comprise connected logic units, such as gates and flip-flops, and may comprise programmable units, such as programmable gate arrays or processors. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable storage medium or other computer storage device. The term “comprising,” when utilized, means “including, but not necessarily limited to”; it specifically indicates open-ended inclusion or membership in the so-described combination, group, series and the like.
The three-dimensional image models generation system 10 can include a plurality of function modules (shown in
The storage unit 11 can include some type(s) of non-transitory computer-readable storage medium, for example a hard disk drive, a compact disc, a digital video disc, or tape drive. The storage unit 11 stores computerized codes of the function modules of the three-dimensional image models generation system 10.
The control unit 12 can be a processor, an application-specific integrated circuit (ASIC), or a field programmable gate array (FPGA), for example. The control device 12 can execute the computerized codes of the function modules of the three-dimensional image models generation system 10 to realize the functions of the three-dimensional image models generation system 10.
The acquiring module 100 can acquire a two-dimensional (2D) point cloud model (hereinafter “point cloud model”) of an object, and further acquire a 2D image (hereinafter “image”) of the object. In one embodiment, the point cloud model can be created by a scanner which communicates with the computing device 1. The scanner measures a large number of points on an object's surface. The points are defined by X and Y coordinates based on a coordinate system, and intended to represent the external surface of the object. The point cloud model represented by the X and Y coordinates are stored into the storage unit 11 of the computing device 1. The image of the object can be captured by an image device, such as a charge coupled device (CCD), and then stored into the storage unit 11. The acquiring module 100 can acquire the point cloud model and the image from the storage unit 11.
The aligning module 101 can align the point cloud model and the image. In one embodiment, the aligning module 101 aligns the point cloud model and the image by superposing the image and the point cloud model. The image and the point cloud model can be superposed by adjusting sizes of the image, and executing translational movements and rotating movements in a same coordinate system.
The triangle meshing module 102 can construct a triangular mesh surface of the point cloud model and assign a unique identifier (ID) to each triangle in the triangular mesh surface. In one embodiment, the triangle meshing module 102 constructs the triangular mesh surface using the following method: selecting a point of the point cloud model as a first point, computing a second point which is nearest to the first point in the point cloud model; and locating a third point in the point cloud model to construct a triangle whose circumcircle includes no points of the point cloud model. After all points in the point cloud model have been selected to construct a triangle, the triangular mesh surface is generated.
The dividing module 103 can divide the image into a plurality of triangles according to each triangle in the triangular mesh surface, and assign an ID to each triangle in the image correspondingly. As mentioned above, the image and the point cloud model are in the same coordinate system, the dividing module 103 divides the image according to coordinates of vertexes of the triangle in the triangular mesh surface.
The converting module 104 can convert the triangular mesh surface from a 2D point cloud model to a 3D point cloud model.
The pasting module 105 can adjust sizes of the triangle of the image, paste each triangle of the image onto a corresponding triangle of the 3D point cloud model according to the IDs of the triangles in the image and the triangles in the triangular mesh surface, and generate a 3D image model. The 3D image model includes the image of the object, thus, details of the object, such as colors, textures, and patterns, can be shown.
The output module 106 can output the 3D image model. In one embodiment, the 3D image model can be displayed on the display unit 13 of the computing device 1.
Referring to
At block 301, an acquiring module acquires a 2D point cloud model (hereinafter “point cloud model”) of an object and further acquires a 2D image (hereinafter “image”) of the object. The acquiring module 100 can acquire the point cloud model and the image from a storage unit of a computing device.
At block 302, the aligning module aligns the point cloud model and the image in one coordinate system. In one embodiment, the aligning module aligns the point cloud model and the image by superposing the image and the point cloud model by adjusting sizes of the image, and executing translational movements and rotating movements in the coordinate system.
At block 303, the triangle meshing module constructs a triangular mesh surface of the point cloud model and assigns an ID to each triangle in the triangular mesh surface. In one embodiment, the triangle meshing module constructs the triangular mesh surface using the following method: selecting a point of the point cloud model as a first point, computing a second point which is nearest to the first point in the point cloud model; and locating a third point in the point cloud model to construct a triangle whose circumcircle contains no point of the point cloud model. After all points in the point cloud model have been selected to construct a triangle, the triangular mesh surface is generated.
At block 304, the dividing module divides the image into a plurality of triangles according to each triangle in the triangular mesh surface, and correspondingly assigns an ID to each triangle in the image. As mentioned above, the image and the point cloud model are in the same coordinate system, the dividing module divides the image according to coordinates of vertexes of the triangle in the triangular mesh surface.
At block 305, the converting module converts the triangular mesh surface from a 2D point cloud model to a 3D point cloud model.
At block 306, the pasting module adjusts sizes of the triangle of the image, pastes each triangle of the image onto a corresponding triangle of the 3D point cloud model according to the IDs, and generates a 3D image model. The 3D image model includes the image of the object, thus, details of the object, such as colors, textures, and patterns, can be shown.
At block 307, the output module outputs the 3D image model. In one embodiment, the 3D image model can be displayed on the display unit 13 of the computing device 1.
The embodiments shown and described above are only examples. Many details are often found in the art. Therefore, many such details are neither shown nor described. Even though numerous characteristics and advantages of the present technology have been set forth in the foregoing description, together with details of the structure and function of the present disclosure, the disclosure is illustrative only, and changes may be made in the detail, especially in matters of shape, size and arrangement of the parts within the principles of the present disclosure, up to and including the full extent established by the broad general meaning of the terms used in the claims. It will therefore be appreciated that the embodiments described above may be modified within the scope of the claims.
Number | Date | Country | Kind |
---|---|---|---|
201410025885.0 | Jan 2014 | CN | national |