Method for stitching images and apparatus therefor

CN120112936APending Publication Date: 2025-06-06SHENZHEN HUADA SANJIAN QIFA TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280100845.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-12-28
Publication Date
2025-06-06

AI Technical Summary

Technical Problem

Existing medical image stitching technology requires a lot of prior information, such as the row and column index and overlap amount of the image. Image stitching cannot be completed without this information, especially in non-ideal environments with large microscope jitter. Inaccuracies and mis-splicing of information.

Method used

By generating an adjacency list for each image, the spatial positional relationship between images is determined, and splicing is performed based on feature point matching and breadth-first traversal algorithms without obtaining prior information in advance.

Benefits of technology

It achieves accurate image matching and splicing without prior information, is suitable for non-ideal environments, and has the advantages of fast calculation and low complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120112936A_ABST
    Figure CN120112936A_ABST
Patent Text Reader

Abstract

The invention discloses a method for splicing a plurality of images. The method comprises the following steps: respectively extracting feature points in each of the plurality of images; generating an adjacency list of each image in the plurality of images based on the extracted feature points, wherein the adjacency list indicates the spatial position relationship between the corresponding image and the adjacent image; traversing the adjacency list of the plurality of images to determine a spatial position relationship among the plurality of images; and splicing the plurality of images based on the determined spatial position relationship among the plurality of images.
Need to check novelty before this filing date? Find Prior Art

Description

Method and device for stitching images Technical Field

[0001] The present disclosure relates to the field of image processing, and more particularly, to a method and device for stitching images. Background Art

[0002] Existing medical image stitching techniques primarily rely on the row and column indices and overlap ratios of microscope-captured images. Based on the image's invariant features (contours, corners, and key points), various features are calculated for the overlapping regions of adjacent images. These features are then matched to determine the stitching positions, completing the stitching of the entire image. However, this stitching method requires a considerable amount of prior information, such as the overlap ratio and the row and column indices of the images. Without this information, image stitching cannot be completed.

[0003] Therefore, a technical solution is needed that can realize image stitching without prior information.

[0004] Summary of the Invention

[0005] The purpose of the embodiments of the present application is to provide an effective solution for image stitching without prior information (such as row and column indices of images and the amount of overlap between images). Specifically, the embodiments of the present application provide a method and apparatus for stitching images.

[0006] According to a first aspect of the present disclosure, a method for stitching multiple images is proposed, comprising: generating an adjacency list for each of the multiple images, the adjacency list indicating a spatial positional relationship between a corresponding image and its adjacent images; traversing the adjacency lists of the multiple images to determine the spatial positional relationship between the multiple images; and stitching the multiple images based on the determined spatial positional relationship between the multiple images.

[0007] In some embodiments, the method further comprises extracting feature points from each of the plurality of images, wherein generating an adjacency list for each of the plurality of images comprises generating an adjacency list for each of the plurality of images based on the extracted feature points.

[0008] In some embodiments, extracting feature points from each of the multiple images includes: for each of the multiple images, downsampling the image multiple times using a Gaussian kernel to establish a multi-scale pyramid image; and extracting local extreme points in the established multi-scale pyramid image as feature points of the image.

[0009] In some embodiments, for each of the multiple images, the method further includes: subtracting adjacent upper and lower layer images of the multi-scale pyramid image to obtain a Gaussian difference image; and removing points and edge points in the image whose contrast does not meet a predetermined condition based on the obtained Gaussian difference image.

[0010] In some embodiments, the method further includes: for each of the multiple images, matching the extracted feature points of the image with the extracted feature points of other images in the multiple images to obtain matching feature point pairs between the image and each of the other images. In this case, generating an adjacency list for each of the multiple images based on the extracted feature points includes: determining images in the multiple images that have a number of matching feature point pairs with the image greater than a threshold number as adjacent images adjacent to the image; and establishing an adjacency list for the image that includes all of its adjacent images.

[0011] In some embodiments, the method further includes: calculating similarities of matching feature points in the matching feature point pairs; and removing matching feature point pairs with abnormal similarities between the image and its adjacent images.

[0012] In some embodiments, traversing the adjacency lists of the multiple images to determine the spatial position relationship between the multiple images includes: performing a breadth-first traversal on the adjacency lists of the multiple images; and based on the breadth-first traversal, converting the relative positions of the multiple images into global positions according to the adjacency relationship between the multiple images.

[0013] In this case, stitching the multiple images based on the determined spatial position relationship between the multiple images includes: stitching the multiple images according to global positions of the multiple images.

[0014] According to a second aspect of the present disclosure, a device for image stitching is also provided. The device includes at least one processor and a memory communicatively connected to the at least one processor. The memory stores instructions executable by the processor, and the instructions are executed by the at least one processor to enable the processor to perform any of the above methods.

[0015] According to a third aspect of the present disclosure, a computer-readable storage medium is further provided. The computer-readable storage medium stores executable instructions. When the instructions are executed by a processor, the processor performs any of the above methods.

[0016] By utilizing the above technical solution, an adjacency graph is generated for each image to be stitched, and the spatial positional relationship of all images to be stitched is determined based on the adjacency graph. This allows accurate matching of the images to be stitched without the need to obtain prior information such as the row and column indices of the images and the amount of overlap between the images. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] For a more complete understanding of the present disclosure and its advantages, reference will now be made to the following description taken in conjunction with the accompanying drawings, in which:

[0018] FIG1 shows a schematic flow chart of a method for image stitching according to an embodiment of the present application;

[0019] FIG2 is a schematic diagram of images to be stitched according to an embodiment of the present application;

[0020] FIG3 shows a schematic diagram of feature points generated according to an embodiment of the present application;

[0021] FIG4 is a schematic diagram showing feature point matching using a feature description vector according to an embodiment of the present application;

[0022] FIG5 shows a schematic diagram of feature point matching after removing abnormal points from the feature point matching graph shown in FIG4 according to an embodiment of the present application;

[0023] FIG6 is a schematic diagram showing a spatial relationship between a specific image and its adjacent images according to an embodiment of the present application;

[0024] FIG7 shows an effect diagram of an image stitching method according to an embodiment of the present application; and

[0025] FIG8 schematically shows a schematic block diagram of a device for image stitching according to an embodiment of the present application.

[0026] In the drawings, the same or similar structures are marked with the same or similar reference numerals. DETAILED DESCRIPTION

[0027] Other aspects, advantages, and salient features of the disclosure will become apparent to those skilled in the art from the following detailed description of exemplary embodiments of the disclosure, taken in conjunction with the accompanying drawings.

[0028] In this disclosure, the terms "include" and "including" and their derivatives mean inclusion without limitation; the term "or" is inclusive, meaning and / or.

[0029] In this specification, the various embodiments described below for describing the principles of the present disclosure are merely illustrative and should not be construed in any way as limiting the scope of the disclosure. The following description with reference to the accompanying drawings is intended to assist in a comprehensive understanding of the exemplary embodiments of the present disclosure as defined by the claims and their equivalents. The following description includes a variety of specific details to aid understanding, but these details should be considered merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. In addition, for the sake of clarity and brevity, descriptions of well-known functions and structures have been omitted. In addition, throughout the drawings, the same reference numerals are used for similar functions and operations.

[0030] Most modern medical images are collected using a fully automated microscope equipped with a high-precision mechanical platform, resulting in multiple images to be stitched together. Therefore, it is necessary to stitch these overlapping images together into a high-resolution panoramic image.

[0031] When practicing the image stitching method for the above scenario, the inventor found that when stitching medical images, by giving the row and column indexes and overlapping ratio information of the image taken by the microscope, various features are calculated for the overlapping areas of adjacent images based on the invariant features in the image (contours, corners, feature points, etc.). The feature pairs are then matched to obtain the stitching position, and the stitching of the entire large image is completed based on the stitching position. This medical image stitching technology requires a lot of prior information (such as the amount of overlap and the row and column indexes of the image, etc.), but this information cannot be obtained for some microscopes, or in non-ideal environments such as when the microscope shakes a lot, the information obtained will be inaccurate, making it impossible to match normally according to the preset information, resulting in incorrect stitching.

[0032] In order to solve some of the above problems, the present application proposes a method for image stitching. FIG1 shows a schematic flow chart of the image stitching method according to an embodiment of the present application.

[0033] As shown in FIG1 , in step 110 , an adjacency list is generated for each of the multiple images, where the adjacency list indicates the spatial position relationship between the corresponding image and its adjacent images.

[0034] This step can be implemented using any method that can generate an image adjacency table / adjacency relationship, such as, but not limited to, feature point matching, similarity algorithms (such as SSIM or NCC), cross-power spectrum, etc. In some examples, the spatial position relationship between an image and its adjacent images can also be presented in other ways other than a table (such as, but not limited to, a tree structure). In some embodiments, an adjacency table for each image in the multiple images can be generated based on the feature points in each image. In this case, the method shown in Figure 1 can also include the step of extracting the feature points in each image in the multiple images respectively.

[0035] In some embodiments, extracting feature points from each of the multiple images may include: for each of the multiple images, downsampling the image multiple times using a Gaussian kernel to establish a multi-scale pyramid image; and extracting local extreme points in the established multi-scale pyramid image as feature points of the image.

[0036] In some embodiments, for each of the multiple images, the method shown in FIG1 may further include: subtracting adjacent upper and lower layers of the established multi-scale pyramid image to obtain a Gaussian difference image; and removing points and edge points in the image whose contrast does not meet a predetermined condition based on the obtained Gaussian difference image. For example, a Taylor expansion may be used to find low-contrast points in the image, or a Hessian matrix may be used to select edge points in the image. This will be described in more detail below.

[0037] In some embodiments, the method shown in FIG1 further includes: for each of the multiple images, matching the extracted feature points of the image with the extracted feature points of other images in the multiple images, respectively, to obtain matching feature point pairs between the image and each other image. In this case, generating an adjacency list for each of the multiple images based on the extracted feature points includes: determining images in the multiple images whose number of matching feature point pairs with the image is greater than a threshold number as adjacent images adjacent to the image; and establishing an adjacency list for the image including all of its adjacent images. In some embodiments, the above-mentioned threshold number can be 3, that is, only two images with more than 3 matching feature points can be considered adjacent images. However, this value is only an example and can be adjusted according to specific circumstances.

[0038] In some embodiments, the method shown in FIG1 further includes: calculating the similarity of the matching feature points in the matching feature point pairs; and removing the matching feature point pairs with abnormal similarity between the image and its adjacent images. Any similarity function used in the art can be used to characterize the similarity mentioned here, and will not be described in detail here. For example, in an embodiment where feature description vectors are used to describe feature points, if a feature point pair does not match other (or most, such as 80% or other suitable threshold) feature point pairs in terms of coordinates, direction, and scale, then the feature point pair can be removed.

[0039] It should be noted that, if after removing the feature point pairs, if the number of matching feature point pairs in two images does not meet the aforementioned threshold number (eg, 3), the two images are no longer considered as adjacent images.

[0040] In some embodiments, the adjacency list can be in the form of an affine matrix. In some examples, the affine matrix can be a 2×2 matrix that only contains translation and rotation. By multiplying the coordinates of the currently processed image by the affine matrix, the spatial position of the corresponding adjacency matrix can be determined. Of course, a more complex affine matrix form can also be used here, or even other methods that can describe the (relative) spatial relationship between images can be used to implement the adjacency list. The present application is not limited by the specific implementation of the adjacency list.

[0041] After the adjacency list is generated, in step 120 , the adjacency lists of the multiple images are traversed to determine the spatial positional relationship between the multiple images.

[0042] In some embodiments, this step may include: performing a breadth-first traversal on the adjacency lists of the multiple images; and based on the breadth-first traversal, converting the relative positions of the multiple images into global positions according to the adjacency relationships between the multiple images.

[0043] Converting the relative positions of the multiple images to global positions means positioning the images to be stitched in the same coordinate system, facilitating image stitching. However, this conversion is not required; images can also be stitched in a breadth-first order without first converting the relative positions of the images to global positions. Alternatively, the global positions of each sub-image can be obtained after stitching is complete.

[0044] In step 130 , the multiple images are spliced ​​based on the determined spatial positional relationship between the multiple images.

[0045] As described above, the stitching may be performed according to the global positions of the multiple images, or may be performed based on the relative positions between the images.

[0046] The technical solution proposed in this application generates an adjacency graph for each image to be stitched, and uses this adjacency graph to determine the spatial positional relationships of all the images to be stitched. This allows for accurate matching of the images to be stitched without requiring prior information such as row and column indices and the amount of overlap between the images. This is particularly advantageous in situations where, for example, microscopes are not automated and cannot provide ordered image sequences.

[0047] In addition, the technical solution proposed in the embodiment of the present application is not based on the matching of overlapping areas. Therefore, for situations where the overlapping areas of the captured images are unstable due to various problems (such as microscope shaking), the technical solution proposed in the present application can also achieve good position determination and stitching.

[0048] In the technical solution proposed in the embodiment of the present application, by constructing an adjacency list and using a breadth-first algorithm, the splicing coordinates can be quickly calculated, so that the method has the advantages of fast implementation and low computational complexity.

[0049] The following describes a flowchart of a specific implementation of the image stitching method according to an embodiment of the present application with reference to FIG2 to FIG7 .

[0050] Fig. 2 is a schematic diagram of images to be spliced ​​according to an embodiment of the present application. Fig. 2 shows a total of 30 images to be spliced. As shown in Figure 2, these images are disordered (or indexless). These images can be images under different fields of view taken by a microscope, and have a certain overlapping area. In an embodiment of the present application, the images are read in sequence from left to right and from top to bottom. It should be noted that this order is only the processing order of the images, rather than the actual spatial position order of the images.

[0051] All the images to be spliced ​​shown in FIG2 are read one by one and converted into grayscale images for processing.

[0052] In the next step, feature points are extracted for each image. In a specific implementation, the method can be as follows:

[0053] 1) The image is downsampled multiple times using a Gaussian kernel to create a multi-scale pyramid image.

[0054] 2) Use the constructed Gaussian pyramid to subtract the upper and lower layers of each group of adjacent images to obtain the Gaussian difference image. The formula is:

[0055] D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)

[0056] Where G is a Gaussian function under a varying scale, I is the original image, x and y are the coordinates of the midpoint of the image, and σ is the Gaussian blur parameter.

[0057] 3) Find local extreme points: For a pixel in the image, compare it with the 26 points within a 3*3*3 range (i.e., the 8 surrounding pixels and the 9 points in the upper and lower layers of the Gaussian pyramid). If the point is a local extreme point, it is considered a key point. Note that in this article, "key point" and "feature point" are used interchangeably.

[0058] 4) Determine the location and scale of key points by fitting a three-dimensional quadratic function, and remove some low-contrast points and edge points. Low-contrast points can be determined by fitting the Gaussian difference pyramid image using the Taylor expansion, and edge points can be found using the Hessian matrix. For example, the following Hessian matrix can be used:

[0059]

[0060] Tr(H)=D xx +D yy

[0061] Det(H)=D xx D yy -(D xy ) 2

[0062] Where Tr(H) and Det(H) represent the trace / determinant of the matrix H. 2 / Det(H) to remove edge points; for example, when the ratio is greater than a certain threshold, the point corresponding to the coordinates (x, y) is determined as an edge point and deleted.

[0063] 5) Based on the local gradient direction of the image, each key point can have one or more directions. The specific formula for gradient calculation is:

[0064]

[0065] θ(x, y) = tan -1 ((L(x,y+1)-L(x,y-1)) / L(x+1,y)-L(x-1,y))

[0066] Where m and θ are the modulus and direction of the gradient, respectively. Divide the range from 0 to 360 degrees into eight regions, and establish eight corresponding columns. For each direction of the key point, the modulus corresponding to the column corresponding to the highest column is used as the main direction, and the height of the column corresponding to the main direction is used as the modulus of the key point. The above L function represents the pixel value at the corresponding coordinate, such as L(x+1, y) is the pixel value at the coordinate [x+1, y].

[0067] 6) Based on the data calculated above, a 16×16 pixel area around the key point is selected and divided into 4×4 blocks. An 8-column histogram is created for each block, and a total of 128 information vectors are used as key point descriptors.

[0068] FIG3 is a schematic diagram showing feature points generated according to the above method. The left side of FIG3 shows the original image, which corresponds to the 14th image in FIG2 (in order from top to bottom and from left to right). The right side of FIG3 shows the image including the feature points.

[0069] According to each extracted image I n Features and other images (I0, ...I n-1 , I n+1 ,...I m ) features are matched, and the matching algorithm used is, for example, the KNN algorithm. FIG4 shows a schematic diagram of feature point matching using feature description vectors.

[0070] For each image, if image I n with I k If there are points with feature matching, the image will be screened and images with less than three matching points will be automatically filtered out. The specific formula used for screening in this step can be as follows:

[0071]

[0072] Where T is the set of feature point pairs and F is the similarity function. Specifically, the ratio can be directly calculated. If the ratio is in a certain range (for example, between 0.95 and 1.05), it means similarity. n It means the nth feature matching point pair. The F function represents the proportion of point pairs in set T that are similar to the nth point pair. It can be seen that when the length of the set (that is, the number of elements in the set) is less than 3, the set is empty, that is, the two images involved do not match.

[0073] Each matching feature point is then screened based on similarity and compared with all other feature point pairs to eliminate abnormal, incorrect matching points. For example, a similarity metric is used to compare the points with all other point pairs. If the coordinates, orientation, scale, etc. of the matching point pair do not match those of the other point pairs, the point pair is removed. Figure 5 shows a schematic diagram of feature point matching after removing abnormal points from the feature point matching graph shown in Figure 4. As can be seen, the abnormal point pairs in Figure 4 (e.g., the feature point pair in the upper left corner of Figure 4) have been removed.

[0074] An adjacency table G is established for each image matched to the image, and an affine matrix is ​​calculated based on the feature points with the current image as the center. The affine matrix can be a 2×2 matrix that only contains translation and rotation, which is used to determine the spatial position of other images. Figure 6 shows a schematic diagram of the spatial relationship between a specific image and its adjacent images according to an embodiment of the present application. It can be seen from Figure 6 that the specific image (the 14th image in Figure 2) has the 2nd image, the 27th image, the 3rd image, and the 11th image in Figure 2 as its adjacent graphs in counterclockwise order from left to right.

[0075] According to the adjacency list G of all images obtained, the adjacency list is traversed to determine the images to be stitched. For the images with neighbors found, the breadth-first algorithm can be used to iterate and calculate their global positions in sequence.

[0076] After the above process is completed, one or more connected domain images will be obtained, and their corresponding coordinate information will be provided, thereby completing the stitching. For example, the stitching can be performed using the obtained global position. However, in some embodiments, the relative position relationship of the images can also be directly used to perform the stitching.

[0077] Figure 7 shows an effect diagram of executing the image stitching method according to an embodiment of the present application. As shown in the figure, the technical solution provided by the embodiment of the present application can achieve good image stitching even without knowing prior information such as the row and column indices of the images and the amount of overlap between the images.

[0078] FIG8 schematically illustrates a schematic block diagram of a device 800 for performing an image stitching method according to an embodiment of the present application. The device shown in FIG8 can be any device with processing capabilities. It should be noted that the device shown in FIG8 is merely an example and should not limit the functionality or scope of use of the embodiments of the present application.

[0079] As shown in Figure 8, the device 800 according to this embodiment includes a central processing unit (CPU) 801, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 802 or the program loaded from the storage part 808 into the random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the device 800 are also stored. The CPU 801, ROM 802 and RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0080] The device 800 may also include one or more of the following components connected to the I / O interface 805: an input section 806 including a keyboard or mouse, etc.; an output section 807 including a cathode ray tube (CRT) or liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 808 including a hard disk, etc.; and a communication section 809 including a network interface card, such as a LAN card or a modem. The communication section 809 performs communication processing via a network, such as the Internet. A drive 810 is also connected to the I / O interface 805 as needed. A removable medium 811, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, etc., is installed in the drive 810 as needed, so that a computer program read from the removable medium can be installed in the storage section 808 as needed.

[0081] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 809, and / or installed from a removable medium 811. When the computer program is executed by the central processing unit (CPU) 801, the above-mentioned functions defined in the device of the embodiment of the present application are executed.

[0082] It should be noted that the computer-readable medium described in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code embodied on the computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wire, optical cable, RF, or any suitable combination thereof.

[0083] The method and related devices of the present disclosure have been described above in conjunction with preferred embodiments. Those skilled in the art will appreciate that the methods shown above are merely exemplary. The methods of the present disclosure are not limited to the steps and sequence shown above. The devices shown above may include more modules, for example, modules that can be developed or will be developed in the future and can be used for the devices, etc. The various identifiers shown above are merely exemplary and not restrictive, and the present disclosure is not limited to the specific information elements used as examples of these identifiers. Those skilled in the art may make many changes and modifications based on the teachings of the illustrated embodiments.

[0084] The program running on the device according to the present disclosure may be a program that controls a central processing unit (CPU) to enable a computer to implement the functions of the embodiments of the present disclosure. The program or the information processed by the program may be temporarily stored in a volatile memory (such as a random access memory RAM), a hard disk drive (HDD), a non-volatile memory (such as a flash memory), or other memory systems.

[0085] The program for realizing each embodiment function of the present disclosure can be recorded on a computer-readable recording medium. The corresponding function can be realized by making a computer system read the program recorded on the recording medium and executing these programs. The so-called "computer system" herein can be a computer system embedded in the device, and can include an operating system or hardware (such as a peripheral device). "Computer-readable recording medium" can be a semiconductor recording medium, an optical recording medium, a magnetic recording medium, a short-term dynamic storage program recording medium or any other recording medium that is computer-readable.

[0086] The various features or functional modules of the devices used in the above embodiments can be implemented or executed by circuits (e.g., single-chip or multi-chip integrated circuits). The circuits designed to perform the functions described in this specification may include a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or any combination of the above devices. The general-purpose processor may be a microprocessor, or any existing processor, controller, microcontroller, or state machine. The above circuits may be digital circuits or analog circuits. In the case where new integrated circuit technologies have emerged to replace existing integrated circuits due to advances in semiconductor technology, one or more embodiments of the present disclosure may also be implemented using these new integrated circuit technologies.

[0087] As described above, the embodiments of the present disclosure have been described in detail with reference to the accompanying drawings. However, the specific structure is not limited to the above-mentioned embodiments, and the present disclosure also includes any design changes that do not deviate from the main purpose of the present disclosure. In addition, various modifications can be made to the present disclosure within the scope of the claims, and embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of the present disclosure. In addition, components with the same effect described in the above-mentioned embodiments can be replaced with each other.

Claims

1. A method for stitching multiple images, comprising: generating an adjacency list for each of the plurality of images, the adjacency list indicating a spatial positional relationship between a corresponding image and its adjacent images; Traversing the adjacency lists of the multiple images to determine the spatial positional relationship between the multiple images; as well as The multiple images are spliced ​​based on the determined spatial position relationship between the multiple images.

2. The method according to claim 1, further comprising extracting feature points in each of the plurality of images respectively; in, Generating an adjacency list for each of the plurality of images includes generating an adjacency list for each of the plurality of images based on the extracted feature points.

3. The method according to claim 2, wherein: Respectively extracting feature points from each of the multiple images comprises: for each of the multiple images downsampling the image multiple times using a Gaussian kernel to create a multi-scale pyramid image; and The local extreme points in the established multi-scale pyramid image are extracted as the feature points of the image.

4. The method according to claim 3, further comprising, for each of the plurality of images: Subtracting two adjacent layers of the multi-scale pyramid image to obtain a Gaussian difference image; as well as Based on the obtained Gaussian difference image, points and edge points in the image whose contrast does not meet a predetermined condition are removed.

5. The method according to claim 2, further comprising: For each of the plurality of images, Matching the extracted feature points of the image with the extracted feature points of other images in the plurality of images to obtain matching feature point pairs between the image and each other image; Wherein, generating an adjacency list of each of the multiple images based on the extracted feature points includes: Determine, among the multiple images, an image whose number of matching feature point pairs with the image is greater than a threshold number as an adjacent image adjacent to the image; and Create an adjacency list for the image including all its adjacent images.

6. The method according to claim 5, further comprising: Calculate the similarity of the matching feature points in the matching feature point pair; as well as Remove the matching feature point pairs with abnormal similarity between the image and its adjacent images.

7. The method according to claim 2, wherein: Traversing the adjacency lists of the multiple images to determine the spatial position relationship between the multiple images includes: Performing a breadth-first traversal on the adjacency lists of the multiple images; Based on the breadth-first traversal, the relative positions of the multiple images are converted into global positions according to the adjacency relationship between the multiple images.

8. The method according to claim 7, wherein: Stitching the multiple images based on the determined spatial position relationship between the multiple images includes: The multiple images are stitched according to their global positions.

9. A device for stitching a first image and a second image, comprising: processor; as well as A memory storing instructions which, when executed, cause the processor to perform operations according to any one of claims 1-8.

10. A computer storage medium having executable instructions stored thereon, wherein when the instructions are executed by a processor, the processor is caused to perform the method according to any one of claims 1 to 8.