A method, device, equipment and storage medium for generating long screenshots

By obtaining the screenshot sequence of the TV's large-screen EPG interface, automatically determine the index and reserved areas, and using feature point matching and image processing algorithms to generate long-term screenshots, solving the cumbersome and time-consuming problem of operation and monitoring of the TV's large-screen EPG system, and improving efficiency and data analysis capabilities.

CN115776589BActive Publication Date: 2025-08-26CHINA MOBILEHANGZHOUINFORMATION TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111043403.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-07
Publication Date
2025-08-26
Estimated Expiration
2041-09-07

AI Technical Summary

Technical Problem

In the prior art, the operation monitoring method of the large-screen EPG system of TV is cumbersome and time-consuming, labor costs are high, and it is difficult to automatically generate growth screenshots. Especially in the large-screen TV, there are problems such as irregular overlapping areas causing puzzle failure or misalignment.

Method used

By obtaining the screenshot sequence of the electronic program menu interface, the electronic program index area and the retention area are determined, and feature point matching and image processing algorithms are used to automatically generate long screenshots to avoid manual operations.

Benefits of technology

It realizes automatic generation and growth screenshots on the large TV screen, saves labor costs, improves operational monitoring efficiency, supports real-time feedback and data analysis, and improves user stickiness and value-added business revenue.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115776589B_ABST
    Figure CN115776589B_ABST
Patent Text Reader

Abstract

This application discloses a method for generating a long screenshot, which includes obtaining a screenshot sequence of an electronic program menu interface; wherein two adjacent images in the screenshot sequence have partially identical content; determining an electronic program index area in the screenshot sequence; using the i-th screenshot in the screenshot sequence as a reference screenshot, determining a reserved area for the i+1-th screenshot; wherein i is a positive integer greater than or equal to 1 and less than the total number of screenshots in the screenshot sequence; and splicing the electronic program index area and the reserved area of ​​each screenshot in a splicing order to generate a long screenshot. This application also discloses a device for generating a long screenshot, an electronic device, and a computer-readable storage medium.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to, but is not limited to, the field of computers, and in particular to a method for generating a long screenshot, a device for generating a long screenshot, an electronic device, and a computer-readable storage medium. Background Art

[0002] With the continuous development and growth of industries such as the Internet of Things, mobile internet, and cloud computing, the scale of large-screen TV services has shifted from scale-based development to refined operations. The operation of electronic program menus, such as the Electronic Program Guide (EPG), is crucial for promoting this shift from scale-based operations to value-based operations. They are crucial for rapidly increasing user stickiness and value-added service revenue. The indexing and navigation of various services offered by Interactive Personal Television (IPTV) are all performed through the EPG system. The EPG system's interface is similar to a World Wide Web (Web) page, providing various menus, buttons, links, and other components for users to click on when selecting programs, as well as dynamic and static multimedia content for users to browse. Users can use the EPG menus to select their favorite multicast channels, play their favorite videos on demand, listen to their favorite songs online, search for information on lifestyle, entertainment, education, and sports offered by IPTV, subscribe to their favorite programs, and conduct e-commerce transactions such as paying utility bills.

[0003] At present, some TV stations, operators and set-top box manufacturers have developed their own EPG systems. However, these EPG systems are all dependent on a certain network or a certain set-top box, which makes these EPG systems lack versatility. The EPG content information lacks a unified data format, resulting in high complexity in the interaction between TV stations and networks. The frequency and content of EPG system operations updates in various provinces vary greatly. Some follow hot topics at the hourly level, while others will not be updated for several days. Based on this, in the related art, for the operation monitoring method of different EPG systems, technicians need to manually open the product interface, take screenshots manually and compare them one by one with the previously saved content. However, the pages of general EPG systems are presented in the form of waterfall flow, and each screen can only display part of the content. To compare the content of all columns, the relevant technicians can only switch down one screen at a time by operating the remote control button. As a result, the operation monitoring method of the EPG system in the related art has at least the problems of cumbersome, time-consuming and labor-intensive processes, high labor costs, and low content verification efficiency. Therefore, if large-screen TVs can obtain the global long-image information of the EPG interface, it can significantly improve the efficiency of daily data analysis in large-screen TV operations, help operators enrich touchpoint operations, consolidate content advantages, and continuously improve customer viewing activity, which is crucial to quickly increasing user stickiness and value-added service revenue.

[0004] At present, the long image stitching method is implemented through screenshot software, that is, the screenshot software first takes a screenshot of the mobile terminal or computer web page, and then stitches multiple screenshots together to obtain a long image. These screenshot software have high requirements for the degree of linkage between the system hardware and software, strict requirements for operating system permission restrictions, and have a formed framework tool that can control the switching of the interface and accurately obtain the offset, control the interface to click and save screenshots, and provide very convenient information for the subsequent stitching of long images. The automatically stitched long images are also fast and accurate. It should be noted that in mobile terminals or computers, the difficulty of stitching long images mainly lies in the control of the screenshot software, while image stitching at the image level can be achieved by simply matching and comparing image pixel blocks or directly pasting.

[0005] However, when capturing multiple images of an EPG interface for a large TV screen, there are irregular overlapping areas between them. Using only pixel block matching or direct pasting can result in puzzle failure or unnaturally misaligned long images, or even require manual stitching. Therefore, there is an urgent need to provide a method for capturing EPG interfaces on large TV screens and automatically generating long screenshots of the EPG interface. Summary of the Invention

[0006] In view of this, the present application provides a method for generating a long screenshot, a device for generating a long screenshot, an electronic device and a computer-readable storage medium, provides a screenshot scenario of the EPG interface that can be suitable for a large-screen TV, and automatically generates a long screenshot for the EPG interface.

[0007] To achieve the above objectives, the technical solution of this application is implemented as follows:

[0008] A device for generating a long screenshot, the method comprising:

[0009] Acquire a screenshot sequence of an electronic program menu interface; wherein two adjacent images in the screenshot sequence have partially identical content;

[0010] determining an electronic program index area in the screenshot sequence;

[0011] Taking the i-th screenshot in the screenshot sequence as a reference screenshot, determining a reserved area for the i+1-th screenshot; wherein i is a positive integer greater than or equal to 1 and less than the total number of screenshots in the screenshot sequence;

[0012] The electronic program index area and the reserved area of ​​each screenshot are spliced ​​together in a splicing order to obtain a long screenshot.

[0013] A device for generating a long screenshot, comprising:

[0014] An acquisition unit, configured to acquire a screenshot sequence of an electronic program menu interface; wherein two adjacent images in the screenshot sequence have some identical content;

[0015] a processing unit, configured to determine an electronic program index region in the screenshot sequence;

[0016] The processing unit is further configured to determine a reserved area for the (i+1)th screenshot using the i-th screenshot in the screenshot sequence as a reference screenshot; wherein i is a positive integer greater than or equal to 1 and less than the total number of the screenshots in the screenshot sequence;

[0017] The processing unit is further configured to splice the electronic program index area and the reserved area of ​​each screenshot in a splicing order to obtain a long screenshot.

[0018] An electronic device, comprising:

[0019] a memory for storing executable instructions;

[0020] The processor is configured to implement the steps of the above-mentioned method for generating a long screenshot when executing the executable instructions stored in the memory.

[0021] A computer-readable storage medium stores one or more applications, and the one or more applications can be executed by one or more processors to implement the steps of the long screenshot generation method described above.

[0022] The long screenshot generation method, long screenshot generation device, electronic device and computer-readable storage medium provided in the present application obtain a screenshot sequence of an electronic program menu interface; wherein two adjacent images in the screenshot sequence have partially identical content; determine an electronic program index area in the screenshot sequence; use the i-th screenshot in the screenshot sequence as a reference screenshot, and determine a reserved area for the i+1-th screenshot; wherein i is a positive integer greater than or equal to 1 and less than the total number of screenshots in the screenshot sequence; and splice the electronic program index area and the reserved area of ​​each screenshot in a splicing order to obtain a long screenshot. In other words, a screenshot scenario of the EPG interface that can be applied to large-screen TVs is provided, and a method for automatically generating long screenshots of the EPG interface is provided, that is, the screenshot sequence of the EPG interface is first compared, and the electronic device automatically separates the overlapping electronic program index areas in the screenshot sequence, and determines the reserved areas of multiple screenshots, and further splices the electronic program index areas and the reserved areas into a long screenshot in the splicing order; obviously, without manual operation, the overlapping areas can be automatically analyzed from the obtained screenshot sequence, and cut and spliced ​​into complete long screenshots, which saves labor costs and is conducive to embedding into other business processes. Furthermore, the electronic device can combine automated timed screenshot programs, artificial intelligence (AI) and data analysis methods to analyze more quantitative indicators such as the frequency of changes in operating positions, the degree of content operation updates, and the coverage of hot content in the EPG system, so as to establish a real-time feedback rectification and access mechanism to improve the level of customer service support. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 A flowchart of a method for generating a long screenshot provided by this application;

[0024] Figure 2 is a schematic diagram of the electronic program menu interface provided by this application;

[0025] Figure 3 A flowchart of a method for generating a long screenshot provided by this application;

[0026] Figure 4 A schematic diagram of feature point matching provided in this application;

[0027] Figure 5 A schematic diagram of a long screenshot obtained by the jigsaw puzzle method provided in the related art;

[0028] Figure 6A flowchart of a method for generating a long screenshot provided by this application;

[0029] Figure 7 A flowchart of a method for generating a long screenshot provided by this application;

[0030] Figure 8 A schematic structural diagram of a device for generating a long screenshot provided for the implementation of this application;

[0031] Figure 9 A schematic structural diagram of an electronic device provided for the implementation of this application. DETAILED DESCRIPTION

[0032] In order to make the purpose, technical solutions and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limiting this application. All other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0033] In the following description, reference is made to "some embodiments," which describe a subset of all possible embodiments. However, it will be understood that "some embodiments" may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict. Unless otherwise defined, all technical and scientific terms used in the embodiments of this application have the same meaning as commonly understood by those skilled in the art to which the embodiments of this application pertain. The terms used in the embodiments of this application are for the purpose of describing the embodiments of this application only and are not intended to limit this application.

[0034] See also Figure 1 , Figure 1 : is a flow chart of a method for generating a long screenshot provided by the present application. The method for generating a long screenshot is applied to an electronic device. The method for generating a long screenshot comprises the following steps:

[0035] Step 101: Acquire a screenshot sequence of the electronic program menu interface.

[0036] Among them, two adjacent images in the screenshot sequence have some identical content.

[0037] In an embodiment of the present application, an electronic device receives a screenshot operation instruction for an electronic program menu interface, responds to the instruction and takes a screenshot, obtains at least two screenshots of the electronic program menu interface, and organizes the at least two screenshots into a screenshot sequence based on the time of capture. Here, the operation instruction includes an instruction generated by an operation such as clicking, long pressing, or sliding.

[0038] In the embodiment of the present application, the screenshot operation may be performed by the above-mentioned electronic device or another device connected to the electronic device.

[0039] This application does not make any specific restrictions on the screenshot method or the source of the screenshot image. As long as the screenshots obtained by the electronic device are moved in the same direction and the front and back pictures are in order, the applicable scenarios of multiple screenshots are expanded. In other words, for a screenshot sequence in any scenario, a long screenshot can be generated by the long screenshot generation method provided by this application.

[0040] Figure 2 This is a schematic diagram of the electronic program menu interface provided by this application. Figure 2 As shown, the electronic program menu interface includes an electronic program index area and a recommendation area. The electronic program index area includes the function bar of the EPG system and / or the channel bar of the EPG system; the function bar includes the EPG system logo, the EPG system setting button, and the EPG system time display area; the channel bar includes the channel list corresponding to the electronic program menu interface; and the recommendation area includes all program bars.

[0041] Step 102: Determine the electronic program index area in the screenshot sequence.

[0042] In an embodiment of the present application, the electronic device analyzes each screenshot in the screenshot sequence and determines an electronic program index area of ​​each screenshot, wherein the electronic program index area includes an area corresponding to a category of electronic programs included in the EPG system.

[0043] It should be noted that, although the layout styles of EPG systems vary from manufacturer to manufacturer, the electronic program index area always floats on the EPG interface, so that the same electronic program index area appears in the same position in at least two screenshots in the screenshot sequence, for example, the electronic program index area appears above or to the left of at least two screenshots. The electronic program index area that always floats on the EPG interface directly causes the final long screenshot to be disjointed, resulting in obvious splicing marks on the screenshots, making the subsequent long screenshot unsatisfactory. Based on this, the present application limits the final long screenshot to retaining only one electronic program index area.

[0044] Step 103: Using the i-th screenshot in the screenshot sequence as a reference screenshot, determine a reserved area for the i+1-th screenshot.

[0045] Wherein, i is a positive integer greater than or equal to 1 and less than the total number of screenshot sequences.

[0046] In the embodiment of the present application, the reserved area of the (i + 1)-th screenshot does not include the electronic program guide area. Exemplarily, when determining the electronic program guide area in the screenshot sequence in step 102, the electronic device cuts off the electronic program guide area in the (i + 1)-th screenshot to obtain the recommended area of the (i + 1)-th screenshot. Here, the recommended area of the (i + 1)-th screenshot is the remaining area after cutting off the electronic program guide area in the (i + 1)-th screenshot. Further, the electronic device analyzes the column distribution of the recommended area in the (i + 1)-th screenshot, and determines the reserved area of the (i + 1)-th screenshot with the columns in the recommended area of the i-th screenshot as the minimum matching unit. Here, the reserved area of the (i + 1)-th screenshot is a sub-area of the recommended area in the (i + 1)-th screenshot. Among them, a column is the smallest cell in the recommended area, and the sizes of different columns may not be exactly the same.

[0047] It should be noted that although the column distributions of the recommended areas of different EPG systems are diverse and not fixed in typesetting, and each screenshot only shows the content of a part of the recommended area, the recommended area in each EPG system is divided into independent units. There is a unified upper and lower blank edge interval between each unit, and the interior of each unit cannot be further divided in the vertical direction and can only be divided into multiple columns in the horizontal direction, or a left-right "pin" shape structure like one large and two small. The electronic device can analyze the column distribution of the recommended area in the (i + 1)-th screenshot through the following steps:

[0048] First step: Gray-scale process the recommended area in the (i + 1)-th screenshot to obtain the gray-scaled recommended area of the (i + 1)-th screenshot.

[0049] In the embodiment of the present application, the electronic device gray-scale processes the recommended area in the (i + 1)-th screenshot through a gray-scale algorithm to obtain the gray-scaled recommended area of the (i + 1)-th screenshot. Before analyzing the recommended area in the (i + 1)-th screenshot, gray-scale processing the recommended area in the (i + 1)-th screenshot can effectively reduce the data volume, reduce the storage space and the image processing time. Here, the gray-scale algorithm includes but is not limited to the component method, the maximum value method, the average value method and the weighted average method.

[0050] Second step: Binarize the gray-scaled recommended area of the (i + 1)-th screenshot to obtain the binarized recommended area of the (i + 1)-th screenshot.

[0051] In an embodiment of the present application, to accurately analyze the column distribution in the recommended area, the electronic device removes the background using a binarization algorithm. This removes all content except for the cells corresponding to the columns in the recommended area of ​​the i+1th screenshot. This reduces the impact of background pixels on the column distribution. Exemplary binarization algorithms include, but are not limited to, the Otsu algorithm, an intermediate pixel statistics method, a percentage threshold (P-Tile) method, and the Kittler minimum error classification method, all of which are part of the adaptive brightness equalization algorithm.

[0052] The third step is to perform horizontal projection analysis on the recommended area of ​​the binarized (i+1)th screenshot to obtain the y-axis histogram.

[0053] It should be noted that the projection analysis includes traversing each pixel of the recommended area of ​​the binarized (i+1)th screenshot in the horizontal direction. Further, the electronic device filters out pixels whose value in the horizontal projection histogram is less than or equal to the noise threshold.

[0054] In the embodiment of the present application, small noise interference is filtered out by setting the noise threshold th1, and the pixel points in the horizontal projection histogram that are less than or equal to the noise threshold th1 are set to 0, and the pixel points in the binary area projection histogram that are greater than the noise threshold th1 are retained.

[0055] Step 4: Use the non-zero starting and ending points of the y-axis histogram as the segmentation points to first segment out the horizontally large unit rows. Then project each unit row vertically to obtain the x-axis histogram, and further segment the program columns within each row.

[0056] Step 5: Perform horizontal projection on each cell after the two rounds of segmentation. If the obtained y-axis histogram can continue to segment more than two rows, iterate the fourth step until there is no obvious horizontal or vertical segmentation gap in the cell.

[0057] Step 6: The electronic device records the coordinates of each segmented cell.

[0058] In this embodiment of the present application, based on the coordinates of each segmented cell, a determination is made as to whether the cell's width w or height h exceeds a threshold for the average width or height of the program column. For example, if the cell's width w or height h exceeds 50% of w0 or h0, or the cell's aspect ratio exceeds the range of [1 / r, r], an analysis is performed to determine whether the adjacent program columns cannot be separated and combined into a single frame because the frame selection and magnification interval is too small or the background image has a complex pattern. In other words, an analysis is performed to determine whether there are abnormal cells. If there are abnormal cells, the process proceeds to step 7.

[0059] Wherein, r is the ratio of the average width and height of the set program column.

[0060] In step 7, the electronic device first performs edge detection on the abnormal cell image area and then performs potential line detection on the edge detection results. The detected potential lines are then evaluated, and lines that are not approximately horizontal or vertical are removed. Finally, the length of the remaining lines is calculated. If any of the remaining lines is greater than 80% of the entire cell width or height, the cell is split using this line as the dividing line. Repeat step 4 until the internal segmentation is no longer possible. The remaining lines and the lines that are not approximately horizontal or vertical constitute the potential lines.

[0061] The edge detection operators include but are not limited to Sobel edge detection, Canny edge detection, and Roberts edge detection. The potential line detection includes but is not limited to Hough line detection.

[0062] In an embodiment of the present application, the electronic device analyzes the column distribution of the recommended area in the i+1th screenshot through the above seven steps, and divides the columns in the recommended area in the i+1th screenshot, so that the electronic device obtains the distribution of each column in the recommended area in the i+1th screenshot; the electronic device divides the image into units of entire columns based on the distribution of each column in the recommended area, thereby retaining the integrity of each program column as much as possible, and the splicing position appears in the gap between the background areas of the program columns, avoiding obvious splicing marks with inconsistent sizes above and below, and optimizing the overall appearance of the splicing result.

[0063] In an embodiment of the present application, after analyzing the column distribution of the recommended area in the (i+1)th screenshot, the electronic device segments the columns in the recommended area in the (i+1)th screenshot and determines the retained area for the (i+1)th screenshot using the content of the column corresponding to the recommended area in the (i)th screenshot as a reference. It should be noted that using the content of the corresponding column as a reference essentially involves matching feature points between the content of the column corresponding to the recommended area in the (i)th screenshot and the content of the column corresponding to the recommended area in the (i+1)th screenshot, determining the area in the (i+1)th screenshot that matches the area in the (i)th screenshot, and determining the retained area for the (i+1)th screenshot based on the matching area.

[0064] Step 104 : splice the electronic program index area and the reserved area of ​​each screenshot in a splicing order to obtain a long screenshot.

[0065] In the embodiment of the present application, the splicing order includes the sequence order of the screenshot sequence and the order between the electronic program index area and all reserved areas.

[0066] Based on the sequence order of the screenshot sequence, the electronic device sequentially splices the electronic interface index area and the reserved area of ​​each screenshot in accordance with the order between the electronic program index area and all the reserved areas, thereby obtaining a long screenshot. It should be noted that the sequence order of the screenshot sequence is determined by the capture time of at least two screenshots in the screenshot sequence.

[0067] It should be noted that this application does not adopt the idea of ​​comparing and splicing at the same time, but instead adopts a method of first determining the electronic program index area and the reserved area through comparison, and then splicing the electronic program index area and the reserved area into a long screenshot in the order of splicing. Although the final long image can be obtained by comparing and splicing at the same time with just one traversal. However, as the long screenshot continues to lengthen, the amount of calculation will gradually increase for the later pictures, and the possibility of mismatching will become greater and greater. For the more screenshots there are, the greater the calculation pressure and risk. Therefore, this application separates the comparison and splicing processes, which improves the calculation efficiency and reduces the error rate.

[0068] The present application discloses a method for generating a long screenshot, which comprises obtaining a screenshot sequence of an electronic program menu interface; wherein two adjacent images in the screenshot sequence have partially identical content; determining an electronic program index area in the screenshot sequence; using the i-th screenshot in the screenshot sequence as a reference screenshot, determining a reserved area for the i+1-th screenshot; wherein i is a positive integer greater than or equal to 1 and less than the total number of screenshots in the screenshot sequence; and splicing the electronic program index area and the reserved area of ​​each screenshot in a splicing order to obtain a long screenshot. In other words, a screenshot scenario of the EPG interface that can be applied to large-screen TVs is provided, and a method for automatically generating long screenshots of the EPG interface is provided, that is, the screenshot sequence of the EPG interface is first compared, and the electronic device automatically separates the overlapping electronic program index areas in the screenshot sequence, and determines the reserved areas of multiple screenshots, and further splices the electronic program index areas and the reserved areas into long screenshots in the splicing order; obviously, without manual operation, the overlapping areas can be automatically analyzed from the obtained screenshot sequence, and cut and spliced ​​into complete long screenshots, which saves labor costs and is conducive to embedding into other business processes. Furthermore, electronic devices can combine automated timed screenshot programs, AI and data analysis methods to analyze more quantitative indicators such as the frequency of changes in operating positions, the degree of content operation updates, and the coverage of hot content in the EPG system, so as to establish a real-time feedback rectification and access mechanism to improve the level of customer service support.

[0069] See also Figure 3 , Figure 3 : is a flow chart of a method for generating a long screenshot provided by the present application. The method for generating a long screenshot is applied to an electronic device. The method for generating a long screenshot comprises the following steps:

[0070] Step 201: Acquire a screenshot sequence of the electronic program menu interface.

[0071] Among them, two adjacent images in the screenshot sequence have some identical content.

[0072] Step 202: Analyze at least a portion of the screenshot sequence and determine that the floating region in at least the portion of the sequence remains unchanged as the electronic program index region.

[0073] In the embodiment of the present application, at least part of the screenshot sequence includes the remaining screenshots except the first screenshot.

[0074] In an embodiment of the present application, the electronic device intelligently analyzes the distribution of the electronic program index area, as well as the height or width of the electronic program index area, for at least a portion of each screenshot in the sequence. The distribution includes whether the area is arranged horizontally or vertically. It should be noted that the sub-areas within the electronic program index area of ​​the EPG interface are arranged in a regular grid pattern, with distinct demarcations between the sub-areas.

[0075] In some embodiments, step 202 analyzes at least a portion of the screenshot sequence and determines that the hovering region in at least the portion of the sequence remains unchanged as the electronic program index region, which can be achieved by the following steps:

[0076] The first step is to perform binarization processing on each screenshot in the screenshot sequence of the electronic program menu interface to obtain a binarized screenshot sequence.

[0077] In an embodiment of the present application, to accurately determine the electronic program index area, the electronic device removes the background using a binarization algorithm. This reduces the impact of background pixels on the electronic program index area. Exemplary binarization algorithms include, but are not limited to, the OTSU algorithm, the intermediate pixel statistics method, the P-Tile method, and the Kittler minimum error classification method, among other adaptive brightness equalization algorithms.

[0078] In the second step, the binarized screenshot sequence is projected horizontally and vertically with the upper left corner as the origin to obtain the y-axis histogram and the x-axis histogram. Based on the horizontal and vertical projection histograms, pixels in the binary region projection histogram that are less than or equal to the noise threshold are filtered out. Then, the third or fourth step is executed.

[0079] In the embodiment of the present application, small noise interference is filtered out by setting the noise threshold th1, and the pixel points in the binary area projection histogram that are less than or equal to the noise threshold th1 are set to 0, and the pixel points in the binary area projection histogram that are greater than the noise threshold th1 are retained.

[0080] The third step is to use the non-zero starting and ending points of the y-axis histogram as the splitting points. Since the function bar of the electronic program index area is generally at the top, the non-zero value area of ​​the first row of the y-axis histogram is the function bar. Get the height of the non-zero value area of ​​the second row of the y-axis histogram, and compare to get the height of the second row is less than the usual column height threshold th2, project the second row horizontally alone, and get the x-axis histogram corresponding to the second row. Use the non-zero starting and ending points in the x-axis histogram as the splitting points. If the number of non-zero columns split out is greater than the column number threshold, for example, the number of non-zero columns split out is greater than 5, then the row is considered to be the channel column of the sub-program index area. The first and second rows of the y-axis histogram constitute the electronic program index area.

[0081] In the fourth step, the electronic device uses the non-zero starting and ending points of the x-axis histogram as the segmentation points. The x-axis histogram is analyzed for non-zero starting and ending points. If the width of the first column of the x-axis histogram is less than the column width threshold, for example, the width of the first column of the x-axis histogram is less than 1 / 6 of the entire screen width w, a vertical projection analysis is performed on the first column to obtain the y-axis histogram. If the number of non-zero rows in the first column of the y-axis histogram after vertical projection of the first column is greater than the column number threshold, for example, the number of non-zero rows in the first column is greater than 6, then the first column is considered to be the channel column, and there is no function column in the graph. The first column of the x-axis histogram is the electronic program index area.

[0082] Step 5: Record the direction, starting point, and ending point of the electronic program index area of ​​each screenshot to obtain the height or width of the electronic program index area. Then, based on the height or width of the electronic program index area, cut off the electronic program index area of ​​at least part of the screenshot sequence.

[0083] In an embodiment of the present application, the electronic device counts the direction corresponding to the electronic program index area of ​​each screenshot in the screenshot sequence, and determines that the most common direction in the screenshot sequence is the direction corresponding to the electronic program index area.

[0084] In this embodiment of the present application, since the final long screenshot only has one electronic program index area, the electronic program index area that remains suspended in at least a portion of the screenshot sequence is cropped. The height of the electronic program index area is determined based on the starting and ending points of the function bar and channel bar corresponding to the electronic program index area. Based on the height of the electronic program index area, the electronic program index area of ​​at least a portion of the screenshot sequence is cropped. If the screenshot does not have a channel bar, the ending point is set to 0.

[0085] Step 203: Determine the i-th local area in the i-th screenshot that is different from the electronic program index area.

[0086] Wherein, i is a positive integer greater than or equal to 1 and less than the total number of screenshot sequences.

[0087] In the embodiment of the present application, the electronic device cuts out the electronic program index area in the i-th screenshot to obtain the i-th local area in the i-th screenshot that is different from the electronic program index area.

[0088] Step 204: Determine the (i+1)th local area in the (i+1)th screenshot that is different from the electronic program index area.

[0089] In the embodiment of the present application, the electronic device cuts off the electronic program index area in the (i+1)th screenshot to obtain the (i+1)th local area in the (i)th screenshot that is different from the electronic program index area.

[0090] Step 205: Using the i-th local area as a reference, perform feature point matching on the i-th local area and the i+1-th local area, and determine that the area where the feature point matching result corresponding to the i+1-th local area meets the matching conditions belongs to the reserved area of ​​the i+1-th screenshot.

[0091] In the embodiment of the present application, the area where the matching result satisfies the matching condition includes at least one complete area below the area in the (i+1)th local area that completely matches the i-th local area.

[0092] In an embodiment of the present application, the electronic device performs feature point matching on the i-th local area and the i+1-th local area, that is, finds the connection between the local areas of the two screenshots; and then obtains the repeated image areas in the local areas of the two screenshots.

[0093] It should be noted that, in the related art, image matching is performed by simple translation, such as accurate matching of local image blocks, as long as the local image pixel values ​​of the two are completely consistent, they can be matched. Although this method is easy to implement, it is sensitive to any slight difference in image pixel values ​​(for example, when saving files in a lossy compression format), and the search traversal efficiency is greatly affected by the image size. It is only suitable for scenarios where the data is relatively clean and the data volume is not large. It is not suitable for scenarios where the EPG interface of this application may have compression damage during the saving process of the selected image. For some improved methods, for example, the statistical features of the local image blocks are calculated, such as the average pixel value within the block; however, although the calculation of statistical features increases the fault tolerance rate to a certain extent, it can only represent the similarity of the overall distribution. For situations such as the enlargement of the box selection of a TV program, or the display of half of the program due to the up and down switching of the screen, this method cannot match the same program well. At the same time, since this application uses the content of the image itself to realize the subsequent long image splicing, the sliding mode of the EPG waterfall interface relies on the remote control direction keying, and the screen switching is discontinuous. Affected by the EPG column layout, the sliding distance is not fixed and uncontrollable, the fixed offset puzzle method is not applicable, and the displacement distance between adjacent pictures is not fixed and unknown. Therefore, when determining the retained area of ​​each screenshot, this application adopts the local feature point matching method to perform accurate matching of similar image blocks.

[0094] This application uses local feature points including Harris corner points, scale-invariant feature transform (SIFT), speed-up robust features (SURF), fast feature point extraction and description algorithm (Oriented FAST and Rotated BRIEF, ORB), and features from accelerated segment test (FAST).

[0095] In an embodiment of the present application, the electronic device obtains a plurality of feature points on the i-th local area and the i+1-th local area for each screenshot, and constructs a feature vector based on the set of feature points.

[0096] After obtaining the local feature points of each image, the present application uses a matching algorithm to match the i-th local area with the i+1-th local area to obtain a matching result.

[0097] Here, matching algorithms include brute force matching, cross matching, K-Nearest Neighbor (KNN), Random Sample Consensus (RANSAC), and Fast Approximate Nearest Neighbor Search Library (FLANN). This application compares the feature vectors corresponding to the i-th local region and the i+1-th local region to screen out a mapping set of matching points between the i-th local region and the i+1-th local region.

[0098] It should be noted that the motion vectors of the matching points between two adjacent screenshots in the screenshot sequence are similar, but there may be individual mismatches, for example, "education" and "sports" may be matched. Therefore, this application will remove such obvious erroneous feature points through the following steps:

[0099] By calculating the corresponding motion vectors of all feature points matching between two adjacent screenshots, cluster analysis is performed based on direction angle and distance, and abnormal feature points that do not belong to the maximum interval are removed.

[0100] In some embodiments, since this application does not obtain any information when taking screenshots, it is necessary to automatically analyze the direction of splicing based on the matching relationship between the previous and next images. Therefore, based on the motion vector, it can be determined whether the movement direction of the entire image sequence is up and down or sliding left and right.

[0101] Figure 4 This is a schematic diagram of feature point matching provided by this application. Figure 4 As shown, 401 is the i-th local area and 402 is the i+1-th local area. Based on the feature points of each screenshot in the i-th local area 401 and the i+1-th local area 402, the corresponding motion vectors are matched to remove the erroneous feature points in "Education" and "Sports". In other words, by locating the segmentation position based on the local feature points and the program column distribution position, the application eliminates abnormal matching points, thereby solving the problem of adjacent frames sticking together and merging due to program column division, and ensuring the accuracy of the segmentation position.

[0102] In the embodiment of the present application, step 205 uses the i-th local area as a reference, performs feature point matching on the i-th local area and the i+1-th local area, and determines that the area where the feature point matching result corresponding to the i+1-th local area meets the matching conditions belongs to the reserved area of ​​the i+1-th screenshot. This can be implemented by steps A1 to A2, or by steps A1 and A3, or by steps A1 and A4:

[0103] Step A1: perform feature point matching on the i-th local area and the i+1-th local area to determine whether a continuous area in the i-th local area matches multiple sub-areas in the i+1-th local area.

[0104] Among them, multiple sub-regions are independently displayed in the (i+1)th local region.

[0105] Step A2: If the multiple sub-regions in the (i+1)th local region completely match a continuous region, determine that the multiple sub-regions in the (i+1)th local region belong to the reserved region of the (i+1)th screenshot.

[0106] Step A3: If the multiple sub-regions do not completely match the continuous region, determine that the region with the greatest matching degree between the multiple sub-regions and the partial region of the continuous region belongs to the retained region of the (i+1)th screenshot.

[0107] Step A4: If multiple sub-regions in the (i+1)th local region do not completely match a continuous region, and one sub-region among the multiple sub-regions completely matches a partial region of a continuous region, determine that the one sub-region belongs to the retained region of the (i+1)th screenshot.

[0108] In the embodiments of the present application, the mosaic method of the related art can be used to stitch the images together once a precise corresponding point is found. This is applicable when there is no difference between the previous and next images. However, in the EPG interface, there are independent program columns, and when the remote control is clicked, the selected column is magnified. If the mosaic is directly based on the location of the feature point, if there happens to be a change in the status of the program column from selected to unselected between the previous and next frames, the traces of the splicing of the column will be obvious, affecting the overall viewing experience. Figure 5 It is a schematic diagram of a long screenshot obtained by the jigsaw puzzle method in the related art. Figure 5 As shown, the splicing traces in 501 will be very obvious, affecting the overall splicing effect. Therefore, the first principle in selecting the split point is: try to ensure that the split position does not appear in the middle of the program column, and the program column with complete display is completely retained.

[0109] It should be noted that since the EPG interface is not static, in addition to the aforementioned zooming and selection changes, there are other non-fixed situations. For example, the general interface setting is a long image with a fixed layout. Switching the screen only moves the display to different areas, and at most changes such as the selection box zooming in. To ensure that the selection column is in the center row of the screen, the top or bottom column may be only half displayed. Some interfaces are set to not display the top or bottom program column if it is not fully displayed. It will appear when the screen height is high enough to fully display the column. In this case, the distance between column rows is not fixed, and it is necessary to intelligently select the starting and ending points to ensure a natural splicing.

[0110] In the embodiment of the present application, feature point matching is performed on the i-th local area and the i+1-th local area, and a starting point and an end point are intelligently selected, including the following steps:

[0111] In the first step, the electronic device determines the column position of each feature point corresponding to the content of each program column in the i-th local area based on the feature points in the i-th local area, and excludes feature points that do not fall within the program column of the i+1-th local area. It should be noted that the program column distribution is represented in the form of row and column numbers.

[0112] The second step is to determine the row number u of the bottom row where there are matching feature points in the i-th local area, record the matching feature points in all program columns in this row, and find the program column row number d corresponding to these matching feature points in the i+1-th local area.

[0113] In step 3, if the electronic device determines that there are multiple ds in the (i+1)th local area, that is, if it determines that there is a continuous area in the (i)th local area that matches multiple sub-areas in the (i+1)th local area, the electronic device determines a reserved area in the (i+1)th local area based on the following conditions.

[0114] Case 1: If the electronic device determines that none of the d matched by the i+1th local area is the first row in the i+1th local area, that is, it determines that multiple sub-areas in the i+1th local area are completely matched with a continuous area, then it is considered that the u rows of the i-th local area are adhered. This application takes the upper edge of the program column of the u row of the i-th local area as the division point hUp, and takes the upper edge of the top row of program columns in the d rows matched in the i+1th local area as the division point hDown.

[0115] Case 2: If row u of the electronic device's i-th local area matches multiple rows of the i+1-th local area and is not near the bottom edge, and the bottom row of the multiple d's matched by the i+1-th local area is not the bottom row of the image, then the multiple sub-areas in the i+1-th local area are determined to completely match a continuous area. The bottom edge of row u of the program column in the i-th local area is used as the split point hUp, and the bottom edge of the bottom row of the multiple d's matched by the i+1-th local area is used as the split point hDown.

[0116] Case 3: If multiple sub-regions do not completely match a continuous region, the electronic device obtains the region with the maximum matching degree between the multiple sub-regions and a partial region in a continuous region as the retained region of the (i + 1)-th screenshot. That is, take the median of d in the (i + 1)-th partial region that is matched, and inversely deduce the line number u_lookback of all matching points in this row falling in the i-th partial region according to d. If u_lookback is unique and equal to u, calculate the heights uHeight and dHeight of the matching blocks of these two rows respectively based on the previously obtained u and d. If u_lookback is not unique, take the line number u with the maximum matching degree between the multiple sub-regions and the d row.

[0117] If the height of the u row is greater than the height of the d row, that is, uHeight > dHeight, it is considered that the block corresponding to the d row in the (i + 1)-th partial region is incomplete. Further judge whether the u row corresponding to the i-th partial region is close to the bottom edge. If it is not close, retain the repeated region in the above figure, hUp takes the lower edge of the u row, and hDown takes the lower edge of the d row; if the u row corresponding to the i-th partial region is close to the bottom edge, both the u row and the d row may be incomplete, and take the coordinates of the lowest point pair (ptU, ptD) in the set of matching points as the cut-off point. Among them, ptU is the abscissa of the matching point closest to the bottom edge among all matching points in the i-th partial region and the (i + 1)-th partial region, and ptD is the ordinate of the matching point closest to the bottom edge in the i-th partial region or the (i + 1)-th partial region.

[0118] If the height of the u row is less than the height of the d row, that is, uHeight < dHeight, it is considered that the u row corresponding to the i-th partial region is incomplete. Further judge whether the d row corresponding to the (i + 1)-th partial region is close to the top edge. If it is not close, retain the repeated region in the (i + 1)-th partial region, hUp takes the upper edge of the u row, and hDown takes the upper edge of the d row; if the d row corresponding to the (i + 1)-th partial region is close to the top edge, both the u row and the d row may be incomplete, and take the coordinates of the lowest point (ptU, ptD) in the set of matching points as the cut-off point.

[0119] If the height of the u row is equal to the height of the d row, that is, uHeight = dHeight, hUp takes the upper edge of the u row, and hDown takes the upper edge of the d row.

[0120] In the embodiments of the present application, after the electronic device sequentially performs the above processes on the screenshot sequence and obtains a series of segmentation positions, each screenshot will be calculated with its previous and next pictures to obtain the starting point hDown and the ending point hUp of the reserved area respectively. Under normal circumstances, hDown < hUp, but a conflict situation may occur during this process: when calculating the ending point hUp of the reserved area between the current screenshot and the next screenshot, it is above the starting point hDown of the reserved area calculated previously. When this situation occurs, calculate the difference Δh between the current hUp and the previous hDown, skip this picture directly, and offset the starting point of the reserved area of its next picture downward by Δh. Since there are consecutive repeated pictures in the screenshot sequence, several intermediate pictures are skipped directly, and when hDown > hUp appears in the current screenshot, it is necessary to trace back to the position of the first repeated picture at the beginning. If the current calculated hUp is below the ending point of the reserved area of the first repeated picture, update the ending point of the first repeated picture to hUp, and the next screenshot starts to be reserved normally with hDown as the starting point. If hUp is above the ending point of the reserved area of the first repeated picture, calculate Δh similarly, and offset the starting point of the reserved area of the next picture downward by Δh. After these calculations, the starting point and ending point coordinates of the reserved area of each picture can be obtained. The characteristics of these sequences are that under normal circumstances, the segmentation positions are all at the upper or lower edge of the program bar, and they can handle the problems of repeated screenshots, partial incomplete loading, frame skipping, and missing frames in the related technology during automated screenshotting, making the splicing of the entire long screenshot more accurate, with a higher error tolerance, being able to correctly match these areas in the front and back pictures, and greatly reducing the situation of mis-matching, so that the splicing will not be disordered. At the same time, the present application first compares two by two and then performs global analysis. By specially analyzing and processing specific situations, it avoids the situation of partial picture repetition and missing caused by direct splicing in one comparison, making the splicing result more accurate and reducing the calculation pressure at the same time.

[0121] Step S206: Splice the electronic program index area and the reserved area of each screenshot according to the splicing order to obtain a long screenshot.

[0122] In the embodiments of the present application, if i is 1, splice the electronic program index area, the first local area, and the reserved area of each screenshot after the first one according to the splicing order to obtain a long screenshot.

[0123] Figure 6 It is a schematic flowchart of a method for generating a long screenshot provided by the present application. The electronic device first performs feature point matching, then locates the segmentation points, and finally splices the electronic program index area and the reserved area of each screenshot according to the splicing order to splice into a long screenshot. Obviously, the present application directly uses image processing algorithms to intelligently analyze the correlation between adjacent images and automatically realizes the splicing of a complete long screenshot.

[0124] It should be noted that, for the description of the same steps and contents in this embodiment as those in other embodiments, reference can be made to the description in other embodiments and will not be repeated here.

[0125] See also Figure 7 , Figure 7 : is a flow chart of a method for generating a long screenshot provided by the present application. The method for generating a long screenshot is applied to an electronic device. The method for generating a long screenshot comprises the following steps:

[0126] Step 701: Obtain a screenshot sequence.

[0127] Step 702: Analyze the functional area layout, that is, determine the electronic program index area in the screenshot sequence.

[0128] Step 703: Analyze the layout of the recommended program operation positions, that is, determine the reserved area of ​​the (i+1)th screenshot, where i is a positive integer greater than or equal to 1 and less than the total number of the screenshot sequence.

[0129] Step 704: Extract and match local feature points.

[0130] Step 705: Calculate the splicing and segmentation positions based on the layout.

[0131] Step 706: Capture and stitch together the screenshots.

[0132] Step 707: Get a complete long screenshot of the EPG interface.

[0133] Based on the above embodiments, the present application provides a device for generating a long screenshot, which can be applied to Figure 1 、 Figure 3 In the method for generating a long screenshot provided in the corresponding embodiment, refer to Figure 8 As shown, the long screenshot generating device 8 includes:

[0134] The acquisition unit 801 is configured to acquire a screenshot sequence of the electronic program menu interface; wherein two adjacent images in the screenshot sequence have some identical content;

[0135] The processing unit 802 is configured to determine an electronic program index region in the screenshot sequence;

[0136] The processing unit 802 is further configured to determine a reserved area for the (i+1)th screenshot using the i-th screenshot in the screenshot sequence as a reference screenshot; wherein i is a positive integer greater than or equal to 1 and less than the total number of screenshots in the screenshot sequence;

[0137] The processing unit 802 is further configured to splice the electronic program index area and the reserved area of ​​each screenshot in a splicing order to obtain a long screenshot.

[0138] In other embodiments of the present application, the long screenshot generating device 8 further includes:

[0139] The processing unit 802 is configured to determine an i-th local area in the i-th screenshot that is different from the electronic program index area;

[0140] The processing unit 802 is further configured to determine an (i+1)th local area in the (i+1)th screenshot that is different from the electronic program index area;

[0141] The processing unit 802 is also used to perform feature point matching on the i-th local area and the i+1-th local area with reference to the i-th local area, and determine that the area where the feature point matching result corresponding to the i+1-th local area meets the matching conditions belongs to the retained area of ​​the i+1-th screenshot.

[0142] In other embodiments of the present application, the long screenshot generating device 8 further includes:

[0143] The processing unit 802 is configured to, if i is 1, splice the electronic program index area, the first local area, and the reserved area of ​​each screenshot after the first in a splicing order to obtain a long screenshot.

[0144] In other embodiments of the present application, the long screenshot generating device 8 further includes:

[0145] Processing unit 802 is configured to perform feature point matching on the i-th local region and the i+1-th local region, and determine that a continuous region in the i-th local region matches multiple subregions in the i+1-th local region; wherein the multiple subregions are independently displayed in the i+1-th local region;

[0146] The processing unit 802 is further configured to determine that the multiple sub-regions in the (i+1)th local region belong to the reserved region of the (i+1)th screenshot if the multiple sub-regions in the (i+1)th local region completely match a continuous region.

[0147] In other embodiments of the present application, the long screenshot generating device 8 further includes:

[0148] The processing unit 802 is configured to determine that a subregion belongs to the reserved area of ​​the (i+1)th screenshot if multiple subregions in the (i+1)th local area do not completely match a continuous area, and a subregion among the multiple subregions completely matches a partial area of ​​a continuous area.

[0149] In other embodiments of the present application, the long screenshot generating device 8 further includes:

[0150] The processing unit 802 is configured to determine, if the multiple sub-regions do not completely match the one continuous region, that the region with the greatest matching degree between the multiple sub-regions and the partial region of the one continuous region belongs to the reserved region of the (i+1)th screenshot.

[0151] In other embodiments of the present application, the long screenshot generating device 8 further includes:

[0152] The processing unit 802 is configured to analyze at least a portion of the screenshot sequence and determine that a region in the at least portion of the sequence that remains unchanged while suspended is an electronic program index region.

[0153] It should be noted that the specific implementation process of the steps performed by the acquisition unit 801 and the processing unit 802 in this embodiment can be referred to Figure 1 、 Figure 3 The implementation process of the long screenshot generation method provided in the corresponding embodiment will not be repeated here.

[0154] The present application provides an electronic device which can be used in Figure 1 、 Figure 3 In the method for generating a long screenshot provided by the corresponding embodiment, referring to Figure 9 As shown, the electronic device 9 includes: a processor 901, a memory 902 and a communication bus 903, wherein:

[0155] The communication bus 903 is used to implement communication between the processor 901 and the memory 902 .

[0156] The processor 901 is configured to execute the long screenshot generation program stored in the memory 902 to implement the following steps:

[0157] Obtaining a screenshot sequence of an electronic program menu interface; wherein two adjacent images in the screenshot sequence have some identical content;

[0158] determining an electronic program index region in a screenshot sequence;

[0159] Taking the i-th screenshot in the screenshot sequence as a reference screenshot, determine the reserved area for the i+1-th screenshot; where i is a positive integer greater than or equal to 1 and less than the total number of screenshots in the screenshot sequence;

[0160] According to the splicing order, the electronic program index area and the reserved area of ​​each screenshot are spliced ​​together to obtain a long screenshot.

[0161] The processor 901 is configured to execute the long screenshot generation program stored in the memory 902 to implement the following steps:

[0162] Determine an i-th local area in the i-th screenshot that is different from the electronic program index area;

[0163] Determine the (i+1)th local area in the (i+1)th screenshot that is different from the electronic program index area;

[0164] Taking the i-th local area as a reference, feature point matching is performed on the i-th local area and the i+1-th local area, and the area where the feature point matching result corresponding to the i+1-th local area meets the matching conditions is determined to belong to the retained area of ​​the i+1-th screenshot.

[0165] The processor 901 is configured to execute the long screenshot generation program stored in the memory 902 to implement the following steps:

[0166] If i is 1, the electronic program index area, the first local area, and the reserved area of ​​each screenshot after the first are spliced ​​in the splicing order to obtain a long screenshot.

[0167] The processor 901 is configured to execute the long screenshot generation program stored in the memory 902 to implement the following steps:

[0168] Perform feature point matching on the i-th local area and the i+1-th local area to determine whether a continuous area in the i-th local area matches multiple sub-areas in the i+1-th local area; wherein the multiple sub-areas are independently displayed in the i+1-th local area;

[0169] If the multiple sub-regions in the (i+1)th local region completely match a continuous region, it is determined that the multiple sub-regions in the (i+1)th local region belong to the reserved region of the (i+1)th screenshot.

[0170] The processor 901 is configured to execute the long screenshot generation program stored in the memory 902 to implement the following steps:

[0171] If multiple subregions in the (i+1)th local region do not completely match a continuous region, and one subregion among the multiple subregions completely matches a partial region in a continuous region, it is determined that the one subregion belongs to the retained region of the (i+1)th screenshot.

[0172] The processor 901 is configured to execute the long screenshot generation program stored in the memory 902 to implement the following steps:

[0173] If the multiple sub-regions do not completely match the one continuous region, it is determined that the region with the greatest matching degree with the partial region of the one continuous region among the multiple sub-regions belongs to the retained region of the (i+1)th screenshot.

[0174] The processor 901 is configured to execute the long screenshot generation program stored in the memory 902 to implement the following steps:

[0175] At least a portion of the screenshot sequence is analyzed to determine that a region in the at least portion of the sequence that remains suspended is an electronic program index region.

[0176] It should be noted that the specific implementation process of the steps executed by the processor in this embodiment can be referred to Figure 1 、 Figure 3 The implementation process of the long screenshot generation method provided in the corresponding embodiment will not be repeated here.

[0177] Based on the above embodiments, embodiments of the present application provide a computer-readable storage medium storing one or more applications, which can be executed by one or more processors to implement the following. Figure 1 、 Figure 3 The corresponding embodiment provides a method for generating a long screenshot.

[0178] It should be noted that the above-mentioned computer-readable storage medium can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory (Flash Memory), a magnetic surface storage, an optical disc, or a compact disc read-only memory (CD-ROM); it can also be various electronic devices that include one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.

[0179] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.

[0180] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0181] Through the description of the above embodiments, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus necessary general hardware devices, and of course can also be implemented by hardware, but in many cases the former is a better embodiment. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0182] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer application products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer application instructions. These computer application instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0183] These computer application instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0184] These computer application instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0185] The above are only preferred embodiments of the present application and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A method for generating a long screenshot, characterized in that: The method comprises: Acquire a screenshot sequence of an electronic program menu interface; wherein two adjacent images in the screenshot sequence have partially identical content; determining an electronic program index area in the screenshot sequence; Determining an i-th local area in the i-th screenshot in the screenshot sequence that is different from the electronic program index area; Determining an (i+1)th local area in the (i+1)th screenshot that is different from the electronic program index area; Determining an (i+2)th local area in the (i+2)th screenshot that is different from the electronic program index area; Based on binarization, horizontal projection histogram analysis, and vertical projection histogram analysis, each column of the (i+1)th local area is segmented, and the columns corresponding to the (i)th local area and the (i+1)th local area are used as minimum matching units. Local feature point matching and motion vector analysis are used to perform feature point matching on the (i)th local area and the (i+1)th local area, and on the (i+1)th local area and the (i+2)th local area, to determine a retained area for the (i+1)th screenshot; wherein i is a positive integer greater than or equal to 1 and less than the total number of the screenshot sequence; splicing the electronic program index area and the reserved area of ​​each screenshot in a splicing order to obtain a long screenshot; The performing feature point matching on the i-th local area and the i+1-th local area, and on the i+1-th local area and the i+2-th local area to determine the retained area of ​​the i+1-th screenshot includes: Determine that all program columns in the bottom row, row number u1, of the i-th local area having matching feature points with the i+1-th local area correspond to program column row number d1 in the i+1-th local area, and that all program columns in the bottom row, row number u2, of the i+1-th local area having matching feature points with the i+2-th local area correspond to program column row number d2 in the i+2-th local area; If there are multiple d1s, and the rows corresponding to the multiple d1s are not the first row in the (i+1)th local area, the top edge of the topmost row of program columns among the matched program column row numbers in the (i+1)th local area is determined as the starting point of the reserved area; If there are multiple d2s, and the rows corresponding to the multiple d2s are not the first row in the (i+2)th local area, the upper edge of the program column corresponding to u2 in the (i+1)th local area is determined as the cutoff point of the reserved area; If there are multiple d1s, and u1 matches multiple rows of the (i+1)th local area and is not close to the bottom edge, and the bottom row corresponding to the multiple d1s is not the bottom row of the (i+1)th screenshot, determine the bottom edge of the bottom row of program columns among the row numbers of the program columns matched in the (i+1)th local area as the starting point of the reserved area; If there are multiple d2s, and the u2 matches multiple rows of the i+2th local area and is not close to the bottom edge, and the bottom row corresponding to the multiple d2s is not the bottom row of the i+2th screenshot, determine the bottom edge of the program column corresponding to u2 of the i+1th local area as the cutoff point of the reserved area.

2. The method according to claim 1, characterized in that If i is 1, the electronic program index area and the reserved area of ​​each screenshot are spliced ​​together in a splicing order to obtain a long screenshot, including: According to the splicing order, the electronic program index area, the first local area and the reserved area of ​​each screenshot after the first are spliced ​​together to obtain the long screenshot.

3. The method according to claim 1, characterized in that Determining that an area in which the feature point matching result corresponding to the i+1th local area satisfies the matching condition belongs to the reserved area of ​​the i+1th screenshot includes: Performing feature point matching on the i-th local area and the i+1-th local area to determine whether a continuous area in the i-th local area matches multiple sub-areas in the i+1-th local area; wherein the multiple sub-areas are independently displayed in the i+1-th local area; If the multiple sub-regions do not completely match the one continuous region, determine that the region among the multiple sub-regions with the maximum matching degree with the partial region in the one continuous region belongs to the retained region of the (i+1)th screenshot; wherein, if one sub-region among the multiple sub-regions completely matches the partial region in the one continuous region, the one sub-region is the region with the maximum matching degree.

4. The method according to any one of claims 1 to 3, characterized in that Determining the electronic program index area in the screenshot sequence includes: Analyze at least a portion of the screenshot sequence and determine that a region in the at least portion of the sequence that remains unchanged while being suspended is the electronic program index region.

5. A device for generating a long screenshot, characterized in that: The long screenshot generating device includes: An acquisition unit, configured to acquire a screenshot sequence of an electronic program menu interface; wherein two adjacent images in the screenshot sequence have some identical content; a processing unit, configured to determine an electronic program index region in the screenshot sequence; The processing unit is further used to determine the i-th local area in the i-th screenshot in the screenshot sequence that is different from the electronic program index area; determine the i+1-th local area in the i+1-th screenshot that is different from the electronic program index area; determine the i+2-th local area in the i+2-th screenshot that is different from the electronic program index area; based on binarization, horizontal projection histogram analysis method, and vertical projection histogram analysis method, segment each column of the i+1-th local area, and use the columns corresponding to the i-th local area and the i+1-th local area as the minimum matching unit, adopt local feature point matching method and motion vector analysis, to segment the columns of the i+1-th local area. The i-th local area and the i+1-th local area, as well as the i+1-th local area and the i+2-th local area are matched with each other to determine the retained area of ​​the i+1-th screenshot; wherein, i is a positive integer greater than or equal to 1 and less than the total number of the screenshot sequence; wherein, the i-th local area and the i+1-th local area, as well as the i+1-th local area and the i+2-th local area are matched with each other to determine the retained area of ​​the i+1-th screenshot, including: determining all program column pairs in the bottom row number u1 of the i-th local area having feature points matching the i+1-th local area All program columns in the program column row number d1 in the i+1th local area and the bottom row number u2 of the feature points that match the i+2th local area in the i+1th local area correspond to the program column row number d2 in the i+2th local area; if there are multiple d1s, and the rows corresponding to the multiple d1s are not the first row in the i+1th local area, determine the upper edge of the top row of program columns in the matched program column row numbers in the i+1th local area as the starting point of the reserved area; if there are multiple d2s, and the rows corresponding to the multiple d2s are not the first row in the i+2th local area, determine the top edge of the top row of program columns in the i+1th local area as the starting point of the reserved area. The upper edge of the program column is used as the cutoff point of the reserved area; if there are multiple d1s, and the u1 matches multiple rows of the i+1th local area and is not close to the bottom edge, and the bottom row corresponding to the multiple d1s is not the bottom row of the i+1th screenshot, the bottom edge of the program column in the row number of the matched program column in the i+1th local area is determined as the starting point of the reserved area; if there are multiple d2s, and the u2 matches multiple rows of the i+2th local area and is not close to the bottom edge, and the bottom row corresponding to the multiple d2s is not the bottom row of the i+2th screenshot, the bottom edge of the program column corresponding to u2 in the i+1th local area is determined as the cutoff point of the reserved area; The processing unit is further configured to splice the electronic program index area and the reserved area of ​​each screenshot in a splicing order to obtain a long screenshot.

6. An electronic device, characterized in that: The electronic device comprises: a memory for storing executable instructions; The processor is configured to implement the method for generating a long screenshot according to any one of claims 1 to 4 when executing the executable instructions stored in the memory.

7. A computer-readable storage medium, characterized in that The computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the method for generating a long screenshot according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Page screenshot generation method, device, computer equipment and storage medium

    CN111522742A