Image splicing method and image processing apparatus

The automated image splicing method and apparatus streamline the process of generating high-resolution images by aligning and stitching multiple images, enhancing efficiency and user experience.

JP7849552B1Active Publication Date: 2026-04-21MATERIAL ANALYSIS TECH INC
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
MATERIAL ANALYSIS TECH INC
Filing Date
2025-06-27
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Manual image splicing processes for large numbers of images or large-sized images are cumbersome, time-consuming, and computationally burdensome, leading to decreased processing efficiency and user experience.

Method used

An image splicing method and apparatus that automates the process by acquiring and aligning multiple images, performing horizontal and vertical splicing, and edge alignment to generate a high-resolution overall image.

Benefits of technology

The method significantly improves processing efficiency and reduces reliance on manual labor, optimizing user experience and information acquisition in various application scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007849552000001_ABST
    Figure 0007849552000001_ABST
Patent Text Reader

Abstract

The present invention provides an image splicing method and an image processing apparatus. [Solution] This method includes: acquiring a plurality of splicing target images, each containing at least one image row; performing a horizontal splicing process on the plurality of splicing target images in each image row to generate at least one first horizontal image of the corresponding at least one image row; joining the at least one first horizontal image to form a first overall image; identifying a corresponding first image feature in each first horizontal image in the first overall image and, based on that, calibrating at least one first horizontal image to form a corresponding at least one second horizontal image; joining the at least one second horizontal image to form a second overall image; and performing an edge alignment process to adjust the positions of a plurality of edge images in the second overall image to generate a third overall image.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an image processing mechanism, and particularly to an image splicing method and an image processing apparatus.

Background Art

[0002] With the popularization of advanced equipment and automation facilities, in various scenarios such as scientific research, production processes, and quality inspections, it is often necessary to take multi-angle and segmented photographs of large objects or entire mechanisms with a photographing device to obtain complete image information. However, due to the limitations of the viewing angle and resolution of the photographing equipment, it is impossible to directly obtain a high-resolution image that covers the entire aspect at once. Therefore, it is necessary to stitch together a plurality of partial images in post-processing to restore the overall image of the original object.

[0003] Currently, many of the image splicing methods commonly seen in practice rely on manual operations. Therefore, the user needs to load the images one by one with image processing software, manually align them, and manually adjust the overlapping areas.

Summary of the Invention

Problems to be Solved by the Invention

[0004] When the number of images that need to be processed reaches dozens, or even hundreds or thousands or more, such a manual splicing process is not only cumbersome to operate but also takes a considerable amount of time. Also, when the size of the images to be processed is large, the computational burden on the computer system further increases, resulting in a decrease in processing efficiency and seriously affecting the user experience and work efficiency.

[0005] Therefore, in the field of image splicing technology, there is an urgent need to improve the efficiency of understanding and observing the overall appearance of objects in various application scenarios by providing solutions that can effectively improve processing efficiency, reduce reliance on manual labor, and overcome the difficulties of splicing large-sized images, thereby optimizing the user's information acquisition experience in experiments, exhibitions, or inspection work. [Means for solving the problem]

[0006] Therefore, the present invention provides an image splicing method and an image processing apparatus that can solve the above-mentioned technical problems.

[0007] Embodiments of the present invention provide an image splicing method performed by an image processing apparatus. The method includes: acquiring a plurality of splice target images, each containing at least one image row; performing a horizontal splicing process on the plurality of splice target images in each of the image rows to generate at least one first horizontal image corresponding to the at least one image row; joining the at least one first horizontal image to form a first overall image; identifying a corresponding first image feature in each of the first horizontal images in the first overall image and, based thereon, calibrating the at least one first horizontal image to form a corresponding at least one second horizontal image; joining the at least one second horizontal image to form a second overall image; and performing an edge alignment process to adjust the positions of a plurality of edge images in the second overall image to generate a third overall image.

[0008] Embodiments of the present invention provide an image processing apparatus including a memory circuit and a processor. The memory circuit stores program code. The processor is coupled to the memory circuit and accesses the program code to obtain a plurality of splice target images, each containing at least one image row; to perform a horizontal splicing process on the plurality of splice target images in each of the image rows to generate at least one first horizontal image corresponding to the at least one image row; to combine the at least one first horizontal image to form a first overall image; to identify a corresponding first image feature in each of the first horizontal images in the first overall image and, based thereon, to calibrate the at least one first horizontal image to form a corresponding at least one second horizontal image; to combine the at least one second horizontal image to form a second overall image; and to perform an edge alignment process to adjust the positions of a plurality of edge images in the second overall image to generate a third overall image. [Effects of the Invention]

[0009] The image splicing method provided in the embodiments of the present invention effectively solves the problems of the prior art, which require manual stitching of images, making the process complicated and inefficient. [Brief explanation of the drawing]

[0010] [Figure 1] This is a schematic diagram of an image processing apparatus according to one embodiment of the present invention. [Figure 2] This is a flowchart of an image splicing method according to one embodiment of the present invention. [Figure 3] This is a flowchart of a horizontal splicing process according to one embodiment of the present invention. [Figure 4A] This is a schematic diagram showing the generation of a horizontal image according to the first embodiment of the present invention. [Figure 4B] This is a schematic diagram showing the generation of a horizontal image according to the first embodiment of the present invention. [Figure 5] This is a flowchart for generating a first overall image according to one embodiment of the present invention. [Figure 6] This is a schematic diagram showing the generation of the first overall image according to the second embodiment of the present invention. [Figure 7] This is a flowchart showing how to calibrate a first horizontal image to obtain a second horizontal image according to one embodiment of the present invention. [Figure 8A] This is a schematic diagram showing the generation of a second horizontal image according to the fourth embodiment of the present invention. [Figure 8B] This is a schematic diagram showing the generation of a second horizontal image according to the fourth embodiment of the present invention. [Figure 9] This is a schematic diagram showing how the second horizontal images are stitched together to form the second overall image, based on Figures 8A and 8B. [Figure 10] This is a flowchart of an edge alignment process according to one embodiment of the present invention. [Figure 11] This is a flowchart of a partial update process performed on a specified edge according to a fifth embodiment of the present invention. [Modes for carrying out the invention]

[0011] Referring to Figure 1, Figure 1 is a schematic diagram of an image processing apparatus according to one embodiment of the present invention.

[0012] In embodiments of the present invention, the image processing apparatus 100 refers to, for example, a system equipped with image reception, processing, analysis, and output functions, and may be a hardware device having computing power, or is configured by combining one or more software modules that execute an image processing algorithm. The device may be a desktop computer, an industrial computer, a server, a laptop computer, an embedded system, or a device equipped with an image processing chip.

[0013] In Figure 1, the image processing device 100 includes a memory circuit 102 and a processor 104.

[0014] The memory circuit 102 is, for example, any form of fixed or removable random access memory (RAM), read-only memory (ROM), flash memory, hard disk, or other similar devices, or a combination of these devices, and can be used to record a plurality of program codes or modules.

[0015] The processor 104 is coupled to the memory circuit 102 and may be a general-purpose processor, a special-purpose processor, a conventional processor, a digital signal processor, one or more microprocessors combined with digital signal processor cores, a controller, a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array circuit (FPGA), any other type of integrated circuit, a state machine, an advanced RISC machine (ARM)-based processor, and the like.

[0016] In an embodiment of the present invention, the processor 104 can access the modules and program codes recorded in the memory circuit 102 to implement the image splicing method provided by the present invention. Details thereof will be described in detail below.

[0017] Referring to FIG. 2, FIG. 2 is a flowchart of an image splicing method according to an embodiment of the present invention. The method of this embodiment can be executed by the image processing apparatus 100 in FIG. 1. Hereinafter, in combination with the components shown in FIG. 1, each step in FIG. 2 will be described in detail.

[0018] In step S210, the processor 104 acquires a plurality of splicing target images. Here, the plurality of splicing target images includes at least one image row.

[0019] In an embodiment of the present invention, the plurality of splicing target images are, for example, obtained by the imaging device performing split imaging on the target object, but the present invention is not limited thereto. Also, the at least one image row refers to those obtained by continuously capturing a plurality of images along a predetermined direction (for example, the horizontal direction, the vertical direction, or a specific trajectory), and the imaging range of each image has a partially overlapping area, which is convenient for subsequent image splicing. In some embodiments, the image row can include a horizontal image sequence captured from left to right, or a vertical image sequence captured from top to bottom, and can also be extended to multiple rows of images to form an image matrix, but the present invention is not limited thereto.

[0020] In step S220, the processor 104 performs a horizontal splicing process on the plurality of splicing target images in each image row, and generates at least one first horizontal image corresponding to the at least one image row.

[0021] In one embodiment, the horizontal splicing process refers to, for example, performing alignment and fusion on these images based on the overlapping area, feature correspondence relationship, or image coordinate information of each adjacent image in the image row, and generating at least one first horizontal image corresponding to the image row.

[0022] For example, when an image row consists of multiple images acquired sequentially from left to right by a camera, the processor 104 can sequentially perform horizontal splicing on the images within the row and output the spliced ​​images as a single continuous horizontal image. In some embodiments, the processor 104 can apply algorithms such as automatic feature point matching, edge fusion, and exposure correction to improve the accuracy and naturalness of the image splicing, which can serve as the basis for subsequent vertical splicing or panoramic stitching.

[0023] In one embodiment, if it is determined that the aspect ratios of the images to be spliced ​​do not match before executing the horizontal splicing process, the processor 104 calibrates the image ratios of the images to be spliced ​​to match, and then executes the horizontal splicing process based on the calibrated plurality of images to be spliced.

[0024] In one embodiment, the processor 104 can first determine whether the aspect ratios of each image to be spliced ​​match. The aspect ratios may include, but are not limited to, the ratio of the width to height of the image, the resolution, the pixel size, or the corresponding ratio of the actual size. When the processor 104 determines that there is a difference in the aspect ratios between at least two images to be spliced, it can trigger an aspect ratio calibration process accordingly.

[0025] In one embodiment, the image ratio calibration process may include scaling, interpolation, resampling, or scaling operations calculated based on image acquisition parameters, so that each image can have a consistent ratio scale under the same splicing criteria. Multiple images to be spliced ​​after calibration can avoid positional misalignment, deformation, or overlapping errors resulting from ratio mismatches, thereby improving the accuracy and overall image quality of the horizontal splicing process performed later, but the present invention is not limited thereto.

[0026] In one embodiment, the processor 104 can achieve step S220 by applying the flow shown in Figure 3.

[0027] Referring to Figure 3, Figure 3 is a flowchart of a horizontal splicing process according to one embodiment of the present invention.

[0028] In this embodiment, for any of the image rows described above, the processor 104 can determine the corresponding first horizontal image by applying the flow shown in Figure 3. For ease of understanding, the i-th image row (where i is the index value) in at least one image row described above will be explained below as an example, but those skilled in the art will be able to similarly understand how to determine the first horizontal image corresponding to each image row.

[0029] In step S310, the processor 104 sets the first image to be spliced ​​in the i-th image row as the first reference image.

[0030] In step S320, the processor 104 defines a first region in the first reference image and a second region in the j-th splicing target image in the i-th image row. Here, j is an index value, and the initial value of j is 2.

[0031] In step S330, the processor 104 determines the first region of interest in the second region and determines a plurality of first candidate regions in the first region. Here, the size of each first candidate region corresponds to the first region of interest.

[0032] In step S340, the processor 104 determines the comparison result between each first candidate region and the first region of interest, and based on that, selects a first designated candidate region from among the multiple first candidate regions.

[0033] In step S350, the processor 104 superimposes the first designated candidate region in the first reference image with the first region of interest in the j-th splicing target image to generate a new first reference image.

[0034] In step S360, the processor 104 determines whether j is less than the number of splice-target images in the i-th image row. If so, the processor 104 performs step S380, increments j, and returns to step S320. Otherwise, the processor 104 performs step S370 and determines that the new first reference image is the i-th first horizontal image, i.e., one of at least one first horizontal images corresponding to the i-th image row.

[0035] To make the concept in Figure 3 easier to understand, Figures 4A and 4B are used as examples below for further explanation. Here, Figures 4A and 4B are schematic diagrams of the generation of a horizontal image according to the first embodiment of the present invention.

[0036] In Figure 4A, we assume that images 410, 420, and 430 are the splicing target images to be considered. In this situation, the splicing target images to be considered can be understood to contain only one image row 400, and the processor 104 can generate the corresponding first horizontal image by applying the flow in Figure 3, but this is merely an example and does not limit possible implementations.

[0037] To explain in more detail, in step S310, the processor 104 can make the first image to be spliced ​​in the image row 400 the first reference image (i.e., image 410).

[0038] In step S320, the processor 104 can define a first region 411 in the first reference image (i.e., image 410).

[0039] In one embodiment, the processor 104 can determine the first region 411 based, for example, on a predetermined maximum overlap area ratio. Here, the maximum overlap area ratio refers to, for example, the ratio of the overlap area to the image area of ​​either of the two splice target images when the two splice target images are arranged in relative positions.

[0040] To illustrate with an example, if we assume that the processor 104 needs to stitch images 410 and 420 together from left to right in the situation shown in Figure 4A, the processor 104 can define a first region 411 to the right of image 410 based on a predetermined maximum overlapping area ratio (e.g., 30%), and the ratio of the area of ​​the first region 411 to the area of ​​image 410 (e.g., 30%) may be equal to the predetermined maximum overlapping area ratio.

[0041] Furthermore, the processor 104 can define a second region in the j-th splice target image in image row 400. As mentioned earlier, the initial value of j is 2, so the processor 104 can define a second region 421 in the second splice target image in image row 400 (i.e., image 420).

[0042] In one embodiment, the processor 104 can also determine the second region 421 based on the predetermined maximum overlapping area ratio. For example, in the situation shown in Figure 4A, the processor 104 can define the second region 421 to the left of the image 420 based on the predetermined maximum overlapping area ratio (e.g., 30%), and the ratio of the area of ​​the second region 421 to the image 420 (e.g., 30%) may be equal to the predetermined maximum overlapping area ratio.

[0043] In step S330, the processor 104 determines the first region of interest 421a in the second region 421 and determines multiple first candidate regions in the first region 411. Here, the size of each first candidate region corresponds to the first region of interest 421a.

[0044] In one embodiment, the processor 104 can determine the first region of interest 421a in the second region 421 based, for example, on a predetermined size and a predetermined relative position. For example, the processor 104 can determine the first region of interest 421a by defining a rectangular region in the second region 421 having a predetermined width (smaller than the width of the second region 421) and a predetermined height (smaller than the height of the second region 421), and then setting a reference position within the second region 421 (e.g., the center point or another reasonable position) as the center point of this rectangular region, but the present invention is not limited thereto.

[0045] In the situation shown in Figure 4A, the illustrated first candidate region 411a is, for example, one of several first candidate regions determined by the processor 104 in step S330. However, the other first candidate regions (distributed in the first region 411 and having the same size as the first region of interest 421a) are not shown individually in order to simplify the drawing.

[0046] In step S340, the processor 104 determines the comparison result between each first candidate region (for example, first candidate region 411a) and the first region of interest 421a, and based on that, selects a first designated candidate region from among the plurality of first candidate regions.

[0047] In one embodiment, the comparison result is, for example, image similarity. In some embodiments, the image similarity can be used as a numerical index to represent the degree of similarity in image content between two image regions. For example, similarity can be evaluated by pixel value comparison, image feature point matching, luminance or color distribution similarity, or by feature vectors obtained after inference by a neural network model.

[0048] Taking the first candidate region 411a as an example, the processor 104 can determine the image similarity between the first candidate region 411a and the first region of interest 421a and use this as the comparison result between the first candidate region 411a and the first region of interest 421a, but the present invention is not limited thereto.

[0049] Based on a similar principle, the processor 104 can determine the image similarity between the first region of interest 421a and each first candidate region, and based on this, the processor 104 can select a first designated candidate region from among the plurality of first candidate regions.

[0050] In one embodiment, the first designated candidate region is, for example, the one among the plurality of first candidate regions that has the highest image similarity to the first region of interest 421a, but the present invention is not limited thereto. In other embodiments, the processor 104 may change the principle for selecting the first designated candidate region according to the designer's requirements (for example, selecting the one among the plurality of first candidate regions that has the second highest image similarity to the first region of interest 421a as the first designated candidate region).

[0051] For the sake of clarity, we will assume below that the selected first designated candidate region is the illustrated first candidate region 411a, but the present invention is not limited thereto.

[0052] Next, in step S350, the processor 104 superimposes the first designated candidate region (i.e., the first candidate region 411a) in the first reference image (i.e., image 410) with the first region of interest 421a in the j-th splicing target image (i.e., image 420) to generate a new first reference image 410'.

[0053] In step S360, the processor 104 determines whether j is less than the number of images to be spliced ​​in image row 400. In the situation shown in Figure 4A, there are 3 images 410, 420, and 430, and the current j is 2. Therefore, the processor 104 can determine that j is less than the number of images to be spliced ​​in image row 400, and then proceeds to step S380, incrementing j to 3, and returning to step S320.

[0054] To make it easier to understand, the mechanism after accumulating j to 3 in the situation shown in Figure 4B is explained below.

[0055] In Figure 4B, when the processor 104 returns to executing step S320, the processor 104 defines a first region 411' in the first reference image 410' and defines a second region 431 in the j-th splicing target image in image row 400 (i.e., image 430).

[0056] In one embodiment, the processor 104 may define a first region 411' to the right of image 420 in the first reference image 410' based on a predetermined maximum overlap area ratio (e.g., 30%), where the ratio of the area of ​​the first region 411' to the area of ​​image 420 in the first reference image 410' (e.g., 30%) is equal to the predetermined maximum overlap area ratio.

[0057] Furthermore, processor 104 can define a second region in the j-th splice target image in image row 400. Since the current value of j is 3, processor 104 can define a second region 431 in the third splice target image in image row 400 (i.e., image 430).

[0058] In one embodiment, the processor 104 can also determine the second region 431 based on a predetermined maximum overlapping area ratio. For example, in the situation shown in Figure 4B, the processor 104 can define the second region 431 to the left of the image 430 based on a predetermined maximum overlapping area ratio (e.g., 30%), where the ratio of the area of ​​the second region 431 to the image 430 (e.g., 30%) is equal to the predetermined maximum overlapping area ratio.

[0059] In step S330, the processor 104 determines the first region of interest 431a in the second region 431 and determines multiple first candidate regions in the first region 411'. Here, the size of each first candidate region corresponds to the first region of interest 431a.

[0060] In one embodiment, the processor 104 can determine the first region of interest 431a in the second region 431 based, for example, on a predetermined size and a predetermined relative position. For example, the processor 104 can determine the first region of interest 431a by defining a rectangular region in the second region 431 having a predetermined width (smaller than the width of the second region 431) and a predetermined height (smaller than the height of the second region 431), and then setting a reference position within the second region 431 (e.g., the center point or another reasonable position) as the center point of this rectangular region, but the present invention is not limited thereto.

[0061] In the situation shown in Figure 4B, the illustrated first candidate region 411a' is, for example, one of several first candidate regions determined by the processor 104 in step S330. However, the other first candidate regions (distributed in the first region 411' and having the same size as the first region of interest 431a) are not shown individually in order to simplify the drawing.

[0062] In step S340, the processor 104 determines the comparison result between each first candidate region (for example, first candidate region 411a') and the first region of interest 431a, and based on that, selects a first designated candidate region from the plurality of first candidate regions.

[0063] Taking the first candidate region 411a' as an example, the processor 104 can determine the image similarity between the first candidate region 411a' and the first region of interest 431a and use this as the comparison result between the first candidate region 411a' and the first region of interest 431a, but the present invention is not limited thereto.

[0064] Based on a similar principle, the processor 104 can determine the image similarity between the first region of interest 431a and each first candidate region, and based on this, the processor 104 can select a first designated candidate region from among the plurality of first candidate regions.

[0065] In one embodiment, the first designated candidate region is, for example, the one among the plurality of first candidate regions that has the highest image similarity to the first region of interest 431a, but the present invention is not limited thereto. In other embodiments, the processor 104 may change the principle for selecting the first designated candidate region according to the designer's requirements (for example, selecting the one among the plurality of first candidate regions that has the second highest image similarity to the first region of interest 431a as the first designated candidate region).

[0066] For the sake of clarity, we will assume below that the selected first designated candidate region is the illustrated first candidate region 411a', but the present invention is not limited thereto.

[0067] Next, in step S350, the processor 104 superimposes the first designated candidate region (i.e., the first candidate region 411a') in the first reference image 410' with the first region of interest 431a in the j-th splicing target image (i.e., image 430) to generate a new first reference image 420'.

[0068] In step S360, the processor 104 determines whether j is less than the number of images to be spliced ​​in the image row 400. In the situation shown in Figure 4B, the number of images 410, 420, and 430 is 3, and the current j is also 3, so the processor 104 can determine that j is not less than the number of images to be spliced ​​in the image row 400, and then performs step S370 to determine that the new first reference image 420' corresponds to the first horizontal image in the image row 400.

[0069] It should be understood that the situations shown in Figures 4A and 4B represent the case where the multiple images to be spliced ​​each have only one image row.

[0070] In other embodiments, if the multiple images to be spliced ​​have multiple image rows, the processor 104 can determine the first horizontal image corresponding to each image row based on a similar principle, but a detailed explanation is omitted here.

[0071] Referring again to Figure 2, in step S230, the processor 104 stitches together the at least one first horizontal image to form a first overall image.

[0072] In one embodiment, the processor 104 may further vertically stitch together the at least one generated first horizontal image to form a first global image. The first horizontal image is a splicing result generated for an image row, and each horizontal image may represent a side view of the object at a different vertical position or in a different scanning interval.

[0073] In one embodiment, the processor 104 can utilize overlapping regions between adjacent horizontal images to integrate them with a vertical array using feature alignment, color balance, or other fusion algorithms, ultimately generating a single, continuous first overall image.

[0074] In one embodiment, the processor 104 can achieve step S230 by applying the flow shown in Figure 5.

[0075] Referring to Figure 5, Figure 5 is a flowchart for generating a first overall image according to one embodiment of the present invention.

[0076] In step S510, the processor 104 uses the first horizontal image among the at least one horizontal image as the second reference image.

[0077] In step S520, the processor 104 defines a third region in the second reference image and a fourth region in the kth first horizontal image among the at least one first horizontal image. Here, k is an index value, and the initial value of k is 2.

[0078] In step S530, the processor 104 determines a second region of interest in the fourth region and determines a plurality of second candidate regions in the third region. Here, the size of each second candidate region corresponds to the second region of interest.

[0079] In step S540, the processor 104 determines the comparison result between each of the second candidate regions and the second region of interest, and based on that, selects a second designated candidate region from among the plurality of second candidate regions.

[0080] In step S550, the processor 104 superimposes the second designated candidate region in the second reference image with the second region of interest in the k-th splicing target image to generate a new second reference image.

[0081] In step S560, the processor 104 determines whether k is less than the number of the at least one first horizontal image. If so, the processor 104 performs step S580, increments k, and returns to step S520. Otherwise, the processor 104 performs step S570, determining that the new second reference image is the first whole image.

[0082] To make the concept in Figure 5 easier to understand, Figure 6 is used as an example below for further explanation. Here, Figure 6 is a schematic diagram of the generation of the first overall image according to the second embodiment of the present invention.

[0083] In Figure 6, the multiple images to be considered for splicing are arranged, for example, as a 2x2 image matrix. That is, the multiple images to be considered for splicing include a total of two image rows, and each image row includes two images to be spliced, but the present invention is not limited thereto.

[0084] In this embodiment, it is assumed that the plurality of splicing target images belonging to the first image row have already been joined together by the processor 104 using the previously taught mechanism to form a first horizontal image 610 (which can be understood as the first first horizontal image). It is also assumed that the plurality of splicing target images belonging to the second image row have also already been joined together by the processor 104 using the previously taught mechanism to form a first horizontal image 620 (which can be understood as the second first horizontal image).

[0085] In this situation, the processor 104 then executes the flow shown in Figure 5, and the first horizontal images 610 and 620 can be joined together to form the first overall image.

[0086] To explain in more detail, in step S510, the processor 104 uses the first horizontal image among the at least one horizontal image as the second reference image. That is, the processor 104 uses the first horizontal image 610 as the second reference image.

[0087] In step S520, the processor 104 defines a third region 611 in the second reference image.

[0088] In one embodiment, the processor 104 can determine the third region 611 based, for example, on a predetermined maximum overlap area ratio. Here, the maximum overlap area ratio refers to, for example, the ratio of the overlap area to the image area of ​​either of the two splice target images when the two splice target images are arranged in relative positions.

[0089] To illustrate with an example, if we assume that the processor 104 needs to stitch together the first horizontal images 610 and 620 in order from top to bottom in the situation shown in Figure 6, the processor 104 can define a third region 611 on the bottom side of the first horizontal image 610 based on a predetermined maximum overlapping area ratio (e.g., 30%), and the ratio of the area of ​​the third region 611 to the first horizontal image 610 (e.g., 30%) may be equal to the predetermined maximum overlapping area ratio.

[0090] Furthermore, the processor 104 defines a fourth region in the kth first horizontal image among the at least one first horizontal image. As mentioned earlier, since the initial value of k is 2, the processor 104 can define a fourth region 621 in the second first horizontal image (i.e., the first horizontal image 620).

[0091] In one embodiment, the processor 104 can also determine the fourth region 621 based on the predetermined maximum overlapping area ratio. For example, in the situation shown in Figure 6, the processor 104 can define the fourth region 621 above the first horizontal image 620 based on the predetermined maximum overlapping area ratio (e.g., 30%), and the ratio of the area of ​​the fourth region 621 to the first horizontal image 620 (e.g., 30%) may be equal to the predetermined maximum overlapping area ratio.

[0092] In step S530, the processor 104 determines the second region of interest 621a in the fourth region 621 and determines multiple second candidate regions in the third region 611.

[0093] In one embodiment, the processor 104 can determine the second region of interest 621a in the fourth region 621 based, for example, on a predetermined size and a predetermined relative position. For example, the processor 104 can determine the second region of interest 621a by defining a rectangular region in the fourth region 621 having a predetermined width (smaller than the width of the fourth region 621) and a predetermined height (smaller than the height of the fourth region 621), and then setting a reference position within the fourth region 621 (e.g., the center point or another reasonable position) as the center point of this rectangular region, but the present invention is not limited thereto.

[0094] In the situation shown in Figure 6, the illustrated first candidate region 611a is, for example, one of several second candidate regions determined by the processor 104 in step S530. However, the other second candidate regions (distributed within the third region 611 and having the same size as the second region of interest 621a) are not shown individually in order to simplify the drawing.

[0095] In step S540, the processor 104 determines the comparison result between each of the second candidate regions and the second region of interest, and based on that, selects a second designated candidate region from among the plurality of second candidate regions.

[0096] In one embodiment, the comparison result is, for example, the image similarity described above.

[0097] Taking the second candidate region 611a as an example, the processor 104 can determine the image similarity between the second candidate region 611a and the second region of interest 621a and use this as the comparison result between the second candidate region 611a and the second region of interest 621a, but the present invention is not limited thereto.

[0098] Based on a similar principle, the processor 104 can determine the image similarity between the second region of interest 621a and each second candidate region, and based on this, the processor 104 can select a second designated candidate region from among the plurality of second candidate regions.

[0099] In one embodiment, the second designated candidate region is, for example, the one among the plurality of second candidate regions that has the highest image similarity to the second region of interest 621a, but the present invention is not limited thereto. In other embodiments, the processor 104 may change the principle for selecting the second designated candidate region according to the designer's requirements (for example, selecting the one among the plurality of second candidate regions that has the second highest image similarity to the second region of interest 621a as the second designated candidate region).

[0100] For the sake of clarity, we will assume below that the selected second designated candidate region is the second candidate region 611a shown in the diagram, but the present invention is not limited thereto.

[0101] In step S550, the processor 104 superimposes the second designated candidate region (i.e., the second candidate region 611a) in the second reference image (i.e., the first horizontal image 610) with the second region of interest 621a in the k-th splicing target image (i.e., the first horizontal image 620) to generate a new second reference image 610'.

[0102] In step S560, the processor 104 determines whether k is less than the number of the at least one first horizontal image. If so, the processor 104 performs step S580, increments k, and returns to step S520. Otherwise, the processor 104 performs step S570, determining that the new second reference image is the first whole image.

[0103] In the situation shown in Figure 6, the number of first horizontal images 610, 620 is 2, and the current k is also 2, so the processor 104 can determine that k is not less than the number of at least one first horizontal image, and then performs step S570 to determine that the new second reference image 610' is the first overall image.

[0104] In other embodiments, if the number of the at least one first horizontal images to be considered is even greater (for example, greater than 2), in the current situation where k is 2, the processor 104 may determine that k is less than the number of the at least one first horizontal images, and then perform step S580, increasing k to 3, and return to step S520. Relevant details can be found in the embodiments described above and will not be repeated here.

[0105] In embodiments of the present invention, the first overall image described above is said to be obtained by stitching together images. However, the first overall image can be understood as being obtained by arranging / overlaying the images to be considered in appropriate relative positions so that the whole appears to be a single image. In this case, each image to be stitched together in the first overall image is still an independent image, and the position of each image to be stitched together in the first overall image is still adjustable / movable. In other words, the first overall image is obtained by stitching together images, but the relative positions of each image to be stitched together in it are still adjustable. However, the present invention is not limited thereto.

[0106] Referring again to Figure 2, in step S240, the processor 104 identifies a corresponding first image feature in the first horizontal image within the first overall image, and based on that, calibrates the at least one first horizontal image to obtain a corresponding at least one second horizontal image.

[0107] In one embodiment, after the first overall image is completed, the processor 104 may further perform feature identification and calibration operations on at least one first horizontal image within the first overall image. Specifically, the processor 104 may identify a first image feature in the first overall image that corresponds to the first horizontal image, and the first image feature may include an edge line segment, an angle point, a texture distribution, a color change region, or other image elements with discriminability.

[0108] The processor 104 determines the actual corresponding position and deformation state of the first horizontal image within the overall image based on the position of the identified first image feature, and based on this, performs precise alignment and geometric calibration to calibrate the original first horizontal image and create a corresponding second horizontal image. The second horizontal image has even higher alignment accuracy and can function as standard image data used for the synthesis, analysis, or display of the final image.

[0109] In one embodiment, the processor 104 can achieve step S240 by applying the flow shown in Figure 7.

[0110] Referring to Figure 7, Figure 7 is a flowchart showing how to calibrate a first horizontal image to obtain a second horizontal image according to one embodiment of the present invention.

[0111] In step S710, the processor 104 obtains the second to J splicing target images in the i-th image row, where J is the number of the multiple splicing target images in the i-th image row.

[0112] In step S720, the processor 104 obtains a first region of interest corresponding to each of the second to J splicing target images, and based on this, divides the second to J splicing target images into at least one first-class image and at least one second-class image. In one embodiment, the first region of interest corresponding to each first-class image is identified as containing the corresponding first image feature, and the first region of interest corresponding to each second-class image is identified as not containing the corresponding first image feature.

[0113] In step S730, the processor 104 finds the corresponding first image features in the second region corresponding to each second image, and updates the first region of interest corresponding to each second image based on these features.

[0114] In step S740, the processor 104 calibrates the i-th first horizontal image to become the i-th second horizontal image by adjusting the superposition method of each second-class image and the corresponding first reference image based on the updated first region of interest corresponding to each second-class image.

[0115] To make the concept in Figure 7 easier to understand, Figures 8A and 8B are used as examples below for further explanation. Figures 8A and 8B are schematic diagrams of the generation of a second horizontal image according to the fourth embodiment of the present invention.

[0116] In the situation shown in Figure 8A, it is assumed that the images 810, 820, 830, 840, 850, 860, and 870, which illustrate the i-th image row of the multiple splicing target images being considered, are included. Furthermore, the processor 104 has already joined these images together to form a corresponding first horizontal image (i.e., the i-th first horizontal image corresponding to the i-th image row) based on the teaching of the embodiments described above, and this first horizontal image has already been joined with the first horizontal images corresponding to the other image rows to form a corresponding first overall image.

[0117] In this situation, processor 104 can execute the flow shown in Figure 7 for the i-th image row shown in Figure 8A. A detailed explanation is as follows.

[0118] In step S710, the processor 104 acquires the second to Jth splice target images in the i-th image row. In the situation shown in Figure 8, the i-th image row being considered contains seven images, so the J value is 7, but the present invention is not limited to this. Accordingly, in step S710, the processor 104 can acquire images 820, 830, 840, 850, 860, and 870.

[0119] In step S720, the processor 104 obtains first regions of interest corresponding to the second to J splicing target images, and based on these, divides the second to J splicing target images into at least one first-class image and at least one second-class image. In one embodiment, the first region of interest corresponding to each first-class image is identified as containing the corresponding first image feature, and the first region of interest corresponding to each second-class image is identified as not containing the corresponding first image feature.

[0120] In this embodiment, we assume that the first regions of interest corresponding to images 820, 830, 840, 850, 860, and 870 (i.e., the first regions of interest determined when the horizontal splicing process was previously performed) are the first regions of interest 821a, 831a, 841a, 851a, 861a, and 871a, respectively, but the present invention is not limited thereto.

[0121] Subsequently, the processor 104 can divide images 820, 830, 840, 850, 860, and 870 into at least one first-class image and at least one second-class image based on the first regions of interest 821a, 831a, 841a, 851a, 861a, and 871a.

[0122] In the situation shown in Figure 8A, we assume that the first image feature to be considered is line segment 899 located in the first region of interest 821a, 831a, 841a, and 851a, but the present invention is not limited thereto.

[0123] In this situation, the processor 104 can determine that images 820, 830, 840, and 850, which correspond to the first regions of interest 821a, 831a, 841a, and 851a, are first-class images.

[0124] Furthermore, since the first regions of interest 861a and 871a do not contain the first image features to be considered (e.g., line segment 899), the processor 104 can determine that images 860 and 870, which correspond to the first regions of interest 861a and 871a, are second-class images.

[0125] In step S730, the processor 104 finds the corresponding first image features in the second region corresponding to each second image, and updates the first region of interest corresponding to each second image based on these features.

[0126] In Figure 8A, the second-class images to be considered are images 860 and 870. Therefore, the processor 104 can find the corresponding first image features (e.g., line segment 899) in the second regions 861 and 871 (i.e., the second regions determined when the horizontal splicing process was performed earlier) that correspond to images 860 and 870, respectively.

[0127] Subsequently, the processor 104 can update the first region of interest corresponding to images 860 and 870 based on the first image features in the second regions 861 and 871.

[0128] In one embodiment, the processor 104 can, for example, define a rectangular region in the second region 861 having a predetermined width (less than the width of the second region 861) and a predetermined height (less than the height of the second region 861) based on a predetermined size and a predetermined relative position, and then adjust the position of this rectangular region based on a line segment 899 within the second region 861.

[0129] For example, the processor 104 can determine a reference point on the line segment 899 in the second region 861, set this reference point as the center point of the rectangular region, and then determine the updated first region of interest 861a' (for example, slightly below the first region of interest 861a) based on this, but the present invention is not limited thereto.

[0130] Similarly, the processor 104 can, for example, define a rectangular region in the second region 871 having a predetermined width (smaller than the width of the second region 871) and a predetermined height (smaller than the height of the second region 871) based on a predetermined size and a predetermined relative position, and then adjust the position of this rectangular region based on a line segment 899 within the second region 871.

[0131] For example, the processor 104 can determine a reference point on the line segment 899 in the second region 871, set this reference point as the center point of the rectangular region, and then determine the updated first region of interest 871a' (for example, slightly below the first region of interest 871a) based on this, but the present invention is not limited thereto.

[0132] In step S740, the processor 104 calibrates the i-th first horizontal image to become the i-th second horizontal image by adjusting the superposition method of each second-class image and the corresponding first reference image based on the updated first region of interest corresponding to each second-class image.

[0133] In the situation shown in Figure 8A, the first regions of interest corresponding to images 860 and 870 have already been updated to first regions of interest 861a' and 871a', respectively. Therefore, the processor 104 can execute the horizontal splicing process described earlier based on this. However, the relevant details can be found in the description of the embodiments above and will not be repeated here.

[0134] This allows the first horizontal image 800 shown in Figure 8A to be calibrated to obtain the second horizontal image 800' shown in Figure 8B.

[0135] As can be seen from Figure 8B, the updated first regions of interest 861a' and 871a' both contain the corresponding first image features (e.g., line segment 899), so a second horizontal image 800' with better splicing quality can be generated.

[0136] To illustrate with an example, in the first horizontal image 800, line segment 899 shows discontinuity in the joined portion due to poor splicing positioning of images 860 and 870. In contrast, in the second horizontal image 800', line segment 899 can provide superior image quality because the splicing positioning of images 860 and 870 has been improved.

[0137] In the fourth embodiment, the image to be spliced ​​may further include other image rows, and the processor 104 may perform the same operation on these image rows based on the relevant mechanisms / principles in Figures 7, 8A, and 8B, attempting to obtain better image quality by improving the splicing position.

[0138] Referring again to Figure 2, after the splicing position of each image row has been improved and a second horizontal image corresponding to each image row has been obtained, the processor 104 then performs step S250, which allows the at least one second horizontal image to be stitched together to form a second overall image.

[0139] In one embodiment, the processor 104 can apply a mechanism similar to that shown in Figure 5 to the at least one second horizontal image to stitch together the at least one second horizontal image to form a corresponding second overall image.

[0140] In one embodiment, the second overall image described above is explained as being obtained by stitching together images, but it can be understood that the second overall image is obtained by arranging / superimposing the splicing target images under consideration in appropriate relative positions so that the whole appears as a single image. In this case, each splicing target image in the second overall image is still an independent image, and the position of each splicing target image in the second overall image is still adjustable / movable. In other words, the second overall image is obtained by stitching together images, but the relative positions of each splicing target image within it are still adjustable. However, the present invention is not limited thereto.

[0141] Referring to Figure 9, Figure 9 is a schematic diagram showing how the second horizontal images are stitched together to form the second overall image, based on Figures 8A and 8B.

[0142] In Figure 9, we assume that the image to be spliced ​​has two image rows. Here, the first image row contains images 810, 820, 830, 840, 850, 860, and 870 from Figure 8A, and the second image row contains the illustrated images 910, 920, 930, 940, 950, 960, and 970.

[0143] In this embodiment, we assume that the processor 104 has already applied the mechanism shown in Figure 7 to the first image row to generate the corresponding second horizontal image 800'.

[0144] Furthermore, we assume that for the second image row as well, the processor 104 has already applied the mechanism shown in Figure 7 to generate the corresponding second horizontal image 900' (i.e., the image with improved splice positioning).

[0145] In this case, the processor 104 can perform step S250 based on the second horizontal images 800' and 900' to combine the second horizontal images 800' and 900' to form a second overall image 990.

[0146] As previously mentioned, the processor 104 can combine the second horizontal images 800' and 900' to form a second overall image 990 based on a mechanism similar to that shown in Figure 5. For example, the processor 104 can define a third region 810' in the second horizontal image 800' and a fourth region 910' in the second horizontal image 900'. Then, the processor 104 can define a second region of interest 910a' in the fourth region 910', select a second designated candidate region (e.g., a second candidate region 810a') from the third region 810' using the comparison mechanism described earlier, and then superimpose the second region of interest 910a' and the second candidate region 810a' to generate the corresponding second overall image 990. For further details, please refer to the explanation in Figure 5, and therefore will not be repeated here.

[0147] Referring again to Figure 2, after generating the second overall image, the processor 104 then adjusts the positions of multiple edge images within the second overall image by performing an edge alignment process in step S260, thereby generating the third overall image.

[0148] In one embodiment, the processor 104 can further perform an edge alignment process on the second overall image to adjust the positions of multiple edge images within the second overall image. The edge images may refer to image portions located in the boundary region or splicing seam region of the second overall image, or image portions with little overlap and large alignment errors during the splicing process.

[0149] The edge alignment process can adjust the relative position and angle of an edge image by analyzing information such as the geometric edge features, brightness gradient, and texture direction of the edge image and its adjacent regions, thereby making the edges of the overall image smoother, more continuous, and more natural. In some embodiments, the process may include partial deformation correction, boundary shape alignment, or the adoption of optimization algorithms to minimize seam errors.

[0150] In one embodiment, the processor 104 can realize step S260 by applying the flow shown in Figure 10.

[0151] Referring to Figure 10, Figure 10 is a flowchart of an edge alignment process according to one embodiment of the present invention.

[0152] In embodiments of the present invention, the plurality of edge images are located at a designated edge of the second overall image, and the designated edge may be any edge of the second overall image (for example, the top edge, bottom edge, right edge, left edge, etc.).

[0153] In step S1010, the processor 104 obtains the mth edge image from the plurality of edge images and defines a first reference image region in the mth edge image based on the specified edge. Here, m is an index value, and the initial value of m is 1.

[0154] In step S1020, the processor 104 acquires the nth edge image from the plurality of edge images and defines a second reference image region in the nth reference image based on the specified edge. Here, n is an index value, and the initial value of n is 2.

[0155] In step S1030, the processor 104 determines a third region of interest in the second reference image region and determines a plurality of third candidate regions in the first reference image region. Here, the size of each third candidate region corresponds to the third region of interest.

[0156] In step S1040, the processor 104 determines the comparison result between each of the third candidate regions and the third region of interest, and based on that, selects a third designated candidate region from among the plurality of third candidate regions.

[0157] In step S1050, the processor 104 overlays the third designated candidate region in the m-th edge image with the third region of interest in the n-th edge image and updates the splicing positions of the m-th edge image and the n-th edge image.

[0158] In step S1060, the processor 104 determines whether n is less than the number of the multiple edge images. If so, the processor 104 then performs step S1070, adding m and n together, and returns to step S1010. Otherwise, in step S1080, the processor 104 determines that the partial update process for the specified edge of the second overall image is complete.

[0159] To make the concept in Figure 10 easier to understand, Figure 11 is used as an example below for further explanation. Here, Figure 11 is a flowchart of a partial update process performed on a specified edge according to the fifth embodiment of the present invention.

[0160] In the situation shown in Figure 11, we assume that the images to be spliced ​​are arranged as a 9x8 image matrix and joined together by the various mechanisms already described above to form the second overall image 1100. In this situation, the processor 104 can designate any one edge of the second overall image 1100 as a designated edge and perform a corresponding partial update process on this designated edge.

[0161] For ease of understanding, the lower edge of the second overall image 1100 is considered a specific edge to be considered, and images 1110, 1120, 1130, 1140, 1150, 1160, 1170, and 1180 located at the lower edge can be understood as edge images to be considered, but the present invention is not limited thereto.

[0162] In step S1010, the processor 104 obtains the mth edge image from the plurality of edge images and defines a first reference image region in the mth edge image based on the specified edge. Here, m is an index value, and the initial value of m is 1.

[0163] In the situation shown in Figure 11, the mth edge image (where m is 1) acquired by the processor 104 is, for example, image 1110, and the processor 104 can define the first reference image region 1111a in image 1110.

[0164] In one embodiment, the processor 104 may define a first reference image region 1111a in a first region 1111 corresponding to the image 1110. Here, the first region 1111 is determined, for example, based on a predetermined maximum overlap area ratio as described above, but the relevant concepts will not be explained again here as they can be found in the related explanation in Figure 3.

[0165] In one embodiment, the processor 104 can determine the first reference image region 1111a based, for example, on the relative position of a specific edge under consideration and the second overall image 1100. Taking Figure 11 as an example, since the specific edge under consideration is the bottom edge, the processor 104 can determine, for example, that the first reference image region 1111a is located at the bottom of the first region 1111.

[0166] Furthermore, the processor 104 can determine the area ratio of the first reference image region 1111a to the first region 1111 based on a predetermined ratio. For ease of understanding, we will assume below that the predetermined ratio is 10%, but the present invention is not limited thereto. In this situation, the determined first reference image region 1111a is located at the bottom of the first region 1111, and its area is, for example, 10% of the first region 1111, but the present invention is not limited thereto.

[0167] In other embodiments, if the specific edge under consideration is the top / left / right edge, the processor 104 can determine, for example, that the first reference image region is located at the top / left / right of the corresponding first region.

[0168] Furthermore, the numerical value of the predetermined ratio can be determined as needed, and is not limited to the examples described above.

[0169] In step S1020, the processor 104 acquires the nth edge image from the plurality of edge images and defines a second reference image region in the nth reference image based on the specified edge. Here, n is an index value, and the initial value of n is 2.

[0170] In the situation shown in Figure 11, the nth (n is 2) edge image acquired by the processor 104 is, for example, image 1120, and the processor 104 can define a second reference image region 1121a in image 1120.

[0171] In one embodiment, the processor 104 may define a second reference image region 1121a in a second region 1121 corresponding to image 1110, for example. Here, the second region 1121 is determined, for example, based on a predetermined maximum overlap area ratio as described above, but the relevant concepts will not be explained again here as they can be found in the related explanation in Figure 3.

[0172] In one embodiment, the processor 104 can determine a second reference image region 1121a based, for example, on the relative position of a specific edge under consideration and the second overall image 1100. Taking Figure 11 as an example, since the specific edge under consideration is the bottom edge, the processor 104 can determine, for example, that the second reference image region 1121a is located at the bottom of the second region 1121.

[0173] Furthermore, the processor 104 can determine the area ratio of the second reference image region 1121a to the second region 1121 based on a predetermined ratio. For ease of understanding, we will assume below that the predetermined ratio is 10%, but the present invention is not limited thereto. In this situation, the determined second reference image region 1121a is located at the bottom of the second region 1121, and its area is, for example, 10% of the second region 1121, but the present invention is not limited thereto.

[0174] In step S1030, the processor 104 determines the third region of interest 1121a' in the second reference image region 1121a and determines a plurality of third candidate regions in the first reference image region 1111a. Here, the size of each third candidate region corresponds to the third region of interest 1121a'.

[0175] In one embodiment, the processor 104 can determine a third region of interest 1121a' in the second reference image region 1121a based, for example, on a predetermined size and a predetermined relative position. For example, the processor 104 can determine the third region of interest 1121a' by defining a rectangular region having a predetermined width (smaller than the width of the second reference image region 1121a) and a predetermined height (smaller than the height of the second reference image region 1121a), and then setting a reference position within the second reference image region 1121a (e.g., the center point or another reasonable position) as the center point of this rectangular region, but the present invention is not limited thereto.

[0176] In the situation shown in Figure 11, the illustrated third candidate region 1111a' is, for example, one of several third candidate regions determined by the processor 104 in step S1030. However, the other third candidate regions (distributed in the first reference image region 1111a and having the same size as the third region of interest 1121a') are not shown individually in order to simplify the drawing.

[0177] In step S1040, the processor 104 determines the comparison result between each third candidate region and the third region of interest 1121a', and based on that, selects a third designated candidate region from among the multiple third candidate regions.

[0178] In one embodiment, the comparison result is, for example, the image similarity described above.

[0179] Taking the third candidate region 1111a' as an example, the processor 104 can determine the image similarity between the third candidate region 1111a' and the third region of interest 1121a' and use this as the comparison result between the third candidate region 1111a' and the third region of interest 1121a', but the present invention is not limited thereto.

[0180] Based on the similarity principle, the processor 104 can determine the image similarity between the third region of interest 1121a' and each third candidate region, and based on this, the processor 104 can select a third designated candidate region from among the plurality of third candidate regions.

[0181] In one embodiment, the third designated candidate region is, for example, the one among the plurality of third candidate regions that has the highest image similarity to the third region of interest 1121a', but the present invention is not limited thereto. In other embodiments, the processor 104 may change the principle for selecting the third designated candidate region according to the designer's requirements (for example, selecting the one among the plurality of third candidate regions that has the second highest image similarity to the third region of interest 1121a' as the third designated candidate region).

[0182] For the sake of clarity, we will assume below that the selected third designated candidate region is the illustrated third candidate region 1111a', but the present invention is not limited thereto.

[0183] In step S1050, the processor 104 overlays the third designated candidate region (e.g., third candidate region 1111a') in the m-th edge image with the third region of interest 1121a' in the n-th edge image, and updates the splicing positions of the m-th edge image and the n-th edge image.

[0184] In step S1060, the processor 104 determines whether n is less than the number of the multiple edge images. In the situation shown in Figure 11, the number of images 1110, 1120, 1130, 1140, 1150, 1160, 1170, and 1180 is 8, and the current n is 2. Therefore, the processor 104 can determine that n is not less than the number of the multiple edge images, and then proceeds to step S1080, where m and n are added together, and the process returns to step S1010.

[0185] After accumulating m and n, the current values ​​of m and n are 2 and 3, respectively, so the processor 104 can consider images 1120 and 1130 as the m-th edge image in step S1010 and the n-th edge image in step S1020, respectively. Subsequently, the processor 104 repeatedly executes steps S1010 to S1070 based on the mechanism described above, and can adjust the splicing positions between adjacent images in images 1120, 1130, 1140, 1150, 1160, 1170, and 1180 until n accumulates to no longer be less than the number of the aforementioned multiple edge images.

[0186] In one embodiment, when n is accumulated to no less than the number of the plurality of edge images, the processor 104 may perform step S1060, followed by step S1080, and determine that the partial update process of a specified edge (e.g., the lower edge) of the second overall image 1100 is complete.

[0187] In embodiments of the present invention, the processor 104 can perform a partial update process for each edge of the second overall image 1100 to generate a third overall image 1190, but the present invention is not limited thereto.

[0188] As described above, the image splicing method provided by the embodiments of the present invention effectively solves the problems of the prior art, which require manual image stitching, making the process cumbersome and inefficient. By automatically executing processes such as image ratio calibration, feature alignment, and horizontal and vertical splicing, the present invention significantly improves the processing efficiency of large amounts of image data, drastically reduces the need for human intervention, can be applied to splicing applications of high-resolution or large-size images, and possesses high scalability and system computational efficiency.

[0189] Furthermore, the present invention, through feature-based splicing technology and edge optimization mechanisms, can improve image alignment accuracy and seam smoothness, further enhancing the overall quality and visual continuity of panoramic images. The integrated overall image helps users quickly understand the complete appearance of large samples or mechanisms, improving the visualization effect of information in experimental observation, inspection interpretation, or exhibition applications, and possessing practical and industrial application value.

[0190] Although the present invention has been disclosed by the embodiments described above, these are not intended to limit the invention, and any person with ordinary skill in the art may make some changes and modifications without departing from the spirit and scope of the invention; therefore, the scope of protection of the present invention is defined by the appended claims. [Industrial applicability]

[0191] The image splicing method of the embodiment of the present invention can be used in an image processing apparatus and related image processing methods. [Explanation of Symbols]

[0192] 100 Image Processing Devices 102 Memory circuit 104 Processors S210, S220, S230, S240, S250, S260, S310, S320, S330, S340, S350, S360, S370, S380, S510, S520, S530, S540, S550, S560, S570, S580, S710, S720, S730, S740, S1010, S1020, S1030, S1040, S1050, S1060, S1070, S1080 Step Images 410, 420, 430, 610, 810, 820, 860, 910, 1110, 1120 400 image rows 410', 420' First reference image 411, 411', 1111 1st area 1111a 1st reference image area 1121a Second reference image area 421, 431, 861, 871, 1121 2nd area 421a, 431a, 821a, 861a, 861a', 871a, 871a' First area of ​​interest 411a, 411a', 611a 1st candidate area 620, 800 First horizontal image 610' Second reference image 611, 810' Third area 621, 910' 4th area 621a, 910a' Second area of ​​interest 899 line segments 800', 900 Second Horizontal Image 990, 1100 Second overall image 810a' Second candidate region 1121a' Third area of ​​interest 1111a' Third candidate area 1190 Overall image

Claims

1. An image splicing method performed by an image processing device, Obtain multiple splicing target images, each containing at least one image row. Perform a horizontal splicing process on the plurality of splicing target images in each of the image rows to generate at least one first horizontal image corresponding to at least one image row, The above-mentioned at least one first horizontal image is joined together to form a first overall image, In each of the first horizontal images within the overall image, a corresponding first image feature is identified, and based on this, the at least one first horizontal image is calibrated to form a corresponding at least one second horizontal image. The above-mentioned at least one second horizontal image is joined together to form a second overall image, The process involves adjusting the positions of multiple edge images within the second overall image by performing an edge alignment process, thereby generating a third overall image. A method that includes this.

2. The at least one image row includes an i-th image row, the at least one first horizontal image includes an i-th first horizontal image corresponding to the i-th image row, and the horizontal splicing process applies to the i-th image row. (a1) The first splicing target image in the i-th image row is set as the first reference image, (a2) A first region is defined in the first reference image, and a second region is defined in the j-th splicing target image in the i-th image row, where i and j are index values, and the initial value of j is 2. (a3) Determine the first region of interest in the second region, determine a plurality of first candidate regions in the first region, and ensure that the size of each first candidate region corresponds to the first region of interest. (a4) Determine the comparison result between each of the first candidate regions and the first region of interest, and based on that, select a first designated candidate region from among the plurality of first candidate regions, (a5) A new first reference image is generated by superimposing the first designated candidate region in the first reference image and the first region of interest in the j-th splicing target image, (a6) Determine whether j is less than the number of the multiple splice target images in the i-th image row, If it is determined that j is less than the number of splice target images in the i-th image row, then j is incremented accordingly, and the process returns to step (a2). If it is determined that j is not less than the number of the multiple splicing target images in the i-th image row, then it is determined that the new first reference image is the i-th first horizontal image. The method according to claim 1, including the method described in claim 1.

3. The at least one image row includes the i-th image row, the at least one first horizontal image includes the i-th first horizontal image corresponding to the i-th image row, and the at least one first horizontal image is joined together to form the first overall image. (b1) The first horizontal image in the at least one horizontal image is used as the second reference image, (b2) A third region is defined in the second reference image, and a fourth region is defined in the k-th first horizontal image among the at least one first horizontal image, where i and k are index values, and the initial value of k is 2. (b3) Determine the second region of interest in the fourth region, determine a plurality of second candidate regions in the third region, and ensure that the size of each second candidate region corresponds to the second region of interest. (b4) Determine the comparison result between each of the second candidate regions and the second region of interest, and based on that, select a second designated candidate region from among the plurality of second candidate regions, (b5) A new second reference image is generated by superimposing the second designated candidate region in the second reference image and the second region of interest in the k-th splicing target image, (b6) Determine whether k is less than the number of the at least one first horizontal image, If it is determined that k is smaller than the number of the at least one first horizontal image, then k is incremented accordingly, and the process returns to step (b2). If it is determined that k is not less than the number of at least one first horizontal image, then it is determined accordingly that the new second reference image is the first overall image. The method according to claim 1, including the method described in claim 1.

4. The at least one second horizontal image includes an i-th second horizontal image corresponding to the i-th first horizontal image, and identifies the corresponding first image feature in each of the first horizontal images in the first overall image, and calibrates the at least one first horizontal image to obtain the corresponding at least one second horizontal image. (c1) Obtain the second splicing target image to the Jth splicing target image in the i-th image row, where J is the number of the multiple splicing target images in the i-th image row. (c2) Obtain the first region of interest corresponding to each of the second splicing target image to the Jth splicing target image, and based on this, divide the second splicing target image to the Jth splicing target image into at least one first-class image and at least one second-class image, and identify that the first region of interest corresponding to each of the first-class images contains the corresponding first image feature, and identify that the first region of interest corresponding to each of the second-class images does not contain the corresponding first image feature, (c3) Find the corresponding first image feature in the second region corresponding to each of the second images, and update the first region of interest corresponding to each of the second images based on that feature, (c4) Calibrating the i-th first horizontal image to become the i-th second horizontal image by adjusting the superposition method of each of the second images and the corresponding first reference image based on the updated first region of interest corresponding to each of the second images, The method according to claim 2, including the method described in claim 2.

5. The plurality of edge images are located at the designated edges of the second overall image, and the edge alignment process is performed (d1) Obtain the mth edge image from the plurality of edge images, define a first reference image region in the mth edge image based on the specified edge, where m is an index value and the initial value of m is 1. (d2) Obtain the nth edge image from the plurality of edge images, define a second reference image region in the nth reference image based on the specified edge, where n is the index value and the initial value of n is 2. (d3) Determine the third region of interest in the second reference image region, determine a plurality of third candidate regions in the first reference image region, and ensure that the size of each third candidate region corresponds to the third region of interest. (d4) Determine the comparison result between each of the third candidate regions and the third region of interest, and based on that, select a third designated candidate region from among the plurality of third candidate regions, (d5) Overlaying the third designated candidate region in the m-th edge image with the third region of interest in the n-th edge image, and updating the splicing positions of the m-th edge image and the n-th edge image, (d6) Determine whether n is less than the number of the multiple edge images, If it is determined that n is smaller than the number of the aforementioned edge images, then m and n are added together accordingly, and the process returns to step (d1). If it is determined that n is not less than the number of the plurality of edge images, then it is determined that the partial update process of the specified edge of the second overall image has been completed. The method according to claim 1, including the method described in claim 1.

6. The second overall image includes multiple edges, and the edge alignment process is The method according to claim 5, further comprising completing the partial update process corresponding to each of the edges and determining the third overall image.

7. The method according to claim 1, further comprising: if it is determined that the aspect ratios of each of the splice target images do not match before performing the horizontal splicing process, the aspect ratios of each of the splice target images are calibrated accordingly to match, and the horizontal splicing process is performed based on the plurality of splice target images after calibration.

8. A memory circuit for storing program code, The memory circuit is connected to the program code, Obtain multiple splicing target images, each containing at least one image row. Perform a horizontal splicing process on the plurality of splicing target images in each of the image rows to generate at least one first horizontal image corresponding to at least one image row, The above-mentioned at least one first horizontal image is joined together to form a first overall image, Identifying a corresponding first image feature in each of the first horizontal images within the first overall image, and calibrating the at least one first horizontal image based on that to obtain a corresponding at least one second horizontal image, The above-mentioned at least one second horizontal image is joined together to form a second overall image, The process involves adjusting the positions of multiple edge images within the second overall image by performing an edge alignment process, thereby generating a third overall image. A processor that executes, Image processing device including

Citation Information

Patent Citations

  • Image processing method, terminal and server

    JP2020529149A