Image search method and apparatus, and product, device and medium
By using multiple search directions in the image to search the contour in parallel and using the indication data to skip repeated searches, the problem of inefficient contour search in the prior art is solved, and more efficient and complete contour search is achieved.
Patent Information
- Application Number
- PCT/CN2024/117432
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-28
- Filing Date
- 2024-09-06
- Publication Date
- 2025-04-03
AI Technical Summary
The prior art is inefficient in contour search in images, especially when the image is larger or more contours.
Multiple search directions are used to search the outlines in the image in parallel, and skip the outlines that have been searched in other search directions by indicating the data to avoid repeated searches.
The efficiency of contour search in the image is significantly improved, repeated searches for the same contour are avoided, and the integrity and consistency of the search is ensured.
Smart Images

Figure CN2024117432_03042025_PF_FP_ABST
Abstract
Description
Image search method, device, product, equipment and medium
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on September 28, 2023, with application number 2023112952527 and application name “Image Search Method, Device, Product, Equipment and Medium”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the technical field of image processing, and in particular to an image search method, apparatus, product, device and medium. Background Art
[0003] In many scenarios, it is usually necessary to search for contours contained in an image, so that the corresponding object (ie, target) to which the contour belongs in the image can be quickly located through the searched contours.
[0004] In existing applications, contour search is usually performed on an image in a specified direction. When the image is large or contains many contours, the efficiency of the contour search will be very low.
[0005] Summary of the Invention
[0006] The present application provides an image search method, apparatus, product, device, and medium that can improve the efficiency of searching for contours in a target image.
[0007] On one hand, the present application provides an image search method, the method comprising:
[0008] Perform contour search on the target image along N search directions, where N is an integer greater than 1;
[0009] In a process of searching for a target contour along a first search direction among N search directions, based on a search result of the target contour, generating indication data for each second search direction among the N search directions except the first search direction, the indication data being used to indicate the target contour in the contour search in the corresponding second search direction;
[0010] In the process of performing contour search on the target image along each second search direction, the contour search for the target contour is skipped in each second search direction based on the indication data.
[0011] In one aspect, the present application provides an image search device, comprising:
[0012] A search module, configured to perform contour search on a target image along N search directions, where N is an integer greater than 1;
[0013] an acquisition module configured to generate, based on a search result of the target contour, indication data for each second search direction other than the first search direction in the N search directions during a process of searching for the target contour along a first search direction among the N search directions, the indication data being used to indicate the target contour in the contour search in the corresponding second search direction;
[0014] The search module is further configured to skip the contour search of the target contour in each second search direction based on the indication data during the contour search of the target image along each second search direction.
[0015] In one aspect, the present application provides a computer device including a memory and a processor, wherein the memory stores a computer program. When the computer program is executed by the processor, the processor executes the method in one aspect of the present application.
[0016] In one aspect, the present application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor executes the method in the above aspect.
[0017] According to one aspect of the present application, a computer program product is provided, comprising a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the method provided in various optional embodiments such as the above-mentioned aspect.
[0018] The method proposed in the present application can simultaneously perform contour searches on a target image along multiple search directions (i.e., N search directions). Moreover, in the process of performing contour searches on a target image along the multiple search directions, corresponding indication information can be used in each search direction to skip the contour searches of contours (such as target contours) that have been searched in other search directions, so that the same contours in the target image will not be repeatedly searched in each search direction, thereby greatly improving the efficiency of searching for contours in the target image. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] FIG1 is a schematic diagram of a network architecture provided in an embodiment of the present application;
[0020] FIG2 is a schematic diagram of a contour search scenario provided by an embodiment of the present application;
[0021] FIG3 is a flow chart of an image search method provided in an embodiment of the present application;
[0022] FIG4a is a first structural diagram of a pixel neighborhood provided in an embodiment of the present application;
[0023] FIG4b is a second structural diagram of a pixel neighborhood provided in an embodiment of the present application;
[0024] FIG4c is a third structural diagram of a pixel neighborhood provided in an embodiment of the present application;
[0025] FIG5a is a first schematic diagram of a reverse contour search scenario provided by an embodiment of the present application;
[0026] FIG5 b is a second schematic diagram of a reverse contour search scenario provided by an embodiment of the present application;
[0027] FIG6a is a first schematic diagram of a scenario for determining a contour starting point according to an embodiment of the present application;
[0028] FIG6 b is a second schematic diagram of a scenario for determining a contour starting point provided by an embodiment of the present application;
[0029] FIG7 is a schematic diagram of an image segmentation scenario provided by an embodiment of the present application;
[0030] FIG8 is a schematic structural diagram of an image search device provided in an embodiment of the present application;
[0031] FIG9 is a schematic structural diagram of another image search device provided in an embodiment of the present application;
[0032] FIG10 is a schematic structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0033] First of all, it needs to be explained that all data collected in this application (such as target images for contour search and other related data) are collected with the consent and authorization of the object to which the data belongs (such as users, institutions or enterprises), and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions.
[0034] Please refer to Figure 1, which is a structural diagram of a network architecture provided by an embodiment of the present application. As shown in Figure 1, the network architecture may include a server 200 and a terminal device cluster. The terminal device cluster may include one or more terminal devices, and the number of terminal devices will not be restricted here. As shown in Figure 1, the multiple terminal devices may specifically include terminal device 1, terminal device 2, terminal device 3, ..., terminal device n; as shown in Figure 1, terminal device 1, terminal device 2, terminal device 3, ..., terminal device n can all be connected to the server 200 through a network connection, so that each terminal device can exchange data with the server 200 through the network connection.
[0035] The server 200 shown in Figure 1 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (content distribution network), and big data and artificial intelligence platforms. The terminal device can be a smart terminal such as a smartphone, tablet computer, laptop computer, desktop computer, smart TV, etc. The following takes the communication between the terminal device 1 and the server 200 as an example to describe the embodiment of the present application in detail.
[0036] Please also refer to Figure 2, which is a schematic diagram of a contour search scenario provided by an embodiment of the present application. A user can upload a target image to be contour-searched on terminal device 1, and then terminal device 1 can send the target image to server 200 to request server 200 to perform a contour search on the target image. The process of server 200 performing a contour search on the target image may include:
[0037] The server 200 can simultaneously perform contour searches on the target image along multiple search directions, such as the directions from top to bottom and from left to right (which may be referred to as reverse search directions), and the directions from bottom to top and from right to left (which may be referred to as forward search directions).
[0038] In which, in the process of performing a contour search on the target image along the reverse search direction, indication data of the contour searched along the reverse search direction (which can be recorded as index data 1) can be obtained, and the indication data 1 can be used to indicate the contour searched along the reverse search direction in the contour search in the forward search direction; and similarly, in the process of performing a contour search on the target image along the forward search direction, indication data of the contour searched along the forward search direction (which can be recorded as indication data 2) can be obtained, and the indication data 2 can be used to indicate the contour searched along the forward search direction in the contour search in the reverse search direction.
[0039] Furthermore, in the contour search in the reverse search direction, the search process for the contour indicated by the indication data 2 can be skipped (i.e., the search process for the contour that has been searched along the forward search direction is skipped), and in the contour search in the forward search direction, the search process for the contour indicated by the indication data 1 can be skipped (i.e., the search process for the contour that has been searched along the reverse search direction is skipped).
[0040] Through the above process, contour 1 and contour 2 in the target image can be searched along the reverse search direction, and contour 3 and contour 4 in the target image can be searched along the forward search direction. All contours in the target image may include contour 1 and contour 2 searched along the reverse search direction, and may include contour 3 and contour 4 searched along the forward search direction.
[0041] It can be understood that based on the different complexities and positions of the contours in the target image, the time spent searching for the corresponding contours along each search direction may be different. Therefore, the number of contours searched along different search directions may also be different. The specific number of contours searched in each search direction can be determined according to the actual application scenario and is not limited to this.
[0042] After searching for the contours in the target image, the server 200 can identify the searched contours in the target image and return the target image with the identified contours to the terminal device 1. The terminal device 1 can perform further business processing on the target image with the identified contours according to actual application requirements. For example, the image within the contour identified in the target image can be segmented to obtain a local image of the target image within the contour. The local image can belong to the foreground image segmented in the target image, and so on.
[0043] By adopting the method provided in the present application, contour searches can be performed on images simultaneously (in parallel) along multiple search directions. Moreover, in the process of simultaneously searching for contours of images along various search directions, indication data of the contours searched along various search directions can be obtained. Subsequently, based on the indication data, the search process for contours that have been searched in other search directions can be skipped in various search directions. Therefore, the efficiency of searching for contours in images can be greatly improved, so that various contours in the image can be quickly searched.
[0044] Please refer to Figure 3, which is a flow chart of an image search method provided in an embodiment of the present application. The execution subject in the embodiment of the present application can be an image search device, which can be a computer device or a computer device cluster composed of multiple computer devices. The computer device can be a server, a terminal device, or other devices, without limitation. As shown in Figure 3, the method may include:
[0045] Step S101 : performing contour search on a target image along N search directions, where N is an integer greater than 1.
[0046] Optionally, the N search directions may be set according to an actual application scenario, where N is an integer greater than 1, i.e., the N search directions are multiple search directions, and N is at least equal to 2. The N search directions are directions for performing contour searches in the target image. In other words, the N search directions are directions for searching for contours in the target image.
[0047] The image search device can obtain a target image, which can be any image that requires contour search. The specific image of the target image can be determined according to the actual application scenario. For example, the target image can be an image that requires foreground segmentation, and the foreground image in the target image (such as a local image of an object in the target image) can be segmented by the contour searched for the target image; for another example, the target image can be an image that requires target object (such as an object) detection, and the target object in the target image can be segmented by the contour searched for the target image; for another example, the target image can be an image that requires target area detection (such as the area of an organ in the medical field), and the image of the target area in the target image can be extracted by the contour searched for the target image. In other words, the process of contour search for the target image can be the process of searching for the contour of the object (such as any object or person) contained in the target image (such as the boundary of the overall shape of the object being outlined), and the object in the target image can be segmented (or divided) by the contour searched.
[0048] From the above, it can be understood that the present application can be applied to any scenario where contour search (or detection) of an image is required. The specific application scenario can be determined according to the actual application scenario and is not limited to this.
[0049] The image search device can simultaneously (i.e., synchronously, which can be understood as parallel) perform contour search on the target image along the above-mentioned N search directions to search for contours in the target image. In order to more accurately perform contour search on the target image, the target image can be binarized to obtain a binarized image of the target image (which can be called a binary image). The dimension of the binary image is the same as that of the target image, and the pixels in the target image and the binary image can correspond one-to-one (the pixel coordinates of the one-to-one corresponding pixels in the target image and the binary image can be the same), that is, a pixel in the target image after binarization is a pixel in the binary image.
[0050] As the name suggests, the range of pixel values in a binary image includes two pixel values: 0 and 1. 0 represents black, and 1 represents white. In other words, a binary image can be a black and white image. A pixel value in a binary image can be either 0 or 1. The pixel value 1 is referred to as the first pixel value, and the pixel value 0 is referred to as the second pixel value. The first pixel value is greater than the second pixel value. Therefore, the pixel value of each pixel in a binary image can be either the first pixel value or the second pixel value.
[0051] Therefore, the image search device performs contour search on the target image along N search directions, which may refer to performing contour search on the binary image of the target image along the N search directions. The contour search in each search direction may be performed independently.
[0052] Optionally, the above-mentioned N search directions may include a forward search direction and a reverse search direction, the reverse search direction may refer to a search direction for performing contour search on a binary image from left to right and from top to bottom, and the forward search direction may refer to a search direction for performing contour search on a binary image from right to left and from bottom to top.
[0053] In some possible implementations, the above-mentioned N search directions may also include other search directions, such as a search direction from left to right and from bottom to top, or / and a search direction from right to left and from top to bottom, etc., which can be determined based on the actual application scenario. Which search directions the N search directions specifically include can be determined based on the actual application scenario. No matter how many or which N search directions there are, the principle of processing between each two search directions is the same. Therefore, the following process of the present application can be illustrated by taking the above-mentioned N search directions including a forward search direction and a reverse search direction as an example, which can be specifically described as follows.
[0054] Step S102: In the process of searching for the target contour along the first search direction among N search directions, based on the search results of the target contour, indication data is generated for each second search direction among the N search directions except the first search direction, and the indication data is used to indicate the target contour in the contour search in the corresponding second search direction.
[0055] Optionally, the image search device may obtain indication data for contours found along each of the N search directions. Each time a contour is found along a search direction, indication data for the contour in other search directions may be generated in real time. It is understood that a contour found in one search direction may have corresponding indication data in each search direction other than that search direction. This indication data is used to indicate the contour found in the other search directions. For details, see the following description.
[0056] Any of the N search directions can be referred to as a first search direction, that is, the first search direction can be any of the N search directions. The following mainly uses the first search direction as an example to describe the relevant characteristics of performing a contour search along the search direction. It is understandable that since the first search direction can be any search direction, the contour search in each search direction can have the relevant characteristics described below for the contour search in the first search direction.
[0057] Any contour searched along the first search direction can be called a target contour. Since the principles of searching for each contour in each search direction are the same, the following will be specifically described using the search for the target contour in the first search direction as an example.
[0058] The contours searched along the first search direction may include contours that have not been searched in other search directions when the contours are searched in the first search direction.
[0059] In the present application, a pixel point in a binary image that meets the contour starting search conditions in each search direction can be searched along each search direction, and then the contour to which the pixel point is located (i.e., belongs) can be searched using the pixel point as the starting point. Here, the process of performing contour search on a binary image along a first search direction and obtaining a corresponding contour (e.g., a target contour) is described as an example. This process may include:
[0060] The image search device may sequentially search for pixels in the binary image along a first search direction. When a first pixel is found, a contour search may be performed based on the first pixel to obtain a contour containing the first pixel. The contour containing the first pixel may be referred to as a target contour, and the target contour may be any contour found along the first search direction.
[0061] Among them, the first pixel point can refer to a pixel point that meets the contour starting search conditions in the first search direction, and the first pixel point can be the first pixel point on the target contour searched along the first search direction that meets the contour starting search conditions in the first search direction. Therefore, the first pixel point can be called the contour starting point of the target contour in the first search direction.
[0062] First, it should be noted that all points on the contour have a pixel value of the first pixel value, that is, the contour may be composed of pixel points whose pixel values are all 1. The target contour may be a hole boundary type contour or an outer boundary type contour. The hole boundary type contour may refer to a contour whose internal pixel value is 0, and the outer boundary type contour may refer to a contour whose internal pixel value is 1 and whose adjacent external pixel value is 0.
[0063] Therefore, if the target contour is a hole boundary type contour (which may be referred to as a hole boundary contour), the pixel values of the pixels within the target contour may all be the second pixel value (i.e., pixel value 0). If the target contour is an outer boundary type contour (which may be referred to as an outer boundary contour), the pixel values of the pixels within the target contour may all be the first pixel value (i.e., pixel value 1), and the pixel values of the pixels adjacent to (immediately adjacent to) the target contour outside the target contour may be the second pixel value (i.e., pixel value 0).
[0064] Optionally, the first search direction may be the above-mentioned reverse search direction or the above-mentioned forward search direction. The reverse search direction may refer to searching each row of pixel points in the binary image from left to right and from top to bottom in turn to search for pixel points that meet the contour starting search conditions in the first search direction; and the forward search direction may refer to searching each row of pixel points in the binary image from right to left and from bottom to top in turn to search for pixel points that meet the contour starting search conditions in the first search direction.
[0065] In which, the above-mentioned first pixel point can be represented as (i, j), and the pixel value of the first pixel point can be represented as f(i, j), where i and i are both non-negative integers, i can be the vertical coordinate of the first pixel point in the binary image (such as the number of rows, which can be counted from 0 or 1), and j can be the horizontal coordinate of the first pixel point in the binary image (such as the number of columns, which can also be counted from 0 or 1).
[0066] Therefore, based on the above description of the hole boundary type contour and the outer boundary type contour, it can be understood that if the target contour is a hole boundary type and the first search direction is a reverse search direction, then the initial search condition for the contour in the first search direction that the first pixel point meets can be: f(i, j) equals the first pixel value, and f(i, j+1) equals the second pixel value. In other words, if it is necessary to search for a hole boundary type contour in the target image along the reverse search direction, then a pixel point can be searched in the binary image for a pixel point whose pixel value is 1 and the pixel point adjacent to the right has a pixel value of 0, and the contour search for the pixel point can be started from this pixel point.
[0067] If the target contour is a hole boundary type and the first search direction is the forward search direction, then the initial search condition for the contour in the first search direction that the first pixel meets can be: f(i, j) equals the first pixel value, and f(i, j-1) equals the second pixel value. In other words, if it is necessary to search for a hole boundary type contour in the target image along the forward search direction, then a pixel with a pixel value of 1 and a pixel value of 0 adjacent to the left of the pixel can be searched in the binary image, and the contour search for that pixel can be started from this pixel.
[0068] Furthermore, if the target contour is of an outer boundary type and the first search direction is a reverse search direction, the initial search condition for the contour in the first search direction that the first pixel meets can be: f(i, j) equals the first pixel value, and f(i, j-1) equals the second pixel value. In other words, if it is necessary to search for an outer boundary type contour in the target image along the reverse search direction, a pixel with a pixel value of 1 and a pixel value of 0 adjacent to the left of the pixel can be searched in the binary image, and the contour search for the pixel can be started from this pixel.
[0069] If the target contour is an outer boundary type and the first search direction is a forward search direction, then the initial search condition for the contour in the first search direction that the first pixel meets can be: f(i, j) equals the first pixel value, and f(i, j+1) equals the second pixel value. In other words, if it is necessary to search for an outer boundary type contour in the target image along the forward search direction, then a pixel point can be searched in the binary image for a pixel point whose pixel value is 1 and whose adjacent pixel point to the right has a pixel value of 0, and the contour search for that pixel point can be started from this pixel point.
[0070] Among them, f(i, j-1) can refer to the pixel value of the pixel point in the same row as the first pixel point and in the column to the left of the first pixel point, and f(i, j+1) can refer to the pixel value of the pixel point in the same row as the first pixel point and in the column to the right of the first pixel point.
[0071] Furthermore, when the image search device searches for the first pixel point according to the contour starting search condition in the first search direction, it may start contour searching based on the first pixel point to search for the target contour where the first pixel point is located. This process may include:
[0072] The image search device can search for multiple pixel points that are connected to each other and whose pixel values are all the first pixel value (i.e., pixel value 1) in a binary image starting from the first pixel point. Then, based on the first pixel point and the multiple pixel points obtained by searching from the first pixel point, the searched target contour can be determined. The target contour is composed of the first pixel point and the multiple pixel points obtained by searching from the first pixel point. The specific process can also be described in the following content.
[0073] To facilitate understanding of the specific process of contour search, the following first explains the meaning of the relevant coordinates involved in contour search through Table 1:
[0074] Table 1
[0075] If the first search direction is a reverse search direction, the process of searching along the reverse search direction to obtain the above-mentioned target contour may include: after searching for the starting point of the target contour in the first search direction (i.e., the first pixel point), the present application may first perform an initialization search based on the first pixel point and then perform a cyclic search. Each search in the cyclic search may search for a pixel point on the target contour. Ultimately, the first pixel point and the search results obtained in each search in the cyclic search may constitute the entire target contour that has been searched, as described below.
[0076] Search phase 1 for the target contour in the reverse search direction: Initialization search phase for the target contour in the reverse search direction.
[0077] The initialization search phase may be a phase of searching for a starting search base point (i1, j1). In which, the contour starting point (i.e., the first pixel point) on the target contour searched from the binary image along the first search direction can be represented as the above-mentioned contour starting point (i, j), and then, based on the contour starting point (i, j), the starting boundary point (i2, j2) for the target contour in the reverse search direction can be determined; specifically, if the outer boundary contour currently needs to be searched, the pixel point (i, j-1) in the binary image can be used as the starting boundary point (i2, j2), that is, the pixel point on the adjacent left side of the same row as the contour starting point (i, j) is used as the starting boundary point (i2, j2), and the pixel value of the pixel point (i, j-1) is 0; if the hole boundary contour currently needs to be searched, the pixel point (i, j+1) in the binary image can be used as the starting boundary point (i2, j2), that is, the pixel point on the adjacent right side of the same row as the contour starting point (i, j) is used as the starting boundary point (i2, j2), and the pixel value of the pixel point (i, j+1) is 0. Furthermore, the starting search base point (i1, j1) can be searched from the binary image through the contour starting point (i, j) and the starting boundary point (i2, j2). The starting search base point (i1, j1) can be used to find the reference point of the starting boundary point of the contour search when performing a subsequent reverse contour search (i.e., a contour search in the reverse search direction).
[0078] Among them, the specific process of determining the starting search base point (i1, j1) can include: starting from the starting boundary point (i2, j2) and searching for the starting search base point (i1, j1) in a clockwise direction in the neighborhood of the contour starting point (i, j); specifically, it can be centered on the contour starting point (i, j), starting from the starting boundary point (i2, j2) and rotating clockwise to find the first non-zero point in the neighborhood of the contour starting point (i, j), and use the first non-zero point as the starting search base point (i1, j1).
[0079] The aforementioned neighborhood is a fundamental structure in topological space, specifically a special interval centered around a pixel. A pixel's neighborhood can be used to reflect the adjacency properties between that pixel and its surrounding pixels; it is typically categorized into four-neighborhoods, eight-neighborhoods, and D-neighborhoods, depending on the nature of the adjacency.
[0080] Please refer to Figures 4a-4c, Figure 4a is a structural schematic diagram of a pixel point neighborhood provided in an embodiment of the present application, Figure 4b is a structural schematic diagram of a pixel point neighborhood provided in an embodiment of the present application, and Figure 4c is a structural schematic diagram of a pixel point neighborhood provided in an embodiment of the present application. First, as shown in Figure 4a, the pixel point P can be taken as the center point, and the four pixel points above (such as labeled 1), below (such as labeled 3), left (such as labeled 2) and right (such as labeled 0) that have an adjacent relationship with the center point are taken as the four-domain of the pixel point P.
[0081] As shown in Figure 4b, the pixel point P can also be taken as the center point, and the eight pixel points above (such as labeled 2), below (such as labeled 6), left (such as labeled 4), right (such as labeled 0), upper left (such as labeled 3), upper right (such as labeled 1), lower left (such as labeled 5) and lower right (such as labeled 7) that have an adjacent relationship with the center point are taken as the 8-neighborhood of the pixel point P.
[0082] Furthermore, as shown in FIG4c , the pixel point P can be taken as the center point, and the pixel points at the four diagonals of the upper left (such as labeled 3), upper right (such as labeled 1), lower left (such as labeled 5) and lower right (such as labeled 7) that have an adjacent relationship with the pixel point P can be taken as the D neighborhood of the pixel point P.
[0083] It should be noted that the image search method provided in the embodiment of the present application has wide versatility and can be applied to contour searches of any neighborhood including but not limited to 4-neighborhood, 8-neighborhood and D-neighborhood; the embodiment of the present application does not limit the neighborhood of specific application, and the neighborhood of specific application can be determined according to the actual application scenario.
[0084] Search phase 2 for the target contour in the reverse search direction: a cyclic search phase for the target contour in the reverse search direction.
[0085] The cyclic search phase for the target contour can be implemented based on the starting search base point (i1, j1) of the above-mentioned initialization search phase. Specifically, a cyclic search can be performed based on the starting search base point (i1, j1) and the contour starting point (i, j) to search for corresponding search results (i.e., the results of the neighborhood search). The search results obtained belong to the pixel points on the target contour. The cyclic search can have one or more searches. When the searched search results meet the contour search end condition, the contour search can be stopped and the corresponding contour searched (such as the target contour) can be obtained. The following content is described.
[0086] Specifically, the starting search base point (i1, j1) obtained in the initialization phase can be used as the starting boundary point (i2, j2) of the first search in the cyclic search phase, and the contour starting point (i, j) can be used as the center point (i3, j3) of the neighborhood search in the first search in the cyclic search phase. Then, based on the starting boundary point (i2, j2) and center point (i3, j3) of the first search in the cyclic search phase, the first search in the cyclic search phase can be performed on the binary image to obtain the search result (i4, j4) of the first search, and it can be determined whether the search result (i4, j4) meets the contour search end condition. If it does, the contour search ends, and the target contour now only includes the contour starting point (i, j).
[0087] On the other hand, if the search result (i4, j4) does not meet the contour search end condition, it indicates that the search result (i4, j4) of the first search can be used as a boundary point of the target contour, that is, the search result (i4, j4) of the first search is connected to the contour starting point and belongs to a pixel point on the target contour, and the next search of the cyclic search phase can be continued based on the search result (i4, j4) of the first search. Specifically, the center point (i3, j3) of the first search can be used as the starting boundary point (i2, j2) of the second search, and the search result (i4, j4) of the first search can be used as the center point (i3, j3) of the second search.
[0088] Thus, based on the starting boundary point (i2, j2) of the second search and the center point (i3, j3) of the second search, the binary image can be searched for the second time in the cyclic search phase to obtain the search result (i4, j4) of the second search, and it can be further determined whether the search result (i4, j4) of the second search meets the end condition of the contour search; if it does, the current contour search can be ended to obtain the searched target contour; if it does not meet the end condition, the next search of the cyclic search phase can be continued based on the search result (i4, j4) of the second search, and so on, repeating the above steps until the search result (i4, j4) of the kth search in the cyclic search meets the end condition of the contour search, and the searched target contour can be obtained. The target contour can be composed of the above contour starting point (i, j) (i.e., the first pixel point) and the search results obtained in each search in the cyclic search phase, and the first pixel point and the search results obtained in each search in the cyclic search phase are sequentially connected. Wherein, k can be an integer greater than 1.
[0089] Among them, it should be noted that the implementation principle of each search in the cyclic search phase of the reverse search direction is the same. Here, the implementation process of the second search in the cyclic search phase is used as an example for explanation: starting from the starting boundary point (i2, j2) of the second search, the first non-zero point in the neighborhood of the center point (i3, j3) of the second search can be found in a counterclockwise direction; specifically, the center point (i3, j3) of the second search can be used as the center point of the 8-neighborhood, and the next pixel point in the counterclockwise direction of the starting boundary point (i2, j2) of the second search can be used as the starting point, recorded as the coordinates (i2_jext, j2_jext), and the 8-neighborhood of the center point (i3, j3) of the second search can be searched counterclockwise starting from the pixel point (i2_jext, j2_jext) until the first non-zero value is found. The first non-zero point can be used as the search result (i4, j4) of the second search.
[0090] Optionally, the contour search end condition met by the search result (i4, j4) of any search in the cyclic search phase of the above-mentioned reverse search direction may include: the search result (i4, j4) obtained by any search is the same as the above-mentioned contour starting point (i, j), and the center point (i3, j3) of any search is the same as the above-mentioned starting search base point (i1, j1); that is, if the search result (i4, j4) of any search meets the contour search end condition, it indicates that any search has returned to the contour starting point (i, j) of this contour search, that is, the starting point and boundary points of this contour search have formed a closed contour. Optionally, the target contour searched in this application can be a closed-loop contour, or it can be an open curve. It can be understood that if the contour is an open curve, then when performing a contour search, after searching all the points on the contour for the first time, all the points on the contour can be searched in the reverse order, so that it can eventually return to the contour starting point (i, j) of this contour search.
[0091] Through the above process, the target contour is searched along the reverse search direction.
[0092] Please refer to Figures 5a and 5b again. Figure 5a is a schematic diagram of a reverse contour search scenario provided by an embodiment of the present application. Figure 5b is a schematic diagram of a reverse contour search scenario provided by an embodiment of the present application. For the binary image shown in Figure 5a, in the initialization search phase, an exemplary process for determining the search base point (i1, j1) may include: the image search device may search for a pixel point with pixel coordinates (1, 2) from the binary image according to the judgment condition of the contour starting point in the reverse search direction (such as the above-mentioned contour starting search condition), as the contour starting point of the contour where the pixel point (1, 2) is located in the reverse search direction.
[0093] Furthermore, the left adjacent pixel point (1, 1) belonging to the same row as the starting point (1, 2) of the contour can be used as the starting boundary point (i2, j2), that is, the starting boundary point (i2, j2) = (1, 1), and the pixel value of the starting boundary point (i2, j2) can be 0.
[0094] Then, the contour starting point (1, 2) can be used as the center point of the neighborhood, and starting from the starting boundary point (i2, j2), the first non-zero point (1, 3) in the neighborhood of the contour starting point (1, 2) can be found in a clockwise direction, and this first non-zero point (1, 3) can be used as the starting search base point (i1, j1), that is, the starting search base point (i1, j1) = (1, 3).
[0095] As shown in Figure 5b, the above-mentioned contour starting point (1, 2) can be used as the center point (i3, j3) of the neighborhood search in the first search of the cyclic search stage in the reverse search direction, and the above-mentioned starting search base point (i1, j1) = (1, 3) can be used as the starting boundary point (i2, j2) = (1, 3) in the first search of the cyclic search stage in the reverse search direction. Furthermore, the search result (i4, j4) = (2, 2) of the first search can be obtained by searching with the center point (i3, j3) and the starting boundary point (i2, j2).
[0096] Furthermore, since the above search result (i4, j4) = (2, 2) does not meet the end condition of the contour search in the reverse search direction, the second search of the cyclic search stage can be continued in the reverse search direction: in this second search, the above center point (i3, j3) = (1, 2) that can be searched for the first time can be used as the starting boundary point (i2, j2) of the second search, and the search result (i4, j4) = (2, 2) of the first search can be used as the center point (i3, j3) of the second search, and then, based on the center point (i3, j3) and the starting boundary point (i2, j2), the search result (i4, j4) = (3, 2) of the second search can be obtained.
[0097] By analogy, since the search result (i4, j4) = (3, 2) does not meet the end condition of the contour search in the reverse search direction, the cyclic search phase can be continued for more times in the reverse search direction until the search result meets the end condition of the contour search in the reverse search direction, and the corresponding contour can be searched.
[0098] Furthermore, if the first search direction is a forward search direction, the process of searching for the above-mentioned target contour along the forward search direction may include: similarly, in conjunction with Table 1 above, the present application may, after searching for the starting point of the contour of the target in the first search direction (i.e., the first pixel point), first perform an initialization search based on the first pixel point and then perform a cyclic search. Each search in the cyclic search may search for a pixel point on the target contour. Ultimately, the first pixel point and the search results obtained in each search in the cyclic search may constitute the entire target contour that has been searched, as described below.
[0099] Search phase 1 for the target contour in the forward search direction: Initialization search phase for the target contour in the forward search direction.
[0100] Similarly, the initialization search phase may be a phase for searching for the starting search base point (i1, j1). In which, the contour starting point (i.e., the first pixel point) on the target contour searched from the binary image along the first search direction can be represented as the above-mentioned contour starting point (i, j), and then, based on the contour starting point (i, j), the starting boundary point (i2, j2) for the target contour in the forward search direction can be determined; specifically, if the outer boundary contour currently needs to be searched, the pixel point (i, j+1) in the binary image can be used as the starting boundary point (i2, j2), that is, the pixel point on the adjacent right side of the same row as the contour starting point (i, j) is used as the starting boundary point (i2, j2), and the pixel value of the pixel point (i, j+1) is 0; if the hole boundary contour currently needs to be searched, the pixel point (i, j-1) in the binary image can be used as the starting boundary point (i2, j2), that is, the pixel point on the adjacent left side of the same row as the contour starting point (i, j) is used as the starting boundary point (i2, j2), and the pixel value of the pixel point (i, j-1) is 0. Furthermore, the starting search base point (i1, j1) can be searched from the binary image through the contour starting point (i, j) and the starting boundary point (i2, j2). The starting search base point (i1, j1) can be used to find the reference point of the starting boundary point of the contour search when performing a subsequent forward contour search (i.e., a contour search in the forward search direction).
[0101] Among them, the specific process of determining the starting search base point (i1, j1) can include: starting from the starting boundary point (i2, j2) and searching for the starting search base point (i1, j1) in the neighborhood of the contour starting point (i, j) in a counterclockwise direction; specifically, it can be centered on the contour starting point (i, j), starting from the starting boundary point (i2, j2) and rotating counterclockwise to find the first non-zero point in the neighborhood of the contour starting point (i, j), and use the first non-zero point as the starting search base point (i1, j1).
[0102] Search phase 2 for the target contour in the forward search direction: a cyclic search phase for the target contour along the forward search direction.
[0103] Similarly, a cyclic search phase for the target contour can be implemented based on the starting search base point (i1, j1) of the above-mentioned initialization search phase. Specifically, a cyclic search can be performed based on the starting search base point (i1, j1) and the contour starting point (i, j) to search for corresponding search results (i.e., the results of the neighborhood search). The search results obtained belong to the pixel points on the target contour. The cyclic search can have one or more searches until the search results meet the contour search end condition, then the contour search can be stopped and the corresponding contour searched (such as the target contour) can be obtained. The following content is described.
[0104] Specifically, the starting search base point (i1, j1) obtained in the initialization phase can be used as the starting boundary point (i2, j2) of the first search in the cyclic search phase, and the contour starting point (i, j) can be used as the center point (i3, j3) of the neighborhood search in the first search in the cyclic search phase. Then, based on the starting boundary point (i2, j2) and center point (i3, j3) of the first search in the cyclic search phase, the first search in the cyclic search phase can be performed on the binary image to obtain the search result (i4, j4) of the first search, and it can be determined whether the search result (i4, j4) meets the contour search end condition. If it does, the contour search ends, and the target contour now only includes the contour starting point (i, j).
[0105] On the other hand, if the search result (i4, j4) does not meet the contour search end condition, it indicates that the search result (i4, j4) of the first search can be used as a boundary point of the target contour, that is, the search result (i4, j4) of the first search is connected to the contour starting point and belongs to a pixel point on the target contour, and the next search of the cyclic search phase can be continued based on the search result (i4, j4) of the first search. Specifically, the center point (i3, j3) of the first search can be used as the starting boundary point (i2, j2) of the second search, and the search result (i4, j4) of the first search can be used as the center point (i3, j3) of the second search.
[0106] Thus, based on the starting boundary point (i2, j2) of the second search and the center point (i3, j3) of the second search, the binary image can be searched for the second time in the cyclic search phase to obtain the search result (i4, j4) of the second search, and it can be further determined whether the search result (i4, j4) of the second search meets the end condition of the contour search; if it does, the current contour search can be ended to obtain the searched target contour; if it does not meet the end condition, the next search of the cyclic search phase can be continued based on the search result (i4, j4) of the second search, and so on, repeating the above steps until the search result (i4, j4) of the kth search in the cyclic search meets the end condition of the contour search, and the searched target contour can be obtained. The target contour can be composed of the above contour starting point (i, j) (i.e., the first pixel point) and the search results obtained in each search in the cyclic search phase, and the first pixel point and the search results obtained in each search in the cyclic search phase are sequentially connected. Wherein, k can be an integer greater than 1.
[0107] Among them, it should be noted that the implementation principle of each search in the cyclic search phase of the forward search direction is the same. Here, the implementation process of the second search in the cyclic search phase is taken as an example to illustrate: starting from the starting boundary point (i2, j2) of the second search, the first non-zero point in the neighborhood of the center point (i3, j3) of the second search can be searched in a clockwise direction; specifically, the center point (i3, j3) of the second search can be used as the center point of the 8-neighborhood, and the next pixel point in the clockwise direction of the starting boundary point (i2, j2) of the second search can be used as the starting point, recorded as the coordinates (i2_jext, j2_jext), and the 8-neighborhood of the center point (i3, j3) of the second search can be searched clockwise starting from the pixel point (i2_jext, j2_jext) until the first non-zero value is found. The first non-zero point can be used as the search result (i4, j4) of the second search.
[0108] Optionally, the contour search end conditions met by the search result (i4, j4) of any search in the cyclic search stage in the forward search direction may include: the search result (i4, j4) obtained by any search is the same as the above-mentioned contour starting point (i, j), and the center point (i3, j3) of any search is the same as the above-mentioned starting search base point (i1, j1); that is, if the search result (i4, j4) of any search meets the contour search end conditions, it indicates that any search has returned to the contour starting point (i, j) of this contour search, that is, the starting point and boundary points of this contour search have formed a closed contour.
[0109] Through the above process, the target contour is searched along the forward search direction.
[0110] In the process of searching for the target contour along the first search direction, the image search device can synchronously generate indication data of the target contour for each search direction other than the first search direction in N search directions based on the search results of the target contour. Each search direction other than the first search direction in the N search directions can be referred to as a second search direction. Each second search direction corresponds to one indication data of the target contour, and the indication data is used to indicate the target contour in the contour search in the second search direction. That is, the target contour has a corresponding indication data in a search direction other than the first search direction, and the indication data is used to indicate the target contour in the contour search in the search direction.
[0111] Therefore, the process of generating the indication data corresponding to the target contour searched along the first search direction in the second search direction may include:
[0112] In the above-mentioned process of searching for the target contour along the first search direction, the search results for the target contour may include: each pixel point searched sequentially on the target contour when searching for the target contour along the first search direction. Therefore, the indication data corresponding to any second search direction (i.e., the indication data of the target contour in any second search direction) may include: the pixel coordinates of the pixel point closest to the second search direction among the pixel points searched on the target contour along the first search direction. In this case, when the image processing device searches for each pixel point on the target contour along the first search direction, it will determine which of the pixel points previously searched on the target contour is closer to the second search direction, thereby updating and saving the pixel coordinates of the pixel point closer to the second search direction. Therefore, when the search for the target contour is completed, the pixel coordinates of the pixel point on the target contour closest to the second search direction will be synchronously updated, and the pixel coordinates are the indication data of the target contour in the second search direction.
[0113] For example, if the first search direction is a reverse search direction and the second search direction is a forward search direction, then the indication data of the target contour in the second search direction can be the pixel coordinates of the lowest and rightmost pixel point among the pixel points searched on the target contour along the reverse search direction, that is, the pixel coordinates of the pixel point with the largest horizontal coordinate when the vertical coordinate is maximum, that is, the pixel coordinates of the pixel point with the largest vertical coordinate. If there are multiple pixel points in parallel for the pixel point with the largest vertical coordinate, then it is the pixel coordinates of the pixel point with the largest horizontal coordinate among the multiple pixel points.
[0114] For another example, if the first search direction is a forward search direction and the second search direction is a reverse search direction, the indication data of the target contour in the second search direction may be the pixel coordinates of the topmost and leftmost pixel point among the pixel points searched on the target contour along the forward search direction, that is, the pixel coordinates of the pixel point with the smallest horizontal coordinate when the vertical coordinate is minimum, that is, the pixel coordinates of the pixel point with the smallest vertical coordinate. If there are multiple parallel pixel points with the pixel point with the smallest vertical coordinate, then it is the pixel coordinates of the pixel point with the smallest horizontal coordinate among the multiple pixel points.
[0115] In fact, through the above-mentioned method, the indication data of the target contour in the second search direction obtained is actually the pixel coordinates of the contour starting point of the target contour in the second search direction. In fact, the target contour can have a contour starting point in any search direction, and the contour starting point of the target contour in a search direction can refer to the first (i.e., the first) pixel point on the target contour that meets the contour starting search conditions in the search direction during the contour search in the search direction. In other words, the contour starting point of the target contour in a search direction can refer to the first pixel point belonging to the target contour that is searched when the contour search is performed along the search direction. Therefore, it can be understood that the indication data corresponding to any second search direction (i.e., the indication data of the target contour in the second search direction) is the pixel coordinates of the first pixel point searched on the target contour during the contour search of the target image along the second search direction.
[0116] Optionally, the indication data of the target contour in the second search direction (ie, the pixel coordinates of the starting point of the target contour in the second search direction) may be obtained according to the following mathematical logic, as described below.
[0117] If the first search direction is a reverse search direction and the second search direction is a forward search direction, the process of obtaining the indication data of the target contour in the second search direction may include:
[0118] if(i4>i3)
[0119] (i5, j5) = (i4, j4) / / If i4 in the search result (i4, j4) of a certain search in the cyclic search phase of the reverse search direction is greater than i3 in the center point (i3, j3), then the search result (i4, j4) is used to update (can be an overwriting update) the conversion coordinate (i5, j5)
[0120] else if((i4==i3)&&(j4>j3))
[0121] (i5, j5) = (i4, j4) / / If i4 in the search result (i4, j4) of a certain search in the cyclic search phase of the reverse search direction is equal to i3 in the center point (i3, j3), and j4 in the search result (i4, j4) is greater than j3 in the center point (i3, j3), then the search result (i4, j4) is used to update (can be an overwriting update) the conversion coordinate (i5, j5)
[0122] Among them, through the above logic, during the search process of the target contour, the conversion coordinates (i5, j5) can be updated based on the various pixel points searched on the target contour. The final updated conversion coordinates (i5, j5) are the pixel points at the bottom and rightmost on the target contour (first satisfy the bottommost, then satisfy the rightmost). This pixel point is the starting point of the target contour in the forward search direction, and the pixel coordinates of this pixel point are the indication data of the target contour in the forward search direction.
[0123] The above process is a process of synchronously converting and obtaining the contour starting point of the searched target contour in the forward search direction while searching for the target contour in the reverse search direction.
[0124] Furthermore, if the first search direction is a forward search direction and the second search direction is a reverse search direction, the process of obtaining the indication data of the target contour in the second search direction may include:
[0125] if(i4 <i3)
[0126] (i5, j5) = (i4, j4) / / If the i4 in the search result (i4, j4) of a certain search in the cyclic search phase in the forward search direction is smaller than the i3 in the center point (i3, j3), then the search result (i4, j4) is used to update (can be an overwriting update) the conversion coordinate (i5, j5)
[0127] else if((i4==i3)&&(j4 <j3))
[0128] (i5, j5) = (i4, j4) / / If i4 in the search result (i4, j4) of a certain search in the cyclic search phase in the forward search direction is equal to i3 in the center point (i3, j3), and j4 in the search result (i4, j4) is less than j3 in the center point (i3, j3), then the search result (i4, j4) is used to update (can be an overwriting update) the conversion coordinate (i5, j5)
[0129] Among them, through the above logic, during the search process for the target contour, the conversion coordinates (i5, j5) can be updated based on the various pixel points searched on the target contour. The final updated conversion coordinates (i5, j5) are the pixel points at the top and leftmost side of the target contour (first satisfy the topmost and then the leftmost). This pixel point is the starting point of the target contour in the reverse search direction, and the pixel coordinates of this pixel point are the indication data of the target contour in the reverse search direction.
[0130] The above process is a process of converting and obtaining the contour starting point of the searched target contour in the reverse search direction during the process of searching the target contour along the forward search direction.
[0131] Please refer to Figures 6a and 6b. Figure 6a is a schematic diagram of a scenario for determining a contour starting point provided in an embodiment of the present application. Figure 6b is a schematic diagram of a scenario for determining a contour starting point provided in an embodiment of the present application. As shown in Figure 6a, the contour starting point of the target contour in the binary image in the reverse search direction can be the topmost and leftmost pixel on the target contour. When the binary image is searched for contours along the reverse search direction, the topmost and leftmost pixel is the first pixel found on the target contour.
[0132] Similarly, the starting point of the target contour in the binary image in the forward search direction can be the bottom and rightmost pixel on the target contour. When the contour search is performed on the binary image along the forward search direction, the bottom and rightmost pixel is the first pixel searched on the target contour.
[0133] As shown in FIG6b , the contour of the target image is searched along the reverse search direction, that is, each row of pixels in the binary image is scanned from top to bottom and from left to right (e.g., scanning the first row of pixels from left to right → scanning the second row of pixels from left to right → scanning the third row of pixels from left to right…) to search for a pixel that meets the contour start search condition in the reverse search direction, and starting from this pixel to search for the contour where the pixel is located, for example, pixel (1, 2) here can be a pixel that meets the contour start search condition in the reverse search direction.
[0134] Similarly, the contour search of the target image along the forward search direction is to traverse and scan each row of pixels in the binary image from bottom to top and from right to left (e.g., scanning the first to last row of pixels from right to left → scanning the second to last row of pixels from right to left → scanning the third to last row of pixels from right to left…) to search for a pixel that meets the contour start search condition in the forward search direction, and start searching the contour where the pixel is located from this pixel. For example, the pixel point (4, 9) here can be a pixel that meets the contour start search condition in the forward search direction.
[0135] Step S103 : in the process of performing contour search on the target image along each second search direction, based on the indication data, skipping the contour search for the target contour in each second search direction.
[0136] Optionally, when the image search device concurrently searches for contours in the target image along each of the N search directions, it may skip searching for contours that have already been found in other search directions in each search direction, thereby avoiding repeated searches for the same contour in multiple search directions. In other words, once a contour is preferentially found in one search direction, the contour will not be subsequently searched for in other search directions.
[0137] The following specifically describes a process of skipping the target contour searched along the first search direction in a second search direction (which may be any second search direction) as an example. The process may include:
[0138] When a second pixel point that meets the contour starting search conditions in the second search direction is searched along the second search direction, and it is detected that the second pixel point is the pixel point (such as the first pixel point) corresponding to the second search direction and belonging to the indication data for indicating the target contour (that is, the indication data of the target contour in the second search direction), the image search device can skip the contour search process based on the second pixel point in the second search direction, that is, the contour search where the second pixel point is located will not be started from the second pixel point.
[0139] In addition, the image search device can also obtain each pixel point on the target contour through the indication data corresponding to the second search direction and used to indicate the target contour, and can also skip the process of contour search based on each pixel point on the target contour except the second pixel point in the second search direction, thereby realizing the search of the target contour where each pixel point is located without searching from each pixel point on the target contour. Thus, the process of contour search for each pixel point on the target contour that has been searched along the first search direction is skipped in the second search direction, thereby avoiding repeated search of the target contour in the second search direction.
[0140] Among them, the process of the image search device obtaining each pixel point on the target contour (i.e., obtaining a set of pixel points on the target contour) through the indication data of the target contour in the second search direction may include: when the image search device searches for the target contour along the first search direction or after searching for the target contour, it can obtain the pixel coordinates (including horizontal coordinates and vertical coordinates) of each pixel point searched on the target contour in the binary image.
[0141] Furthermore, the image search device can use the indication data of the target contour in the second search direction to associate and record the pixel coordinates of each pixel point on the target contour. Specifically, the pixel coordinates of the starting point of the target contour in the second search direction can be used as the contour identifier of the target contour in the second search direction. That is, the target contour can be identified using the indication data of the target contour in the second search direction, and the pixel coordinates of each pixel point on the identified target contour can be recorded.
[0142] In other words, when the target contour is searched in the first search direction, the pixel coordinates of each pixel point on the target contour can be associated and recorded through the indication data of the generated target contour in the second search direction, that is, the pixel point set composed of each pixel point on the target contour can be associated and recorded.
[0143] Therefore, subsequently, when the second pixel point on the target contour is found in the second search direction, the pixel coordinates of each pixel point on the target contour previously associated and recorded by the indication data of the target contour in the second search direction (e.g., the pixel coordinates of the second pixel point) can be obtained (e.g., each pixel point on the target contour except the second pixel point can be obtained through this process). It can be understood that obtaining the pixel coordinates of each pixel point on the target contour is equivalent to obtaining each pixel point on the target contour.
[0144] It can be understood that when the first pixel point is searched along the first search direction, the pixel point on the target contour that meets the contour starting search conditions of the corresponding search direction should not have been searched in other search directions, that is, the contour where the first pixel point is located has not been searched in other search directions.
[0145] Through the above process, it can be understood that the indication data corresponding to one search direction can be used to search for contours that have already been searched in other search directions. Therefore, by skipping the search process for the contours indicated by the indication data corresponding to each search direction in each of the N search directions, the contour search in each search direction can be prevented from being repeatedly searched for the same contour in different search directions. This can improve the efficiency of contour searching for the target image using multiple search directions and ensure the integrity and consistency of the search for contours in the target image.
[0146] Among them, whenever a contour is found in a search direction, each row of pixels in the binary image can be scanned again along the search direction from the very beginning (such as for the reverse search direction, the very beginning position is the position at the 1st row and 1st column; for the forward search direction, the very beginning position is the position at the 1st to last row and 1st to last column) to find a pixel point that meets the contour starting search condition in the search direction and does not belong to the contour that has been searched in each search direction (including all search directions). The pixel point is used as the contour starting point to continue searching for the next contour in the search direction, and so on. On this basis, it can be understood that when a contour starting point for starting a contour search cannot be found in a search direction (such as a contour starting point that meets the contour starting search condition in the search direction other than the pixel points on the contour that have been searched in each search direction (including the search direction itself)), it indicates that the contour search in the search direction has been completed, that is, it indicates that the contour search in the search direction has been completely ended.
[0147] Among them, the contours searched in the binary image of the target image can be understood as the contours searched in the target image, and the contours in the target image can include all contours searched for the target image along each of the above-mentioned N search directions.
[0148] After searching for the contour in the target image, the contour searched for the target image can be identified in the target image (it can be any identification method, such as highlighting, or protruding, etc.), and the image within the identified contour can be segmented (such as cropping) in the target image. This image is a local image in the target image. Depending on the actual application scenario, the local image may also be different. For example, the local image may be a foreground image in the target image, an image of the target object, or an image of the target area (such as the area of a specific biological organ in the medical field), etc., which can be determined based on the actual application scenario.
[0149] Among them, identifying the contour obtained by searching the target image in the target image can include: since there is a one-to-one correspondence between the pixel points in the target image and the pixel points in the binary image, such as the pixel coordinates of a pixel point in the target image and the pixel coordinates of the pixel point obtained after binarization of the pixel point in the binary image are the same, therefore, after the image search device searches for the corresponding contour in the binary image along N search directions, the contour can be correspondingly identified in the target image according to the pixel coordinates of each pixel point on the contour in the binary image, and the pixel coordinates of each pixel point on the contour identified in the target image are the same as the pixel coordinates of each pixel point of the contour in the binary image, that is, through a pixel point on the contour searched in the binary image, the pixel point corresponding to the pixel point in the target image (the pixel point with the same pixel coordinates) can be identified, and in this way, the corresponding pixel points in the target image can be identified through each pixel point on the contour, so that the contour can be identified in the target image.
[0150] Please refer to Figure 7, which is a schematic diagram of an image segmentation scenario provided in an embodiment of the present application. As shown in Figure 7, a contour search can be performed on a target image according to the method provided in the present application. The contour of a puppy in the target image can be searched and identified in the target image. Then, a partial image within the identified contour can be segmented in the target image. This partial image is the partial image of the target image where the puppy is located.
[0151] The method proposed in the present application can simultaneously perform contour searches on a target image along multiple search directions (i.e., N search directions). Moreover, in the process of performing contour searches on a target image along the multiple search directions, corresponding indication information can be used in each search direction to skip the contour searches of contours (such as target contours) that have been searched in other search directions, so that the same contours in the target image will not be repeatedly searched in each search direction, thereby greatly improving the efficiency of searching for contours in the target image.
[0152] Based on the above detailed description of the image search method, the following describes the various units that implement the image search method. Please refer to Figure 8, which is a structural diagram of an image search device provided in an embodiment of the present application. As shown in Figure 8, the structure may include a forward contour search unit, a forward contour boundary conversion unit corresponding to the forward contour search unit, a reverse contour search unit, a reverse contour boundary conversion unit corresponding to the reverse contour search unit, and a scanning status query unit. The image processing method provided by the present application can be deployed in an image processing device, and the image processing device is run by a computer device to implement the image processing method. Therefore, the various units in the structure can be deployed in the image processing device.
[0153] Among them, the forward contour search unit is used to perform contour search on the target image along the above-mentioned forward search direction, so as to obtain the corresponding contour in the target image from the forward search direction, and the reverse contour search unit is used to perform contour search on the target image along the above-mentioned reverse search direction, so as to obtain the corresponding contour in the target image from the reverse search direction.
[0154] The forward contour boundary conversion unit corresponding to the forward contour search unit can be used to perform boundary conversion processing on the contour searched by the forward contour search unit (i.e., the contour searched along the forward search direction) to obtain indication data of the contour searched by the forward contour search unit in the reverse search direction. The indication data can be used to indicate the contour searched by the forward contour search unit in the contour search in the reverse search direction. The indication data can be stored in the scanning status query unit, and the pixel coordinates of each pixel point on the contour searched by the forward contour search unit can also be stored in the scanning status query unit.
[0155] Similarly, the reverse contour boundary conversion unit corresponding to the reverse contour search unit can be used to perform boundary conversion processing on the contour searched by the reverse contour search unit (i.e., the contour searched along the forward search direction) to obtain indication data of the contour searched by the reverse contour search unit in the forward search direction. The indication data can be used to indicate the contour searched by the reverse contour search unit in the contour search in the forward search direction. The indication data can be stored in the scanning status query unit, and the pixel coordinates of each pixel point on the contour searched by the reverse contour search unit can also be stored in the scanning status query unit.
[0156] Furthermore, it can be understood that in the process of the forward contour search unit scanning the pixel points in the binary image to perform contour search, the scanning status query unit can be queried based on the scanned (i.e., searched) pixel points that meet the contour starting search conditions in the forward search direction to determine whether the scanned pixel point is included in the scanning status query unit. If so, the contour search will not be started with the currently scanned pixel point as the contour starting point. If not, the contour search will be started with the currently scanned pixel point as the contour starting point.
[0157] Similarly, in the process of the reverse contour search unit scanning the pixel points in the binary image to perform contour search, the scanned (i.e., searched) pixel points that meet the contour starting search conditions in the reverse search direction can be queried in the scanning status query unit to determine whether the scanned pixel point is included in the scanning status query unit. If so, the contour search will not be started with the currently scanned pixel point as the contour starting point. If not, the contour search will be started with the currently scanned pixel point as the contour starting point.
[0158] When the forward contour search unit fails to find a pixel point in the binary image that meets the contour starting search condition in the forward search direction and is not included in the scanning state query unit, the forward contour search unit has completed the contour search of the binary image and can be ended. Similarly, when the reverse contour search unit fails to find a pixel point in the binary image that meets the contour starting search condition in the reverse search direction and is not included in the scanning state query unit, the reverse contour search unit has completed the contour search of the binary image and can be ended.
[0159] Through the above-mentioned units, each contour in the target image can be searched along the reverse search direction and the forward search direction at the same time. As can be seen from the above, the forward / reverse contour boundary conversion unit and the scanning status query unit provided by the present application are a new technology, which makes it possible not to perform contour searches based on the pixel points on the contour that has been searched in each search direction, avoid repeated contour searches, and ensure the integrity of the contour search in the image. And based on the support of the forward / reverse contour boundary conversion unit and the scanning status query unit, it is possible to perform parallel searches for different contours in the target image along multiple search directions at the same time while ensuring the correctness of the contour search, which greatly improves the speed and efficiency of the contour search for the target image and enhances the contour search performance.
[0160] Please refer to Figure 9 , which is a schematic diagram of the structure of another image search device provided by an embodiment of the present application. As shown in Figure 9 , the image search device 1 may include: a search module 11 and an acquisition module 12 .
[0161] A search module 11 is configured to perform contour search on a target image along N search directions, where N is an integer greater than 1;
[0162] an acquisition module 12 configured to generate, based on a search result of the target contour, indication data for each second search direction in the N search directions other than the first search direction, during a process of searching for the target contour along a first search direction among the N search directions, the indication data being used to indicate the target contour in the contour search in the corresponding second search direction;
[0163] The search module 11 is further configured to, in a process of performing contour search on the target image along each second search direction, skip contour search on the target contour in each second search direction based on the indication data.
[0164] Optionally, the search module 11 performs contour search on the target image along N search directions, including:
[0165] Performing binarization processing on the target image to obtain a binary image of the target image;
[0166] Perform contour search on the binary image along N search directions.
[0167] Optionally, the process of the search module 11 performing contour search on the binary image along the first search direction includes:
[0168] Searching for pixel points in the binary image in sequence along a first search direction;
[0169] When the first pixel point is found, a contour search is performed based on the first pixel point to search for a target contour where the first pixel point is located;
[0170] The first pixel point refers to a pixel point that meets the contour start search condition in the first search direction.
[0171] Optionally, in the process of searching for the target contour along the first search direction, the search result for the target contour includes: each pixel point searched on the target contour along the first search direction;
[0172] The indication data corresponding to any second search direction includes: pixel coordinates of a pixel point closest to any second search direction among the pixel points searched on the target contour along the first search direction;
[0173] The indication data corresponding to any second search direction is the pixel coordinates of the first pixel point found on the target contour during the contour search of the target image along any second search direction.
[0174] Optionally, the search module 11 skips the contour search of the target contour in each second search direction based on the indication data during the contour search of the target image along each second search direction, including:
[0175] When a second pixel point that meets the contour start search condition in any second search direction is found along any second search direction, and it is detected that the second pixel point is a pixel point to which the indication data for indicating the target contour corresponding to any second search direction belongs, skipping the contour search based on the second pixel point in any second search direction; and
[0176] Based on the indication data for indicating the target contour corresponding to the second search direction, each pixel point on the target contour is obtained, and in the second search direction, the contour search process based on each pixel point on the target contour except the second pixel point is skipped.
[0177] Optionally, when searching for the target contour along the first search direction or after searching for the target contour, the apparatus 1 is further configured to:
[0178] Obtain the pixel coordinates of each pixel point searched on the target contour in the binary image;
[0179] Using the indication data corresponding to the second search direction and used to indicate the target contour, the pixel coordinates of each pixel point on the target contour are recorded in an associated manner;
[0180] The search module 11 acquires each pixel point on the target contour based on the indication data corresponding to the second search direction and used to indicate the target contour, including:
[0181] Based on the indication data corresponding to the second search direction and used to indicate the target contour, the pixel coordinates of each pixel point on the target contour in the associated record are obtained.
[0182] Optionally, the pixel value of a pixel point in the binary image is a first pixel value or a second pixel value, and the first pixel value is greater than the second pixel value;
[0183] The target contour is a hole boundary type or an outer boundary type. If the target contour is a hole boundary type, the pixel values of the pixels within the target contour are all the second pixel values.
[0184] If the target contour is an outer boundary type, the pixel values of the pixel points within the target contour are all the first pixel values, and the pixel values of the pixel points outside the target contour and adjacent to the target contour are the second pixel values.
[0185] Optionally, the first search direction is a reverse search direction or a forward search direction; the reverse search direction refers to a direction of searching for pixels that meet the contour start search condition in the first search direction in the binary image from left to right and from top to bottom, and the forward search direction refers to a direction of searching for pixels that meet the contour start search condition in the first search direction in the binary image from right to left and from bottom to top;
[0186] Wherein, the first pixel point is represented as (i, j), the pixel value of the first pixel point is represented as f(i, j), i is the vertical coordinate of the first pixel point in the binary image, j is the horizontal coordinate of the first pixel point in the binary image, and both i and j are non-negative integers;
[0187] If the target contour is a hole boundary type and the first search direction is a reverse search direction, the initial search condition for the contour in the first search direction is: f(i, j) is equal to the first pixel value, and f(i, j+1) is equal to the second pixel value;
[0188] If the target contour is a hole boundary type and the first search direction is the forward search direction, the initial search condition for the contour in the first search direction is: f(i, j) is equal to the first pixel value, and f(i, j-1) is equal to the second pixel value;
[0189] If the target contour is of outer boundary type and the first search direction is a reverse search direction, the contour starting search condition in the first search direction is: f(i, j) is equal to the first pixel value, and f(i, j-1) is equal to the second pixel value;
[0190] If the target contour is an outer boundary type and the first search direction is a forward search direction, the contour starting search condition in the first search direction is: f(i, j) is equal to the first pixel value, and f(i, j+1) is equal to the second pixel value.
[0191] Optionally, the search module 11 performs contour search based on the first pixel point to search for the target contour where the first pixel point is located, including:
[0192] In the binary image, starting from the first pixel point, searching for a plurality of pixel points connected in series and having the same pixel value as the first pixel value;
[0193] The searched target contour is determined based on the first pixel point and the searched multiple pixel points.
[0194] Optionally, the first search direction is any search direction among the N search directions, and the target contour is any contour searched in the first search direction;
[0195] The contour in the target image includes: contours found by searching the target image along each of the N search directions.
[0196] Optionally, the device 1 is further used for:
[0197] In the target image, the contours found in the target image are identified;
[0198] In the target image, an image within the identified contour is segmented; the image belongs to a local image in the target image.
[0199] According to one embodiment of the present application, the steps involved in the image search method shown in FIG3 can be performed by various modules in the image search device 1 shown in FIG9. For example, step S101 shown in FIG3 can be performed by the search module 11 in FIG9, step S102 shown in FIG3 can be performed by the acquisition module 12 in FIG9; and step S103 shown in FIG3 can be performed by the search module 11 in FIG9.
[0200] The method proposed in the present application can simultaneously perform contour searches on a target image along multiple search directions (i.e., N search directions). Moreover, in the process of performing contour searches on a target image along the multiple search directions, corresponding indication information can be used in each search direction to skip the contour searches of contours (such as target contours) that have been searched in other search directions, so that the same contours in the target image will not be repeatedly searched in each search direction, thereby greatly improving the efficiency of searching for contours in the target image.
[0201] According to one embodiment of the present application, the various modules in the image search device 1 shown in Figure 9 can be individually or all combined into one or several units to constitute, or one (or some) of the units can be further divided into multiple functionally smaller sub-units to achieve the same operation without affecting the realization of the technical effects of the embodiments of the present application. The above modules are divided based on logical functions. In actual applications, the functions of a module can also be implemented by multiple units, or the functions of multiple modules can be implemented by one unit. In other embodiments of the present application, the image search device 1 may also include other units. In actual applications, these functions can also be implemented with the assistance of other units, and can be implemented by the collaboration of multiple units.
[0202] According to one embodiment of the present application, a computer program capable of executing the steps of the corresponding methods described in the various embodiments of the present application can be run on a general-purpose computer device (the computer device may include processing elements and storage elements such as a central processing unit (CPU), random access memory (RAM), and read-only memory (ROM)) to construct the image search device 1 shown in Figure 9. The computer program can be recorded on a computer-readable recording medium, for example, and can be loaded into the computer device via the computer-readable recording medium and run therein.
[0203] Please refer to Figure 10, which is a structural diagram of a computer device provided in an embodiment of the present application. As shown in Figure 10, the computer device 1000 may include: a processor 1001, a network interface 1004 and a memory 1005. In addition, in some embodiments, the computer device 1000 may further include: a user interface 1003, and at least one communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components. Among them, the user interface 1003 may include a display screen (Display), a keyboard (Keyboard), and the optional user interface 1003 may also include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory (non-volatile memory), such as at least one disk storage. The memory 1005 may also be at least one storage device located away from the aforementioned processor 1001. As shown in Figure 10, the memory 1005 as a computer storage medium may include an operating system, a network communication module, a user interface module and a device control application.
[0204] In the computer device 1000 shown in FIG10 , the network interface 1004 can provide network communication functions; the user interface 1003 is mainly used to provide an interface for user input; and the processor 1001 can be used to call the device control application stored in the memory 1005 to achieve:
[0205] Perform contour search on the target image along N search directions, where N is an integer greater than 1;
[0206] In a process of searching for a target contour along a first search direction among N search directions, based on a search result of the target contour, generating indication data for each second search direction among the N search directions except the first search direction, the indication data being used to indicate the target contour in the contour search in the corresponding second search direction;
[0207] In the process of performing contour search on the target image along each second search direction, the contour search for the target contour is skipped in each second search direction based on the indication data.
[0208] It should be understood that the computer device 1000 described in the embodiments of the present application can execute the image search method described in the various embodiments of the present application, and can also execute the image search device 1 described in the embodiment corresponding to FIG. 9 , and thus will not be repeated here. In addition, the description of the beneficial effects of using the same method will not be repeated here.
[0209] In addition, it should be noted that this application also provides a computer-readable storage medium, and the computer-readable storage medium stores a computer program. When a processor executes the computer program, it can perform the description of the image search method in each embodiment of this application. Therefore, it will not be repeated here. In addition, the description of the beneficial effects of using the same method will not be repeated. For technical details not disclosed in the computer storage medium embodiment involved in this application, please refer to the description of the method embodiment of this application.
[0210] As an example, the above-mentioned computer program can be deployed and executed on one computer device, or deployed and executed on multiple computer devices located in one location, or executed on multiple computer devices distributed in multiple locations and interconnected by a communication network. Multiple computer devices distributed in multiple locations and interconnected by a communication network can constitute a blockchain network.
[0211] The computer-readable storage medium may be an internal storage unit of the computer device, such as a hard disk or memory of the computer device. The computer-readable storage medium may also be an external storage device of the computer device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped with the computer device. Furthermore, the computer-readable storage medium may include both an internal storage unit of the computer device and an external storage device. The computer-readable storage medium is used to store the computer program and other programs and data required by the computer device. The computer-readable storage medium may also be used to temporarily store data that has been output or is about to be output.
[0212] The present application provides a computer program product comprising a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the description of the image search method described in each embodiment of the present application. Therefore, these descriptions will not be repeated here. Furthermore, the description of the beneficial effects of employing the same method will not be repeated here. For technical details not disclosed in the computer-readable storage medium embodiments involved in the present application, please refer to the description of the method embodiments of the present application.
[0213] The terms "first", "second", etc. in the description, claims, and drawings of the embodiments of the present application are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "comprising" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, apparatus, product, or device comprising a series of steps or units is not limited to the listed steps or modules, but may optionally include steps or modules not listed, or may optionally include other step units inherent to these processes, methods, apparatuses, products, or devices.
[0214] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0215] The above disclosure is only a preferred embodiment of the present application, and certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.
Claims
1. An image search method, characterized in that: The method comprises: Perform contour search on the target image along N search directions, where N is an integer greater than 1; In a process of searching for a target contour along a first search direction among the N search directions, based on a search result of the target contour, for each second search direction among the N search directions except the first search direction, respectively generating indication data, the indication data being used to indicate the target contour in a contour search in the corresponding second search direction; In the process of performing contour search on the target image along each of the second search directions, based on the indication data, contour search on the target contour is skipped in each of the second search directions.
2. The method according to claim 1, characterized in that The contour search of the target image along N search directions includes: Performing binarization processing on the target image to obtain a binary image of the target image; A contour search is performed on the binary image along the N search directions.
3. The method according to claim 1 or 2, characterized in that: The process of performing contour search on the binary image along the first search direction includes: Searching pixel points in the binary image in sequence along the first search direction; When the first pixel point is searched, a contour search is performed based on the first pixel point to search for the target contour where the first pixel point is located; The first pixel point refers to a pixel point that meets the contour start search condition in the first search direction.
4. The method according to any one of claims 1 to 3, characterized in that: In the process of searching the target contour along the first search direction, the search result of the target contour includes: each pixel point searched on the target contour along the first search direction; The indication data corresponding to any of the second search directions includes: pixel coordinates of a pixel point that is closest to any of the second search directions among the pixel points searched on the target contour along the first search direction; The indication data corresponding to any of the second search directions is the pixel coordinates of the first pixel point searched on the target contour during the contour search of the target image along any of the second search directions.
5. The method according to any one of claims 1 to 4, characterized in that: In the process of performing contour search on the target image along each of the second search directions, based on the indication data, respectively skipping contour search on the target contour in each of the second search directions comprises: When a second pixel point that meets the contour start search condition in any of the second search directions is searched along any of the second search directions, and it is detected that the second pixel point is a pixel point to which the indication data corresponding to any of the second search directions and used to indicate the target contour belongs, skipping the contour search based on the second pixel point in any of the second search directions; and, Based on the indication data corresponding to the second search direction for indicating the target contour, each pixel point on the target contour is obtained, and in the second search direction, the process of performing contour search based on each pixel point on the target contour except the second pixel point is skipped.
6. The method according to any one of claims 1 to 5, characterized in that: When searching for the target contour along the first search direction or after searching for the target contour, the method further includes: Obtaining pixel coordinates of each pixel point searched on the target contour in the binary image; Using the indication data corresponding to the second search direction and used to indicate the target contour, the pixel coordinates of each pixel point on the target contour are recorded in association; The acquiring each pixel point on the target contour based on the indication data indicating the target contour corresponding to the second search direction includes: Based on the indication data corresponding to the second search direction and used to indicate the target contour, the pixel coordinates of each pixel point on the target contour of the associated record are obtained.
7. The method according to any one of claims 1 to 6, characterized in that: A pixel value of a pixel point in the binary image is a first pixel value or a second pixel value, and the first pixel value is greater than the second pixel value; The target contour is a hole boundary type or an outer boundary type. If the target contour is the hole boundary type, the pixel values of the pixel points within the target contour are all the second pixel values; If the target contour is of the outer boundary type, the pixel values of the pixel points within the target contour are all the first pixel values, and the pixel values of the pixel points outside the target contour and adjacent to the target contour are the second pixel values.
8. The method according to any one of claims 1 to 7, characterized in that: The first search direction is a reverse search direction or a forward search direction, the reverse search direction refers to a direction of searching for pixels that meet the contour start search condition in the first search direction in the binary image from left to right and from top to bottom, and the forward search direction refers to a direction of searching for pixels that meet the contour start search condition in the first search direction in the binary image from right to left and from bottom to top; The first pixel is represented by (i, j), the pixel value of the first pixel is represented by f(i, j), i is the longitudinal coordinate of the first pixel in the binary image, j is the transverse coordinate of the first pixel in the binary image, and both i and j are non-negative integers; If the target contour is the hole boundary type, and the first search direction is the reverse search direction, the contour start search condition in the first search direction is: f(i, j) is equal to the first pixel value, and f(i, j+1) is equal to the second pixel value; If the target contour is the hole boundary type, and the first search direction is the forward search direction, the contour start search condition in the first search direction is: f(i, j) is equal to the first pixel value, and f(i, j-1) is equal to the second pixel value; If the target contour is the outer boundary type, and the first search direction is the reverse search direction, the contour start search condition in the first search direction is: f(i, j) is equal to the first pixel value, and f(i, j-1) is equal to the second pixel value; If the target contour is the outer boundary type and the first search direction is the forward search direction, the contour starting search condition in the first search direction is: f(i, j) is equal to the first pixel value, and f(i, j+1) is equal to the second pixel value.
9. The method according to any one of claims 1 to 8, characterized in that: The performing contour search based on the first pixel point to search for the target contour where the first pixel point is located includes: In the binary image, starting from the first pixel point, searching for a plurality of pixel points that are connected in series and whose pixel values are all the first pixel value; The searched target contour is determined based on the first pixel point and the searched multiple pixel points.
10. The method according to any one of claims 1 to 9, characterized in that: The first search direction is any one of the N search directions, and the target contour is any contour searched in the first search direction; The contour in the target image includes: a contour respectively searched for the target image along each of the N search directions.
11. The method according to any one of claims 1 to 10, characterized in that: The method further comprises: In the target image, identifying the contour searched for the target image; In the target image, an image within the identified outline is segmented; the image belongs to a local image in the target image.
12. An image search device, characterized in that: The device comprises: A search module, used for performing contour search on the target image along N search directions, where N is an integer greater than 1; an acquisition module, configured to generate indication data for each second search direction among the N search directions except the first search direction, respectively, in a process of searching for the target contour along a first search direction among the N search directions, based on a search result of the target contour, wherein the indication data is used to indicate the target contour in the contour search in the corresponding second search direction; The search module is further configured to, during a process of performing contour search on the target image along each of the second search directions, skip contour search on the target contour in each of the second search directions based on the indication data.
13. A computer program product, characterized in that The invention comprises a computer program, which implements the steps of the method according to any one of claims 1 to 11 when being executed by a processor.
14. A computer device, characterized in that: The invention comprises a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the method according to any one of claims 1 to 11.
15. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and the computer program is suitable for being loaded by a processor and executing the steps of the method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Contour projection method of tumour 3D anatomy structure in radiotherapy plan system
CN101000689A
Image contour searching method and device, server and medium
CN112733868A
Image searching method and device, product, equipment and medium
CN117409027A
Image processing device and method for capturing object outline
US20130004083A1