Image processing method and device, electronic equipment and storage medium

By determining the chunking parameters based on the image size and complexity, and dynamically partitioning and preset processing of the images, the problem of inaccurate image division in the prior art is solved, and more efficient and accurate image processing is achieved.

CN119831860APending Publication Date: 2025-04-15NETEASE (HANGZHOU) NETWORK CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411866447.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-17
Publication Date
2025-04-15

AI Technical Summary

Technical Problem

The prior art cannot accurately and reasonably divide images, resulting in low image processing efficiency and loss of detailed information.

Method used

The chunking parameters are determined based on the image size and image complexity of the image to be processed, the image is divided into a plurality of first sub-images, and the sub-images are subjected to preset processing, and finally the target image is generated by combining the processed sub-images.

Benefits of technology

By dynamically determining the chunking parameters, accurate chunking of the image is achieved, image detail information is protected, and image processing efficiency and accuracy are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119831860A_ABST
    Figure CN119831860A_ABST
Patent Text Reader

Abstract

The invention provides an image processing method, an image processing device, electronic equipment and a computer readable storage medium, and belongs to the technical field of image processing. The method comprises the following steps: acquiring a to-be-processed image; determining blocking parameters according to the image size and the image complexity of the to-be-processed image, and dividing the to-be-processed image into a plurality of first sub-images according to the blocking parameters; performing preset image processing on the at least one first sub-image to obtain a second sub-image corresponding to the first sub-image; and obtaining a target image by combining the second sub-images. According to the invention, the to-be-processed image can be effectively and accurately divided into a plurality of first sub-images, and the second sub-images are combined into the target image.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of image processing technology, and in particular to an image processing method, an image processing device, an electronic device, and a computer-readable storage medium. Background Art

[0002] In order to improve image processing efficiency and save computing resources, existing images are often divided into multiple sub-images during image processing, and then combined into a target image after processing each sub-image. However, existing methods often use a fixed-size window to divide the image, which cannot adapt to the actual needs of different images. The divided image is not only prone to losing detail information, but also cannot guarantee the rationality and accuracy of image division.

[0003] Therefore, how to reasonably and accurately divide images in order to process them is a problem that needs to be solved urgently in the prior art.

[0004] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention

[0005] The present disclosure provides an image processing method, an image processing device, an electronic device and a computer-readable storage medium, thereby overcoming the problem that the prior art is unable to accurately and reasonably divide images and perform subsequent processing, at least to a certain extent.

[0006] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by the practice of the present disclosure.

[0007] According to one aspect of the present disclosure, there is provided an image processing method, comprising: acquiring an image to be processed; determining a blocking parameter according to an image size and an image complexity of the image to be processed, and dividing the image to be processed into a plurality of first sub-images according to the blocking parameter; performing preset image processing on at least one of the first sub-images to obtain a second sub-image corresponding to the first sub-image; and obtaining a target image by combining each of the second sub-images.

[0008] According to one aspect of the present disclosure, there is provided an image processing device, comprising: an image acquisition module, used to acquire an image to be processed; an image division module, used to determine a block parameter according to the image size and image complexity of the image to be processed, and divide the image to be processed into a plurality of first sub-images according to the block parameter; an image processing module, used to perform preset image processing on at least one of the first sub-images to obtain a second sub-image corresponding to the first sub-image; and an image combination module, used to obtain a target image by combining each of the second sub-images.

[0009] According to one aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform any one of the above-mentioned image processing methods by executing the executable instructions.

[0010] According to one aspect of the present disclosure, a computer program product is provided, including a computer program, wherein when the computer program is executed by a processor, the computer program implements any one of the above-mentioned image processing methods.

[0011] The exemplary embodiments of the present disclosure have the following beneficial effects:

[0012] In this exemplary embodiment, an image to be processed is acquired; a blocking parameter is determined according to the image size and image complexity of the image to be processed, and the image to be processed is divided into a plurality of first sub-images according to the blocking parameter; a preset image processing is performed on at least one first sub-image to obtain a second sub-image corresponding to the first sub-image; and a target image is obtained by combining the second sub-images. On the one hand, this exemplary embodiment proposes a new image processing method, wherein a blocking parameter can be determined according to the image size and image complexity of the image to be processed, and the image to be processed is divided into multiple first sub-images according to the blocking parameter, thereby ensuring that when the image to be processed is blocked, the image to be processed can be accurately blocked in combination with the characteristic information of the image to be processed itself, the image size and the image complexity. Compared with the prior art that uses a fixed and single method to divide sub-images, this exemplary embodiment has higher adaptability and pertinence to different images to be processed, and can perform more effective blocking according to different images to be processed; on the other hand, since this exemplary embodiment can divide the image to be processed according to the characteristic information of the image to be processed, the divided first sub-image has higher validity, and some image detail information is protected, so that when at least one first sub-image is processed to obtain a second sub-image, and the target image is obtained by combining the second sub-image, the integrity and validity of the image information in the target image can be further guaranteed.

[0013] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The accompanying drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification are used to explain the principles of the present disclosure. Obviously, the accompanying drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other accompanying drawings can be obtained based on these accompanying drawings without creative work.

[0015] Figure 1 A flowchart schematically illustrates an image processing method in this exemplary embodiment;

[0016] Figure 2 A schematic diagram of the module architecture of an image processing system in this exemplary embodiment is schematically shown;

[0017] Figure 3 A flowchart schematically illustrates another image processing method in this exemplary embodiment;

[0018] Figure 4 A schematic diagram of module interaction for image processing in this exemplary embodiment is schematically shown;

[0019] Figure 5 A block diagram schematically shows a structure of an image processing device in this exemplary embodiment;

[0020] Figure 6 An electronic device for implementing the above method in this exemplary embodiment is schematically shown. DETAILED DESCRIPTION

[0021] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that the disclosure will be more comprehensive and complete and to fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0022] The exemplary embodiment of the present disclosure first provides an image processing method. Figure 1 This exemplary embodiment is further described as follows. Figure 1 As shown, the image processing method may include the following steps S110 to S140:

[0023] Step S110, obtaining an image to be processed.

[0024] The image to be processed may be any image that needs to be processed, and the image types of the image to be processed may include multiple types, such as landscape images, character images, etc. This exemplary embodiment may obtain the image to be processed in multiple ways, such as real-time shooting of the image to be processed by a camera configured on a terminal device, that is, this exemplary embodiment may be applied to a user's terminal device, and the captured image may be processed accordingly during the user's image shooting process; or the image to be processed may also be obtained from an image library or downloaded from the network, for example, the user may use an image in a local album as the image to be processed, etc.

[0025] In an exemplary embodiment, the above-mentioned obtaining the image to be processed may include:

[0026] Obtain an original image, perform global processing on the original image, and obtain an intermediate image;

[0027] Perform local processing on the intermediate image to obtain the image to be processed.

[0028] The original image may be an initial image that has not been processed, and the exemplary embodiment may perform global processing and local processing on the original image. The global processing and local processing on the original image may be regarded as a process of preprocessing the original image to obtain an image to be processed, and the processing area may include an edge area, a smooth area, a texture area, an image detail area, and the like.

[0029] Global processing of the original image may be a comprehensive enhancement of the original image as a whole, such as adjusting image parameters, removing image noise, etc. The intermediate image refers to an image obtained after global enhancement processing of the original image. Based on the intermediate image, local enhancement processing may be further performed on the feature area therein. In this exemplary embodiment, global processing may be to retain edge features and perform smoothing processing on the overall smooth area, such as performing edge-preserving filtering processing on the original image to perform different processing processes on the smooth area and the edge area respectively; local processing may be to perform feature enhancement on the detail area, such as extracting a detail layer from the intermediate image and performing feature enhancement on the detail layer, etc., to improve the detail display of the image, etc.

[0030] In an exemplary embodiment, the above-mentioned global processing of the original image may include one or more of the following processing methods:

[0031] Perform image standardization on the original image;

[0032] Determine a contrast parameter, and use the contrast parameter to adjust the contrast of the original image;

[0033] Determine the blur parameter and use the blur parameter to perform noise suppression on the original image.

[0034] In this exemplary embodiment, performing image standardization processing on the original image may include converting the data format of the original image into a standard format, etc. A code example for performing image standardization processing on the original image is shown below:

[0035] ```Python

[0036] def normalize_image(self,image):

[0037] #Convert image data to standard format

[0038] normalized=torch.from_numpy(np.array(image).astype(np.float32) /

[0039]

[0040] The contrast parameter may be a measurement index of different brightness levels between the brightest white and the darkest black in the light and dark areas of the image, and may reflect the difference in brightness of the image. The greater the contrast, the greater the difference; the smaller the contrast, the smaller the difference. This exemplary embodiment may dynamically adjust the contrast parameter based on the statistical features of the calculated image, and apply the contrast parameter to achieve adaptive contrast enhancement of the image. Among them, the statistical features of the image may include the mean value, standard deviation, etc. of the pixel statistical index, and the statistical index may be the brightness parameter of the pixel, etc. This exemplary embodiment may determine a suitable contrast parameter for the statistical features of different images to perform contrast enhancement processing on the image. For example, for an image taken on a cloudy day, the mean value is about 100, which can be expressed as np.mean(image)=100, showing a dark effect, and the standard deviation is about 0.3, which can be expressed as np.std(image)=0.3. Based on the statistical features, the original contrast parameter of the image may be used as a benchmark, and implemented by the following formula: alpha=1.0+(0.2*(1.0-std_val)), beta=-mean_val*0.1, and the contrast parameter may be adaptively improved, and it may also be appropriate. Improve the overall brightness parameter, where alpha is the contrast adjustment factor and beta is the brightness adjustment factor. By applying the values ​​of alpha and beta, the contrast of the image can be enhanced. For example, for a portrait image taken against the light, the average value is about 150, which can be expressed as np.mean(image)=150, showing a brighter effect, and the standard deviation is about 0.9, which can be expressed as np.std(image)=0.9. Based on this statistical feature and in combination with the above formula, the corresponding alpha and beta can be calculated and applied. The contrast parameter can be adaptively reduced based on the original image, and the overall brightness parameter can also be appropriately reduced.

[0041] The following shows a code example for adjusting the contrast parameter:

[0042]

[0043]

[0044] The blur parameter may be parameter data for blur processing, for example, the blur parameter may be a blur kernel of a preset size, etc. This exemplary embodiment may determine the blur parameter according to actual needs, and use the blur parameter to perform noise suppression processing on the original image.

[0045] The following is a code example for noise reduction on an image:

[0046]

[0047] In an exemplary embodiment, the local processing of the feature area of ​​the intermediate image to obtain the image to be processed includes one or more of the following processing methods:

[0048] Perform edge-preserving filtering on the intermediate image;

[0049] A detail image layer is extracted from the intermediate image, and enhancement processing is performed on the detail image layer.

[0050] Among them, edge-preserving filtering is an image processing method that can reduce image noise while retaining the details of the image edge. Edge-preserving filtering for the intermediate image can achieve targeted processing effects based on the edge area and smooth area of ​​the intermediate image. Specifically, noise can be smoothed in the smooth area, and the clarity or sharpness of the edge can be maintained in the edge area. For example, when the bilateral filtering algorithm is used to process the face image, the smooth area of ​​the facial skin will be smoothed to present a soft effect, and the edge contours of the eyes, lips and other parts can be kept sharp. Bilateral filtering can determine the spatial weight based on the distance between the positions of different pixel points in the intermediate image, and determine the color weight based on the difference in pixel values ​​of different pixel points, and then realize bilateral filtering of the intermediate image according to the spatial weight and color weight. Among them, the smooth area refers to the area in the image where the pixel value changes slowly, that is, the low texture area, such as the skin area of ​​the face image, the sky area of ​​the landscape image, etc., and the edge area refers to the area where the pixel value changes rapidly, such as the contour area of ​​the eyes, lips and other parts in the face image.

[0051] The following is a code example for performing edge-preserving filtering on an intermediate image:

[0052]

[0053] A detail image layer refers to an image layer that can retain image details, which may include edge information and texture information. This exemplary embodiment can extract a detail image layer from an intermediate image by subtracting a blur layer from the intermediate image. Then, enhancement processing of different feature areas can be performed on the detail image layer. For example, while keeping the overall structure of the basic image layer unchanged, local feature enhancement is performed on the extracted detail image layer. Specifically, the edge area can be moderately enhanced to avoid excessive sharpening; the texture area can be significantly enhanced to improve detail performance; and the smooth area can be slightly enhanced to maintain a natural transition. For example, if the intermediate image is a landscape image, after the above processing, the texture of the leaf area will be enhanced, the edge of the building will become clearer, and the smooth area of ​​the sky will remain basically unchanged.

[0054] The following is a code example for enhancing the detail image layer of an intermediate image:

[0055] ```Python

[0056] def enhance_details(self,image):

[0057] """

[0058] Image detail enhancement

[0059] Use the Unsharp Mask algorithm

[0060] """

[0061] #Gaussian blur

[0062] blur=cv2.GaussianBlur(image,(0,0),3.0)

[0063] # Calculate the detail layer

[0064] detail=cv2.addWeighted(image,1.5,blur,-0.5,0)

[0065] #Detail Enhancement

[0066] enhanced=cv2.addWeighted(image,0.7,detail,0.3,0)

[0067] return enhanced

[0068] ```

[0069] Step S120, determining a block parameter according to the image size and image complexity of the image to be processed, and dividing the image to be processed into a plurality of first sub-images according to the block parameter.

[0070] Among them, the image size refers to an indicator used to reflect the size of the image to be processed, such as the pixel size of the image to be processed, which can be specifically length*width, area, or length+width, side length, etc. Image complexity refers to an indicator used to reflect the complexity of information such as color, texture, shape, content, etc. of the image to be processed. Image complexity can be obtained by extracting image features from the image, such as extracting color features, texture features, etc. from the image, and processing them using a pre-configured complexity evaluation network, or by an algorithm. The present disclosure does not make specific restrictions on this. Image complexity can be represented by a score or a numerical value between [0,1]. The higher the score or the larger the numerical value, the more complex the image. Block parameters can be parameters used to block the image to be processed, such as block size, number of blocks, block weight, overlap between two images of the blocks, etc. This exemplary embodiment can obtain the image size and image complexity of the image to be processed, and determine the block parameters according to the image size and image complexity, and further use the block parameters to divide the image to be processed into multiple first sub-images, which are local images after the image to be processed is blocked. In this exemplary embodiment, the sizes of multiple first sub-images can be the same, for example, the length and width of all divided first sub-images are consistent. The sizes of multiple first sub-images can also be different. For example, due to redundancy or insufficient area at the edge of the image to be processed, the divided first sub-images may be larger or smaller than the first sub-image in the middle. At this time, the first sub-images can be adjusted according to actual needs, such as supplementing pixels or adjusting pixels, etc., and the present disclosure does not make specific limitations on this.

[0071] In an exemplary embodiment, the above-mentioned block parameters include a block size and an overlap parameter; the above-mentioned determining the block parameters according to the image size and image complexity of the image to be processed, and dividing the image to be processed into a plurality of first sub-images according to the block parameters, includes:

[0072] Determine the block size according to the image size and image complexity of the image to be processed;

[0073] Determine the overlap parameter based on the block size and image complexity;

[0074] The image to be processed is divided into a plurality of first sub-images according to the block size and the overlap parameter.

[0075] The tile size refers to the size of the image block that is expected to be divided, that is, the size of the expected first sub-image. In this exemplary embodiment, the tile size can be represented by `tile_size. If tile_size=512, it can be represented that each tile image is a square of 512×512 pixels, and the area is `tile_size×tile_size` (for example, 512×512=262,144 pixels).

[0076] The overlap parameter refers to an overlap index of the overlap between two adjacent divided image blocks, such as the ratio of the overlap area and the number of pixels in the overlap area. In this exemplary embodiment, when there is an intersection between the two divided images, it is necessary to determine the overlap parameter, that is, when dividing multiple first sub-images, this exemplary embodiment can make a certain overlap area between different first sub-images, for example, the first sub-image in the middle can have an overlap area with any one or more of the first sub-images above, to the left, below, or to the right, and the size or ratio of the overlap area of ​​any two first sub-images can be the same or different, and the present disclosure does not limit this.

[0077] This exemplary embodiment may first determine the block size according to the image size and image complexity of the image to be processed, for example, the image size and image complexity are processed according to a preset formula or a trained model to obtain the block size, or the initial size is first determined according to the image size, and then the size is adjusted according to the image complexity to obtain the block size, etc. Then, the overlap parameter is determined according to the block size and image complexity, for example, the number of pixels in the overlap area may be determined according to the block size and image complexity, different areas may correspond to different image complexities, and the number of pixels in the overlap area may also be different.

[0078] After determining the block size and overlapping parameters of the image block to be divided, the image to be processed can be divided into multiple first sub-images according to the block size and overlapping parameters. For example, it is possible to start from a certain position, divide according to the block size and overlapping parameters, and then move the position and continue to divide to obtain multiple first sub-images in sequence. It is also possible to first determine and adjust the position to be divided in the image to be processed according to the block size and overlapping parameters, and then divide from the position to be divided to obtain multiple first sub-images, and the present disclosure does not make specific limitations on this.

[0079] In an exemplary embodiment, the above-mentioned determining the block size according to the image size and image complexity of the image to be processed may include:

[0080] Determine the basic block size according to the image size;

[0081] Adjust the basic block size according to the image complexity to obtain the block size;

[0082] The block size satisfies a preset multiple condition.

[0083] Among them, the basic block size can be the initial block size, that is, when the image to be processed needs to be initially divided into multiple sub-images, the size of the sub-image can be determined based on the image size and experience, or it can be calculated based on the image size. For example, the size of each sub-image, that is, the basic block size, is determined based on the image size of the image to be processed and the number of sub-images required.

[0084] The basic block size can be determined according to preset rules, specifically, the maximum block size, the minimum block size, and the calculation rule of the basic block size are set. For example, the minimum value of the basic block size is set to 256 pixels, and the maximum value of the basic block size is set to 1024 pixels. The calculation rule of the basic block size is to use 1 / 4 of the image size as the basic block size by default. For 8K images (7680×4320), when 1 / 4 of the image size is used as the basic block size, its value is 1920 pixels, which exceeds 1024 pixels. Therefore, the basic block size base_size=1024, for 4K images (3840×2160), the basic block size base_size=960, and for 2K images (1920×1080), the basic block size base_size=480.

[0085] In this exemplary embodiment, the image complexity can be represented by a value in the range of [0, 1]. The larger the value, the higher the complexity of the image. When the basic block size is adjusted by the image complexity, it can be adjusted according to a preset adjustment degree. Different image complexities can correspond to different preset adjustment degrees. The adjustment degree can also be regarded as an adjustment range for the basic block size. The adjustment range can be a preset number of times the original size, such as 1.0 times, 1.1 times or 1.2 times, etc. The adjustment range can also be an irregular adjustment ratio value, etc. That is, in this exemplary embodiment, in the process of adjusting the basic block size according to the image complexity to obtain the block size, the basic block size can be processed according to the image complexity and the adjustment degree corresponding to the image complexity to obtain the block size. For example, the image complexity is first determined, and then the adjustment degree corresponding to the image complexity is determined, and the adjusted image size is determined by the adjustment degree*basic block size. For example, when the basic block size base_size=512, when the complexity is 0.0, it means that the image complexity is not high, and the image complexity has little effect on the image blocking. The initial basic image blocking is relatively accurate, then the adjustment degree can be 1.0, and the adjusted block size tile_size=512, that is, the adjusted block size is equal to the initial basic block size; when the complexity is 0.5, it means that the image has a certain complexity at this time, which may affect the image blocking. Therefore, it is necessary to adjust it based on the basic block size. The adjustment degree can be a custom setting or a preset adjustment degree corresponding to the complexity of 0.5, such as 1.1, then the adjusted block size tile_size=563; when the complexity is 1.0, it means that the image complexity is high and the basic block size needs to be adjusted. The corresponding adjustment degree is 1.2, then the adjusted tile_size=614. It should be noted that the adjustment degrees corresponding to different image complexities may be the same or different. For example, for image complexities of 0.2 and 0.3, the same adjustment degree may be used considering that the difference is not large; or completely different adjustment degrees may be set for different image complexities. When different adjustment degrees are set for different image complexities, each adjustment degree may have a certain regularity. For example, for image complexities of 0.5, 0.6, and 0.7, an adjustment degree of 1.1, 1.11, and 1.12 may be set respectively. Of course, the adjustment degrees corresponding to the image complexities may not be related to each other, and the specific settings are not specifically limited in this disclosure.

[0086] In addition, considering multiple factors such as deep learning model architecture requirements, hardware optimization, actual impact, code implementation, and performance impact, the block size determined in this exemplary embodiment needs to meet preset multiple conditions, such as ensuring that the block size is a multiple of 8, such as the side length of the image block needs to be divisible by 8. Based on this, the efficiency and accuracy of the block can be improved to obtain the best performance.

[0087] The following shows a code example for determining the chunk size:

[0088]

[0089] In an exemplary embodiment, the overlap parameter includes the number of overlapped pixels; and the step of determining the overlap parameter according to the block size and the image complexity may include the following steps:

[0090] Get the first overlap ratio;

[0091] According to the image complexity of the image to be processed, adjusting the first overlapping ratio to obtain a second overlapping ratio;

[0092] The number of overlapping pixels between two adjacent first sub-images is calculated according to the block size and the second overlapping ratio.

[0093] When dividing the image to be processed into blocks, on the one hand, in order to ensure edge continuity, avoid sudden changes in block boundaries, retain the continuity of image features, and reduce traces of subsequent stitching; on the other hand, in order to protect feature integrity, prevent important features from being segmented, ensure texture continuity, and provide context information for subsequent image stitching, this exemplary embodiment can divide the image to be processed into blocks according to overlapping areas, and subsequently use the overlapping areas for image fusion to ensure that the final image stitching area can present a natural, gradual transition effect.

[0094] The first overlap ratio may refer to an initial overlap ratio, which may be set as needed or randomly. For example, the first overlap ratio base_overlap=0.1 may be set, indicating that the basic overlap ratio is 10%. The overlap ratio may refer to the ratio of the overlap area between adjacent sub-images to the size of the divided image.

[0095] The second overlap ratio refers to the overlap ratio obtained by adjusting the initial overlap ratio based on the image complexity, which can be specifically obtained according to the following formula: overlap_ratio = base_overlap*(1+content_complexity), where overlap_ratio represents the second overlap ratio, base_overlap represents the first overlap ratio, and content_complexity represents the image complexity. According to the adjusted second overlap ratio and the block size, the number of overlapping pixels between the two overlapping first sub-images can be calculated, which can be specifically determined by the following formula: overlap_size = int(tile_size*overlap_ratio), where overlap_size represents the number of overlapping pixels, tile_size represents the image size, and overlap_ratio represents the second overlap ratio. The image is further divided into blocks based on the number of overlapping pixels, that is, the sub-image is divided. For example, assuming that the image size tile_size = 512, the image complexity = 0.0, the second overlap ratio = 0.1 (10%), the number of overlapping pixels = 51 pixels; the image complexity = 0.5, the second overlap ratio = 0.15 (15%), the number of overlapping pixels = 77 pixels; the image complexity = 1.0, the second overlap ratio = 0.2 (20%), the number of overlapping pixels = 102 pixels. In addition, in this exemplary embodiment, the calculated number of overlapping pixels can meet the preset multiple condition, for example, the number of overlapping pixels is a multiple of 8.

[0096] When using overlapping areas for image segmentation, a small overlap ratio, such as 10%, is more suitable for simple texture areas, which can reduce computing resources and provide sufficient transition space. A large overlap ratio, such as 20%, is suitable for complex feature areas, which can provide more contextual information and provide better feature guarantees.

[0097] It should be noted that when the first sub-image generates an overlapping area with multiple adjacent first sub-images in the upper, lower, left and right directions, the overlapping ratios can be calculated separately. The multi-directional independent overlapping calculation method can better adapt to the feature changes of the image in different directions and provide more accurate processing effects.

[0098] The following shows a code example for calculating the number of overlapping pixels between two adjacent first sub-images:

[0099]

[0100]

[0101] Further, the following is a code example for performing block segmentation on the image to be processed:

[0102]

[0103]

[0104] Step S130: performing preset image processing on at least one first sub-image to obtain a second sub-image corresponding to the first sub-image.

[0105] The preset image processing may be any type of image processing. For example, when a neural network is used to perform object recognition, image denoising, image redrawing, image reconstruction, super-resolution reconstruction, and other image processing on an image, at least one first sub-image may be processed as input data of the neural network to obtain a processed second sub-image. Performing the preset image processing on at least one first sub-image may be processing all of the first sub-images or processing part of the first sub-images. If the first sub-image is subjected to the preset image processing, the processed image may be used as the second sub-image. If the first sub-image is not subjected to the preset image processing, the first sub-image may be directly used as the second sub-image.

[0106] Step S140, obtaining a target image by combining the second sub-images.

[0107] Finally, the obtained multiple second sub-images can be combined to obtain the target image. The multiple second sub-images can be combined by directly splicing the second sub-images according to the positions of the corresponding first sub-images. When there are overlapping areas between adjacent first sub-images, it means that there may also be overlapping areas between adjacent second sub-images. Then, the adjacent second sub-images can be fused by fusion of the overlapping areas.

[0108] In an exemplary embodiment, obtaining the target image by combining the second sub-images may include:

[0109] Extracting local features from the second sub-image; the local features include at least one of point features, line features, and local area features;

[0110] Determining the combined positions of the different second sub-images by matching the local features of the different second sub-images;

[0111] The second sub-images are combined according to the combined positions to obtain a target image.

[0112] Among them, the local features may include multi-dimensional features, such as at least one of point features, line features, and local area features. Specifically, the local features may be represented by a descriptor, such as a SIFT (Scale-Invariant Feature Transform) descriptor. In this exemplary embodiment, the combination position between different second sub-images may be determined by matching the local features between different second sub-images, and then the second sub-images are combined according to the combination position to obtain the target image. For example, in the image segmentation stage, there is an overlapping area between two adjacent first sub-images, and there is a matching relationship between some features of the two first sub-images in the overlapping area. After the preset image processing is performed, the corresponding second sub-images may be recombined by finding such a matching relationship. For example, according to the matching result of the local features, the position of the same or similar features in the two different second sub-images is determined. The position may be the combination position for subsequent image fusion. The second sub-images are combined according to the combination position, that is, different second sub-images are fused according to the combination position of the matched local features to obtain the target image.

[0113] In this exemplary embodiment, a multi-scale feature extraction method may be used to extract local features from the second sub-image. A code example for extracting local features is shown below:

[0114]

[0115]

[0116] In an exemplary embodiment, there is an overlapping area between at least one group of adjacent second sub-images; and combining the second sub-images according to the combined positions to obtain the target image may include:

[0117] When combining the second sub-images, for the overlapping area, according to the overlapping direction and according to the positions of the pixels of the overlapping area along the overlapping direction, the fusion weight of the pixels is determined, and the two adjacent second sub-images corresponding to the overlapping area are fused according to the fusion weight.

[0118] In this exemplary implementation, when there is an overlapping area between at least one group of adjacent second sub-images, different fusion weights can be configured for the pixels in the overlapping area. Specifically, for the overlapping area, the fusion weights of the pixels can be determined according to the overlapping direction and according to the positions of the pixels in the overlapping area along the overlapping direction, wherein the overlapping direction can be a horizontal direction or a vertical direction, and the fusion directions of the sub-images may be different in the horizontal and vertical directions. For example, when the overlapping direction is a horizontal direction, the two left and right adjacent second sub-images are fused, the left second sub-image is fused to the right, and the right second sub-image is fused to the left. The fusion weights of the pixels determined according to the overlapping direction and according to the positions of the pixels in the overlapping area along the overlapping direction are related to the positions in the overlapping direction, and can be increased or decreased according to the changes in the positions in the overlapping direction, while the fusion weights in the non-overlapping direction remain unchanged. For example For example, when the overlapping direction is horizontal, in the overlapping area, the fusion weight of the pixels in the horizontal direction changes linearly from 0 to 1, while in the vertical direction, that is, the fusion weight of the pixels in the same column is the same. In the overlapping area, the fusion weight of the pixels of the second sub-image on the left may be gradually reduced from 1 to 0 from left to right, while the fusion weight of the pixels of the second sub-image on the right may be gradually increased from 0 to 1 from left to right, etc. For example, fusion pixel 1 = left second sub-image pixel *a1 + right second sub-image pixel *b1, fusion pixel 2 = left second sub-image pixel *a2 + right second sub-image pixel *b2, where fusion pixel 1 is on the left side of fusion pixel 2, a1 and a2 are the fusion weights of the pixels of the second sub-image on the left, and their value range is [0,1], and a1>a2, b1 and b2 are the fusion weights of the pixels of the second sub-image on the right, and their value range is [0,1], and b1<b2. Based on the above implementation, different fusion weights can be determined for the pixels in the overlapping area according to their different locations, further ensuring that the pixels in the overlapping area can smoothly transition from one second sub-image to another adjacent second sub-image after fusion.

[0119] The following shows a code example for calculating fusion weights:

[0120]

[0121] Among them, weights represents the fusion weight, and horizontal represents the horizontal direction, that is, this exemplary embodiment can calculate the fusion weight of the pixel point i for image fusion in the horizontal direction, and can also calculate the fusion weight of the pixel point i for image fusion in the vertical direction.

[0122] The following shows a code example for performing image fusion:

[0123]

[0124] Among them, this exemplary embodiment can use a gradient mask when fusing images. The gradient mask is a tool for achieving smooth transition in the image fusion process, which can achieve seamless splicing by creating a gradient weight distribution in the overlapping area.

[0125] Gradient masks can be created in many ways, such as linear gradient, which usually uses linear gradient from 0 to 1 or from 1 to 0; direction control, which creates a corresponding gradient mask according to the direction of the overlapping area (horizontal or vertical). In practical applications, a horizontal mask can create a horizontal gradient mask in the horizontal overlapping area; a vertical mask can create a vertical gradient mask in the vertical overlapping area.

[0126] In an exemplary embodiment, the above image processing method may further include:

[0127] Calculate the gradient amplitude of the fusion area, and evaluate the fusion quality of the fusion area according to the gradient amplitude to obtain the fusion quality evaluation result;

[0128] According to the fusion quality evaluation result, the fusion parameters are optimized to adjust the fusion of two adjacent second sub-images corresponding to the overlapping area based on the optimized fusion parameters; the fusion parameters at least include parameters for controlling the fusion weights.

[0129] In order to ensure the fusion effect, this exemplary embodiment may evaluate the fusion quality of the fusion area, wherein the fusion area refers to the area where the image fusion is actually performed. In an exemplary embodiment, the fusion area may be the above-mentioned overlapping area.

[0130] The fusion quality can be obtained by evaluating the discontinuity of the fusion area. Specifically, the gradient of the fusion area can be calculated first, and then the gradient amplitude can be calculated. Further, the discontinuity can be determined according to the gradient amplitude. When the discontinuity is large, it means that the fusion quality is low. When the discontinuity is small, it means that the fusion quality is high.

[0131] The following is a code example for evaluating the fusion quality:

[0132]

[0133]

[0134] Furthermore, the fusion parameters can be optimized according to the fusion quality evaluation result, so as to adjust the fusion of the two adjacent second sub-images corresponding to the overlapping area based on the optimized fusion parameters. The fusion parameters refer to the parameters used to control the fusion of the two adjacent second sub-images, and the fusion parameters at least include the parameters used to control the fusion weights. For example, the fusion parameters can be directly the fusion weights, and the fusion of the pixels in the overlapping area can be adjusted according to the optimized fusion weights. The fusion parameters can also be fusion weight control parameters, and the fusion weights of the pixels in the overlapping area can be adjusted according to the optimized fusion parameters, and the adjusted fusion weights are used to fuse the images. In addition, the fusion parameters can also include parameters for controlling the size of the overlapping area, fusion degree thresholds, fusion methods, and the like.

[0135] In this exemplary embodiment, the fusion quality assessment result can be characterized by a score, where a higher score indicates a higher fusion quality. One or more preset thresholds or quality score ranges can also be set to determine the classification of the fusion quality. When the fusion quality assessment result indicates that the fusion quality is low, the fusion of the two second sub-images can be adjusted by adjusting the fusion parameters.

[0136] The following is a code example for optimizing fusion parameters:

[0137]

[0138]

[0139] Among them, initial_params represents the fusion parameters before optimization, and best_params represents the fusion parameters after optimization. This exemplary embodiment can determine whether it is necessary to optimize the fusion parameters by judging the fusion quality. When optimizing the fusion parameters, it can traverse or search in the parameter range, and determine whether to stop searching for the optimal parameters based on whether the quality score after applying the parameters is greater than best_score, and use the searched optimal parameters as the optimized fusion parameters.

[0140] Based on the above description, in this exemplary embodiment, an image to be processed is obtained; a blocking parameter is determined according to the image size and image complexity of the image to be processed, and the image to be processed is divided into multiple first sub-images according to the blocking parameter; a preset image processing is performed on at least one first sub-image to obtain a second sub-image corresponding to the first sub-image; and a target image is obtained by combining the second sub-images. On the one hand, this exemplary embodiment proposes a new image processing method, wherein a blocking parameter can be determined according to the image size and image complexity of the image to be processed, and the image to be processed is divided into multiple first sub-images according to the blocking parameter, thereby ensuring that when the image to be processed is blocked, the image to be processed can be accurately blocked in combination with the characteristic information of the image to be processed itself, the image size and the image complexity. Compared with the prior art that uses a fixed and single method to divide sub-images, this exemplary embodiment has higher adaptability and pertinence to different images to be processed, and can perform more effective blocking according to different images to be processed; on the other hand, since this exemplary embodiment can divide the image to be processed according to the characteristic information of the image to be processed, the divided first sub-image has higher validity, and some image detail information is protected, so that when at least one first sub-image is processed to obtain a second sub-image, and the target image is obtained by combining the second sub-image, the integrity and validity of the image information in the target image can be further guaranteed.

[0141] Figure 2 A schematic diagram of the module architecture of an image processing system 200 in this exemplary embodiment is shown, which may specifically include a preprocessing module 210, including an image enhancement unit 211, a noise suppression unit 212, and a feature enhancement unit 213, which are respectively used to perform image enhancement, noise suppression, feature enhancement and other processing on the image to be processed; a block processing module 220, including a block strategy determination unit 221, which is used to determine the block strategy, such as determining the block parameters, and a block processing unit 222, which is used to perform block processing, such as dividing the image to be processed into multiple first sub-images according to the block parameters; a fusion control module 230, including a feature matching unit 231, which is used to extract local features from the second sub-image; the local features include at least one of point features, line features, and local area features; by matching the local features between different second sub-images, determining the combination position between different second sub-images; combining the second sub-images according to the combination position to obtain the target image; and a quality control unit 232, which is used to evaluate the fusion quality of the fusion area to optimize the fusion parameters.

[0142] Figure 3 A flowchart of another image processing method in this exemplary embodiment is shown, which may specifically include the following steps S310-390:

[0143] Step S310, obtaining an original image, performing global processing on the original image, and obtaining an intermediate image;

[0144] Step S320, performing local processing on the intermediate image to obtain an image to be processed;

[0145] Step S330, determining the block size according to the image size and image complexity of the image to be processed;

[0146] Step S340, determining an overlap parameter according to the block size and the image complexity;

[0147] Step S350, dividing the image to be processed into a plurality of first sub-images according to the block size and the overlap parameter;

[0148] Step S360, extracting local features from the second sub-image; the local features include at least one of point features, line features, and local area features;

[0149] Step S370, determining the combined positions of different second sub-images by matching local features between different second sub-images;

[0150] Step S380, combining the second sub-images according to the combined positions to obtain a target image;

[0151] Step S390, evaluating the fusion quality of the fusion area, and outputting the target image when the fusion quality meets the preset conditions.

[0152] The fusion quality evaluation result, such as the evaluation score, can be obtained by evaluating the fusion quality. When the fusion quality meets the preset condition, the evaluation score can reach the preset score threshold, indicating that the fusion quality is high, and the target image can be output.

[0153] Figure 4 A schematic diagram of the module interaction of an image processing in this exemplary embodiment is shown, which may specifically include a pre-processing module 410, including an image enhancement unit 411, a noise suppression unit 412, and a feature enhancement unit 413; a block processing module 420, including a block parameter determination unit 421, an overlap parameter determination unit 422, and a block processing execution unit 423; a fusion control module 430, including a feature matching unit 431, a fusion weight calculation unit 432, and a fusion quality assessment unit 433; a resource scheduling and memory management module 440, including a memory allocation unit 441, a resource recovery unit 442, and a cache management unit 443; a parallel processing control module 450, including a task distribution unit 451, a load balancing unit 452, and a synchronization control unit 453.

[0154] In this exemplary embodiment, the resource scheduling and memory management module 440 can implement memory allocation, resource recovery and cache management for any one or more of the preprocessing module 410, the block processing module 420, and the fusion control module 430; the parallel processing control module 450 can implement task distribution, load balancing, and synchronization control for any one or more of the preprocessing module 410, the block processing module 420, and the fusion control module 430.

[0155] The exemplary embodiments of the present disclosure also provide an image processing device. Figure 5 The device 500 may include an image acquisition module 510, used to acquire an image to be processed; an image division module 520, used to determine a block parameter according to the image size and image complexity of the image to be processed, and divide the image to be processed into a plurality of first sub-images according to the block parameter; an image processing module 530, used to perform a preset image processing on at least one first sub-image to obtain a second sub-image corresponding to the first sub-image; and an image combination module 540, used to obtain a target image by combining each second sub-image.

[0156] In an exemplary embodiment, the image acquisition module 510 includes: a global processing unit for acquiring an original image, performing global processing on the original image, and obtaining an intermediate image; and a local processing unit for performing local processing on the intermediate image to obtain an image to be processed.

[0157] In an exemplary embodiment, the global processing unit is configured to be implemented by one or more of the following units: a standardization unit for performing image standardization processing on the original image; a contrast adjustment unit for determining contrast parameters and adjusting the contrast of the original image using the contrast parameters; a noise suppression unit for determining blur parameters and performing noise suppression processing on the original image using the blur parameters.

[0158] In an exemplary embodiment, the local processing unit is configured to be implemented by one or more of the following units: a filtering unit for performing edge-preserving filtering on the intermediate image; a detail enhancement unit for extracting a detail image layer from the intermediate image and performing enhancement processing on the detail image layer.

[0159] In an exemplary embodiment, the block parameters include block size and overlap parameters; the image division module 520 includes: a block size determination unit, used to determine the block size according to the image size and image complexity of the image to be processed; an overlap parameter determination unit, used to determine the overlap parameter according to the block size and image complexity; a sub-image division unit, used to divide the image to be processed into multiple first sub-images according to the block size and the overlap parameter.

[0160] In an exemplary embodiment, the block size determination unit includes: a basic size determination subunit, used to determine the basic block size according to the image size; a size adjustment subunit, used to adjust the basic block size according to the image complexity to obtain the block size; wherein the block size meets a preset multiple condition.

[0161] In an exemplary embodiment, the overlap parameter includes the number of overlapping pixels; the overlap parameter determination unit includes: a first ratio determination subunit, used to obtain a first overlap ratio; a second ratio determination subunit, used to adjust the first overlap ratio according to the image complexity of the image to be processed to obtain a second overlap ratio; an overlapping pixel number determination subunit, used to calculate the number of overlapping pixels between two adjacent first sub-images according to the block size and the second overlap ratio.

[0162] In an exemplary embodiment, the image combination module 540 includes: a feature extraction unit, used to extract local features from the second sub-image; the local features include at least one of point features, line features, and local area features; a feature matching unit, used to determine the combination position between different second sub-images by matching the local features between different second sub-images; and an image combination unit, used to combine the second sub-images according to the combination position to obtain a target image.

[0163] In an exemplary embodiment, there is an overlapping area between at least one group of adjacent second sub-images; the image combination unit includes: an image combination sub-unit, which is used to determine the fusion weight of the pixel points in the overlapping area according to the overlapping direction and the position of the pixel points in the overlapping area along the overlapping direction when combining the respective second sub-images, and fuse the two adjacent second sub-images corresponding to the overlapping area according to the fusion weight.

[0164] In an exemplary embodiment, the image processing device may also include: a quality assessment unit, used to calculate the gradient amplitude of the fusion area, and evaluate the fusion quality of the fusion area according to the gradient amplitude to obtain a fusion quality assessment result; a fusion adjustment unit, used to optimize the fusion parameters according to the fusion quality assessment result, so as to adjust the fusion of two adjacent second sub-images corresponding to the overlapping area based on the optimized fusion parameters; wherein the fusion parameters at least include parameters for controlling the fusion weight.

[0165] The specific details of each part of the above-mentioned device have been described in detail in the implementation method of the method part. The undisclosed details can be found in the implementation method of the method part, so they will not be repeated here.

[0166] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the exemplary embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.

[0167] The exemplary embodiments of the present disclosure also provide a computer program product, which includes a computer program, and when the computer program is executed by a processor, the image processing method is implemented.

[0168] In one embodiment, the computer program product may be a tangible product containing a computer program, such as a computer-readable storage medium storing a computer program. The readable storage medium may be a storage medium based on electrical, magnetic, optical, electromagnetic, infrared, or other signals, including but not limited to: random access memory (RAM), read-only memory (ROM), magnetic tape, floppy disk, flash memory (Flash), mechanical hard disk (HDD), solid-state drive (SSD), and the like. Exemplarily, the computer program product may be implemented as a non-volatile storage medium storing a computer program, such as a read-only memory, a NAND flash memory, and the like.

[0169] In one embodiment, the computer program product may be an intangible product including a computer program. Exemplarily, the computer program product may be implemented as a virtual digital product, such as a digital file storing an executable file, an installation package, etc. of the computer program.

[0170] The code of the computer program can be written in one or more programming languages. Programming languages ​​such as C language, Java, C++, etc. The program code can be executed entirely on the user computing device, or partially on the user computing device, or as a separate software package, or partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, such as a local area network (LAN), a wide area network (WAN), etc., or can be connected to an external computing device (e.g., an Internet connection provided by an operator).

[0171] The computer program may be carried or transmitted via electrical, magnetic, optical, electromagnetic, infrared, or other signals. The electronic device may convert the signal carrying the computer program into a digital signal, thereby running the computer program. When the computer program is run on an electronic device, its code is used to enable the electronic device to execute (more specifically, the processor of the electronic device may execute) the method steps of various exemplary embodiments of the present disclosure, such as the above-mentioned image processing method.

[0172] The exemplary embodiment of the present disclosure also provides an electronic device. The electronic device may include a processor and a memory. The memory stores executable instructions of the processor, such as program code. The processor executes the method in the exemplary embodiment by executing the executable instructions. In addition, the electronic device may also include a display for displaying a graphical user interface.

[0173] Reference below Figure 6 , the electronic device is exemplarily described in the form of a general-purpose computing device. It should be understood that Figure 6 The electronic device 600 shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0174] like Figure 6 As shown, the electronic device 600 may include: a processor 610 , a memory 620 , a bus 630 , an I / O (input / output) interface 640 , a network adapter 650 , and a display 660 .

[0175] The memory 620 may include a volatile memory, such as a RAM 621, a cache unit 622, and may also include a non-volatile memory, such as a ROM 623. The memory 620 may also include one or more program modules 624, such program modules 624 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or a combination thereof may include the implementation of a network environment. For example, the program module 624 may include each module in the above-mentioned device.

[0176] The processor 610 may include one or more processing units. For example, the processor 610 may include an AP (Application Processor), a modem processor, a GPU (Graphics Processing Unit), an ISP (Image Signal Processor), a controller, an encoder, a decoder, a DSP (Digital Signal Processor), a baseband processor and / or an NPU (Neural-Network Processing Unit), etc.

[0177] The processor 610 may be used to execute executable instructions stored in the memory 620, such as executing the above-mentioned image processing method.

[0178] The bus 630 is used to realize the connection between different components of the electronic device 600, and may include a data bus, an address bus, and a control bus.

[0179] The electronic device 600 can communicate with one or more external devices 700 (eg, a keyboard, a mouse, an external controller, etc.) through the I / O interface 640 .

[0180] The electronic device 600 can communicate with one or more networks through the network adapter 650. For example, the network adapter 650 can provide mobile communication solutions such as 3G / 4G / 5G, or provide wireless communication solutions such as wireless LAN, Bluetooth, near field communication, etc. The network adapter 650 can communicate with other modules of the electronic device 600 through the bus 630.

[0181] The electronic device 600 can display a graphical user interface through the display 660, such as displaying a game editing scene.

[0182] although Figure 6 Not shown, other hardware and / or software modules may also be provided in the electronic device 600, including but not limited to: a display, a microcode, a device driver, a redundant processor, an external disk drive array, a RAID system, a tape drive, and a data backup storage system.

[0183] As can be seen from the above, the technical solution of the present disclosure can be implemented as a method, an apparatus, a system, a computer program product, a storage medium, an electronic device, etc. Those skilled in the art can understand that various aspects of the present disclosure can be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or an implementation combining hardware and software, such as being respectively referred to as a "circuit", "module" or "system".

[0184] It should be understood that the present disclosure is not limited to the specific method steps or structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from the scope thereof. Those skilled in the art will easily think of other embodiments based on the specific embodiments provided by the present disclosure. Therefore, the specific embodiments provided by the present disclosure are only exemplary, and the scope and spirit of the present disclosure are indicated by the claims, and any variations, uses or adaptive changes of the present disclosure should be covered, which follow the general principles of the present disclosure and include common knowledge or customary technical means in the technical field that are not disclosed in the present disclosure.

[0185] It will be appreciated by those skilled in the art that various aspects of the present disclosure may be implemented as a system, method or program product. Therefore, various aspects of the present disclosure may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or an implementation combining hardware and software aspects, which may be collectively referred to herein as a "circuit", "module" or "system". Those skilled in the art will readily think of other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any variations, uses or adaptive changes of the present disclosure, which follow the general principles of the present disclosure and include common knowledge or customary technical means in the art that are not disclosed in the present disclosure. The specification and implementation are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the claims.

[0186] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims

1. An image processing method, characterized in that: include: Get the image to be processed; Determining a block parameter according to the image size and image complexity of the image to be processed, and dividing the image to be processed into a plurality of first sub-images according to the block parameter; Performing preset image processing on at least one of the first sub-images to obtain a second sub-image corresponding to the first sub-image; By combining the second sub-images, a target image is obtained.

2. The method according to claim 1, characterized in that: The step of obtaining the image to be processed comprises: Acquire an original image, and perform global processing on the original image to obtain an intermediate image; The intermediate image is locally processed to obtain the image to be processed.

3. The method according to claim 2, characterized in that The globally processing the original image includes one or more of the following processing methods: Performing image standardization processing on the original image; Determining a contrast parameter, and adjusting the contrast of the original image using the contrast parameter; A blur parameter is determined, and noise suppression processing is performed on the original image using the blur parameter.

4. The method according to claim 2, characterized in that: The locally processing the feature area of ​​the intermediate image to obtain the image to be processed includes one or more of the following processing methods: Performing edge-preserving filtering on the intermediate image; A detail image layer is extracted from the intermediate image, and enhancement processing is performed on the detail image layer.

5. The method according to claim 1, characterized in that The block parameters include a block size and an overlap parameter; the block parameters are determined according to the image size and image complexity of the image to be processed, and the image to be processed is divided into a plurality of first sub-images according to the block parameters, including: Determine the block size according to the image size and image complexity of the image to be processed; Determining an overlap parameter according to the block size and the image complexity; The image to be processed is divided into a plurality of first sub-images according to the block size and the overlap parameter.

6. The method according to claim 5, characterized in that The determining of the block size according to the image size and image complexity of the image to be processed includes: Determine a basic block size according to the image size; Adjust the basic block size according to the image complexity to obtain the block size; Wherein, the block size meets a preset multiple condition.

7. The method according to claim 5, characterized in that The overlapping parameter includes the number of overlapping pixels; and determining the overlapping parameter according to the block size and the image complexity includes: Get the first overlap ratio; According to the image complexity of the image to be processed, adjusting the first overlapping ratio to obtain a second overlapping ratio; The number of overlapping pixels between two adjacent first sub-images is calculated according to the block size and the second overlapping ratio.

8. The method according to claim 1, characterized in that: The step of obtaining a target image by combining the second sub-images comprises: Extracting local features from the second sub-image; the local features include at least one of point features, line features, and local area features; Determining the combined positions of the different second sub-images by matching the local features of the different second sub-images; The second sub-images are combined according to the combined positions to obtain a target image.

9. The method according to claim 8, characterized in that There is an overlapping area between at least one group of adjacent second sub-images; and combining the second sub-images according to the combined positions to obtain a target image includes: When combining each of the second sub-images, for the overlapping area, the fusion weight of the pixel points is determined according to the overlapping direction and according to the positions of the pixel points of the overlapping area along the overlapping direction, and the two adjacent second sub-images corresponding to the overlapping area are fused according to the fusion weight.

10. The method according to claim 9, characterized in that The method further comprises: Calculating the gradient amplitude of the fusion area, and evaluating the fusion quality of the fusion area according to the gradient amplitude to obtain a fusion quality evaluation result; According to the fusion quality evaluation result, the fusion parameters are optimized to adjust the fusion of the two adjacent second sub-images corresponding to the overlapping area based on the optimized fusion parameters; wherein the fusion parameters at least include parameters for controlling the fusion weights.

11. An image processing device, characterized in that: include: An image acquisition module, used for acquiring an image to be processed; An image division module, used for determining a block parameter according to the image size and image complexity of the image to be processed, and dividing the image to be processed into a plurality of first sub-images according to the block parameter; an image processing module, configured to perform preset image processing on at least one of the first sub-images to obtain a second sub-image corresponding to the first sub-image; The image combining module is used to obtain a target image by combining each of the second sub-images.

12. An electronic device, characterized in that: include: processor; as well as A memory, configured to store executable instructions of the processor; Wherein, the processor is configured to perform the image processing method according to any one of claims 1 to 10 by executing the executable instructions.

13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the image processing method according to any one of claims 1 to 10 is implemented.