Projection correction method and device, projection equipment and storage medium
By obtaining adjustment operations from the projection calibration page, determining vertex coordinates, and updating the projected image, the problem of calibration efficiency and effectiveness under the lack of hardware support in projection devices is solved, achieving efficient projection image calibration and a superior user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-25
- Publication Date
- 2026-04-07
AI Technical Summary
Existing projection devices, lacking hardware support such as cameras, have poor efficiency and effectiveness in correcting projected images. In particular, purely manual four-point keystone correction is cumbersome and cannot achieve aspect ratio correction for projected images.
By obtaining the adjustment operations of the projected image on the projection calibration page, determining the coordinates of the vertices, and using the image calibration function to update the original image of the projected image, step-by-step calibration is achieved, avoiding sudden image changes and dead zones, and improving the user experience.
It improves the efficiency and effectiveness of projection image calibration, enhances the user's visual experience, solves the problems of tedious manual calibration and sudden image changes, and provides a better user experience.
Smart Images

Figure CN115529443B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of projection technology, in particular to a projection correction method and device, a projection equipment and a storage medium. BACKGROUND
[0002] With the development of social economy and the progress of electronic information technology, the intelligent projection industry has ushered in a great development, and the problem brought along is the correction problem of the projection picture. How to quickly correct the picture has become an important issue in the projection industry.
[0003] At present, the commonly used projection correction scheme includes pure manual four-point keystone correction and full-automatic keystone correction (AK). The AK method has high intelligence and can realize correction when having three compound angles of pitch angle, roll angle and yaw angle. However, the AK method depends on hardware such as camera and gyroscope, and is generally used in high-end projection equipment. However, some relatively low-priced projection products do not have camera and other hardware devices to support full-automatic keystone correction, and belong to non-feedback adjustment equipment, only having pure manual four-point keystone correction function. The pure manual four-point keystone correction has the following shortcomings: the user needs to manually adjust four points, which is relatively cumbersome, and the projection picture with the required aspect ratio cannot be obtained.
[0004] Therefore, how to improve the correction efficiency of the projection picture while reducing the dependence on the hardware of the projection equipment has become a problem to be solved. SUMMARY
[0005] The present application aims at the deficiencies in the prior art, and provides a projection correction method, device, projection equipment and storage medium, so as to solve the problems of poor correction efficiency and correction effect of the projection picture in the prior art.
[0006] To achieve the above-mentioned purpose, the technical solutions adopted by the embodiments of the present application are as follows:
[0007] In a first aspect, the embodiments of the present application provide a projection correction method, comprising: obtaining a first adjustment operation for a first vertex of a projection picture in a projection correction page; the first adjustment operation is used to indicate that the first vertex is moved by a first distance along a first direction;
[0008] According to the indication of the first adjustment operation, the coordinates of a second vertex are determined, the second vertex being a new vertex after the movement of the first vertex;
[0009] According to the coordinates of the second vertex and a picture correction function, an original image corresponding to the projection picture is updated to obtain a target image;
[0010] The target image is input into a projection light machine and projected to obtain a corrected projection picture.
[0011] Optionally, the method further comprises:
[0012] If the projection correction page is exited and re-entered, in response to a second adjustment operation on the second vertex in the current projection picture, a movement distance of the second vertex is determined;
[0013] Coordinate information of a second target point mapped with the second vertex in the projection light machine after previous projection correction is obtained;
[0014] According to the coordinate information of the second target point and the movement distance of the second vertex, a coordinate of a third vertex is determined, the third vertex being a new vertex after the movement of the second vertex;
[0015] According to the coordinate of the third vertex, the correction of the projection picture is re-performed.
[0016] Optionally, the determining of the coordinate of the third vertex according to the coordinate information of the second target point and the movement distance of the second vertex comprises:
[0017] According to the coordinate information of the second target point and a calculation relationship between image coordinate information in the projection light machine and image coordinate information in the projection correction page, a coordinate of the second vertex in the projection correction page after previous projection correction is determined;
[0018] According to the coordinate of the second vertex and the movement distance of the second vertex, the coordinate of the third vertex is determined.
[0019] Optionally, the method further comprises:
[0020] Whether the projection pictures after adjacent corrections enter a dead zone mode is detected;
[0021] If yes, the adjustment operation on the current projection picture is stopped.
[0022] Optionally, the detecting whether the projection pictures after adjacent corrections enter the dead zone mode comprises:
[0023] First coordinate information of an original image corresponding to the projection picture, second coordinate information of a target image corresponding to the projection picture, and third coordinate information of an actual image obtained after a point is determined according to the coordinate information of the target image are obtained;
[0024] If the first coordinate information is equal to the third coordinate information, and the second coordinate information is not equal to the third coordinate information, it is determined that the dead zone mode is entered.
[0025] Optionally, after the adjustment operation on the current projection picture is stopped, the method further comprises:
[0026] sending prompt information to the user, the prompt information being used to prompt the user to stop inputting the adjustment operation for the current projection picture.
[0027] Optionally, after the target image is input into the projection light machine and projected to obtain the corrected projection picture, the method further comprises:
[0028] determining whether the corrected projection picture is a rectangular image with the preset display ratio;
[0029] If not, a second adjustment operation for a second vertex of the projection picture is continuously obtained in the projection correction page, a coordinate of a third vertex after movement is determined according to an indication of the second adjustment operation, the third vertex being a new vertex after movement of the second vertex;
[0030] a target image is obtained by updating the original image corresponding to the projection picture according to the coordinate of the third vertex and a picture correction function;
[0031] the target image is input into the projection light machine and projected to obtain the corrected projection picture, until the corrected projection picture is the rectangular image with the preset display ratio.
[0032] Optionally, the target image is obtained by updating the original image corresponding to the projection picture according to the coordinate of the second vertex and the picture correction function, comprising:
[0033] a movement parameter of a first target point in the projection light machine corresponding to the first vertex is determined according to the coordinate of the first vertex and the coordinate of the second vertex;
[0034] a target image is obtained by updating the original image corresponding to the projection picture according to the movement parameter of the first target point and the picture correction function, the picture correction function being used to indicate a mapping relationship between the movement parameter of the target point and an image coordinate in the projection light machine.
[0035] Optionally, the target image is obtained by updating the original image corresponding to the projection picture according to the movement parameter of the first target point and the picture correction function, comprising:
[0036] coordinate information of an effective projection area of a new image to be input into the projection light machine is determined according to the movement parameter of the first target point and the picture correction function;
[0037] information of the new image is obtained by updating information of the original image in the projection light machine according to the coordinate information of the effective projection area.
[0038] Secondly, embodiments of this application also provide a projection correction device, including: an acquisition module, a determination module, and a correction module;
[0039] The acquisition module is used to acquire a first adjustment operation for a first vertex of the projected image in the projection correction page; the first adjustment operation is used to indicate: moving the first vertex a first distance along a first direction;
[0040] The determining module is used to determine the coordinates of the second vertex according to the instruction of the first adjustment operation, wherein the second vertex is the new vertex after the first vertex has been moved;
[0041] The determining module is used to update the original image corresponding to the projected image according to the coordinates of the second vertex and the image correction function to obtain the target image;
[0042] The correction module is used to input the target image into the projection optical engine and project it to obtain the corrected projection image.
[0043] Optionally, the determining module is further configured to, if exiting the projection correction page and re-entering the projection correction page, respond to a second adjustment operation for the second vertex in the current projection screen and determine the movement distance of the second vertex;
[0044] The acquisition module is also used to acquire the coordinate information of the second target point mapped to the second vertex in the projection optical engine after the previous projection correction;
[0045] The determining module is further configured to determine the coordinates of the third vertex based on the coordinate information of the second target point and the moving distance of the second vertex, wherein the third vertex is the new vertex after the second vertex has moved;
[0046] The correction module is also used to recalibrate the projected image based on the coordinates of the third vertex.
[0047] Optionally, the determining module is specifically used to determine the coordinates of the second vertex of the projected image in the projection correction page after the previous projection correction, based on the coordinate information of the second target point and the calculation relationship between the image coordinate information in the projection optical engine and the image coordinate information in the projection correction page; and to determine the coordinates of the third vertex based on the coordinates of the second vertex and the moving distance of the second vertex.
[0048] Optionally, the device further includes: a detection module;
[0049] The detection module is used to detect whether the projected image after two consecutive corrections has entered the dead zone mode; if so, it stops responding to the adjustment operation of the current projected image.
[0050] Optionally, the detection module is specifically used to obtain the first coordinate information of the original image corresponding to the projected image, the second coordinate information of the target image corresponding to the projected image, and the third coordinate information of the actual image obtained after setting the point based on the coordinate information of the target image;
[0051] If the first coordinate information is equal to the third coordinate information, and the second coordinate information is not equal to the third coordinate information, then it is determined that the dead zone mode is entered.
[0052] Optionally, the device further includes: a transmitting module;
[0053] The sending module is used to send a prompt message to the user, which prompts the user to stop inputting adjustments to the current projected image.
[0054] Optionally, the device further includes: a determination module;
[0055] The judgment module is used to determine whether the corrected projected image is a rectangular image with a preset display ratio;
[0056] The determining module is further configured to, if not, continue to obtain the second adjustment operation for the second vertex of the projected image in the projection correction page, determine the coordinates of the moved third vertex according to the instruction of the second adjustment operation, the third vertex being the new vertex after the second vertex is moved; update the original image corresponding to the projected image according to the coordinates of the third vertex and the image correction function to obtain the target image;
[0057] The correction module is also used to input the target image into the projection optical engine and project it to obtain a corrected projection image until the corrected projection image is a rectangular image with the preset display ratio.
[0058] Optionally, the determining module is specifically used to determine the movement parameters of the first target point mapped to the first vertex in the projection optical engine based on the coordinates of the first vertex and the coordinates of the second vertex; and to update the original image corresponding to the projected image based on the movement parameters of the first target point and the image correction function to obtain the target image, wherein the image correction function is used to indicate the mapping relationship between the movement parameters of the target point and the image coordinates in the projection optical engine.
[0059] Optionally, the determining module is specifically used to determine the coordinate information of the effective projection area of the new image to be input into the projection optical engine based on the movement parameters of the first target point and the image correction function; and to update the information of the original image in the projection optical engine based on the coordinate information of the effective projection area to obtain the information of the new image.
[0060] Thirdly, embodiments of this application provide an electronic device, including: a processor, a storage medium, and a bus. The storage medium stores machine-readable instructions executable by the processor. When the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the steps of the method provided in the first aspect.
[0061] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, performs the steps of the method provided in the first aspect.
[0062] The beneficial effects of this application are:
[0063] This application provides a projection correction method, apparatus, electronic device, and storage medium. The method includes: obtaining a first adjustment operation for a first vertex of the projected image in a projection correction page; the first adjustment operation instructs the first vertex to be moved a first distance along a first direction; determining the coordinates of a second vertex, which is the new vertex after the first vertex has been moved, according to the instruction of the first adjustment operation; updating the original image corresponding to the projected image according to the coordinates of the second vertex and a screen correction function to obtain a target image; and inputting the target image into a projection engine and projecting it to obtain a corrected projected image. In this solution, by obtaining the instruction of the adjustment operation, a specified point in the projected image is adjusted to obtain the coordinates of the new point. Based on the screen correction function and the coordinates of the new point, the coordinate information of the target image corresponding to the projected image, i.e., the image to be projected in the projection engine, can be calculated, thereby performing image projection to achieve the correction of the projected image. By continuously adjusting the specified point according to a preset adjustment distance, step-by-step correction of the projected image can be achieved, thereby improving the user's visual experience.
[0064] Secondly, this method also effectively solves the problem of sudden changes in the projection calibration screen when exiting and re-entering the projection calibration page, thus improving the user experience.
[0065] In addition, by detecting the update status of two adjacent calibration screens in real time, dead zones in the calibration process can be effectively avoided, thus improving the user experience. Attached Figure Description
[0066] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0067] Figure 1A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 1 ;
[0068] Figure 2 A schematic diagram of a projection correction page provided in an embodiment of this application;
[0069] Figure 3 A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 2 ;
[0070] Figure 4 A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 3 ;
[0071] Figure 5 A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 4 ;
[0072] Figure 6 A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 5 ;
[0073] Figure 7 This is a schematic diagram of a projection correction screen provided in an embodiment of this application;
[0074] Figure 8 This is a schematic diagram of vertex step adjustment provided in an embodiment of this application;
[0075] Figure 9 A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 6 ;
[0076] Figure 10 A schematic diagram of a projection pattern provided for an embodiment of this application;
[0077] Figure 11 A schematic diagram of a functional relationship provided in an embodiment of this application;
[0078] Figure 12 A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 7 ;
[0079] Figure 13 This is another schematic diagram of a functional relationship provided in an embodiment of this application;
[0080] Figure 14 A schematic diagram of a projection correction device provided in an embodiment of this application;
[0081] Figure 15 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0082] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the accompanying drawings in this application are for illustrative and descriptive purposes only and are not intended to limit the scope of protection of this application. Furthermore, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in this application illustrate operations implemented according to some embodiments of this application. It should be understood that the operations in the flowcharts may not be implemented in sequence, and steps without logical contextual relationships may be reversed or implemented simultaneously. In addition, those skilled in the art, guided by the content of this application, may add one or more other operations to the flowcharts, or remove one or more operations from the flowcharts.
[0083] Furthermore, the described embodiments are merely some, not all, of the embodiments of this application. The components of the embodiments of this application described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0084] It should be noted that the term "comprising" will be used in the embodiments of this application to indicate the presence of the features declared thereafter, but does not exclude the addition of other features.
[0085] First, let me briefly explain the relevant background technology of this application:
[0086] How to quickly correct the image has become an important issue in the projection industry. Currently, there are three main correction solutions. The first is purely manual four-point keystone correction; the second is fully automatic keystone correction (AK), which is highly intelligent and can correct for composite angles of pitch, roll, and yaw. Its drawback is that it relies on hardware such as cameras and gyroscopes, and is generally used in high-end projection equipment. The third is quick keystone correction, a technology that helps users quickly correct the image. It has the advantages of rapid adjustment and low or no dependence on hardware, and can be used in mid-to-low-end projectors.
[0087] Regarding the third quick keystone correction method: First, when using the "Quick Keystone Correction Scheme," you need to adjust the higher point of the two parallel right-angled sides of the right trapezoid downwards until it is level with the lower point (at this point, the image projected on the wall is a rectangle). Then press the confirmation button. The program will calculate the shape of the right trapezoid projected on the wall based on some characteristic values at this position, and then plan the maximum 16:9 rectangular image projected on the wall. Switching between these two images results in a significant abrupt change, leading to a poor user experience. This solution visualizes the adjustment process, allowing for step-by-step adjustments, real-time calculations, and real-time display, eliminating abrupt image changes and providing an excellent user experience.
[0088] Second: When the user adjusts the button to its extreme left or right position and continues to adjust it to the left or right, the image cannot change further. However, when the user adjusts it in the opposite direction, the image remains unchanged at first, and then changes in the opposite direction after a certain period of time. This gives the user the feeling that the button is malfunctioning, resulting in a poor user experience.
[0089] Third: Because the coordinates of the four points (ABCD) on the screen after adjustment using the "Quick Keystone Correction Scheme" are calculated based on the input value a_y (the cumulative step value mstep corresponding to each adjustment), and the value of a_y after the previous correction is no longer available after each program exit, the screen will experience significant abrupt changes when re-entering the "Quick Keystone Correction Scheme" for adjustment. For example, if the user wants to move the top left point of the right trapezoid downwards, the screen will abruptly move upwards before moving downwards, resulting in a poor user experience. This solution effectively solves this problem, with almost no change in the screen before and after adjustment, providing a good user experience.
[0090] The solution of this application will now be described in detail through several specific embodiments.
[0091] Figure 1 A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 1 ; Figure 2 This is a schematic diagram of a projection correction page provided in an embodiment of this application. The subject executing this method can be a controller, processor, or other device in the projection optical engine, or it can be a computer, server, or other device independent of the projection optical engine. Figure 1 As shown, the method may include:
[0092] S101. Obtain a first adjustment operation for the first vertex of the projected image in the projection calibration page; the first adjustment operation is used to indicate: move the first vertex a first distance along the first direction.
[0093] Optionally, the projection calibration page can refer to a page used to calibrate the projected image, such as... Figure 2As shown on the left, the projection calibration page includes quick calibration controls and adjustment controls. The background of the projection calibration page can be any background (such as a video playback screen, music playback screen, etc.). The projected image can be projected onto the projection calibration page via the projector. The projected image refers to the currently displayed image on the projection calibration page. Users can enter calibration mode by clicking the quick calibration controls to calibrate the currently displayed projected image.
[0094] When the projection screen is adjusted for the first time, the current projection screen can be the initial projection screen. After each projection calibration, the current projection screen on the projection calibration page will change in real time, and the next adjustment operation will be performed based on the changed current projection screen.
[0095] Optionally, users can adjust the projected image using the control on the projection calibration page. For example, continue to refer to... Figure 2 The left-hand screen includes adjustment controls, which may include a first adjustment control (e.g., the "<" button on the projector remote) and a second adjustment control (e.g., the ">" button on the projector remote). The first adjustment control can be used to move a point in the projected image vertically downwards, and the second adjustment control can be used to move a point in the projected image vertically upwards. The user can control the first adjustment control via a button on the projector's remote to move a preset point in the projected image along a preset direction. Figure 2 Taking a right-angled trapezoidal projected image as an example, assuming the preset point is d3, the first adjustment control can be used via a button to perform a first adjustment operation, moving point d3 vertically to point f1. The confirmation button (OK button) on the remote control can be clicked; this confirmation operation confirms the adjustment, carrying adjustment parameters indicating the target distance to move the preset point along the preset direction. The target distance can be represented by the number of pixels, for example, moving point d3 vertically by n pixels to reach point f1. Then, through a second adjustment operation, point f1 continues to move vertically to point f2, repeating the above steps until, after multiple adjustment operations, it finally reaches point f, so that when the user considers the projected image adjusted to be as shown... Figure 2 Stop adjusting when the rectangle shown on the right is reached.
[0096] S102. According to the instructions of the first adjustment operation, determine the coordinates of the second vertex, which is the new vertex after the first vertex is moved.
[0097] Optionally, obtaining and responding to a first adjustment operation for a first vertex of the projected image can adjust the first vertex to a second vertex and determine the coordinates of the second vertex.
[0098] In some embodiments, after a user inputs a first adjustment operation for a first vertex of the projected image, the user can confirm the first adjustment operation through a preset confirmation button on the projector. In response to the first adjustment operation, the user can move the first vertex to a second vertex according to the first distance the first vertex is moved along the first direction indicated by the first adjustment operation, and the user can calculate the coordinates of the second vertex according to the coordinates of the first vertex and the first distance.
[0099] S103. Based on the coordinates of the second vertex and the image correction function, update the original image corresponding to the projected image to obtain the target image.
[0100] Optionally, the original image corresponding to the projected image can be updated using a screen correction function based on the determined coordinates of the second vertex to obtain the target image. The screen correction function represents the coordinate mapping relationship between the projected image in the projection correction page and the projected image on the DMD (Digital Micromirror Device) in the projection optical engine.
[0101] It should be noted that initially, the original image can be input into the projector. After projection, the initial projected image, which is the projected image to be calibrated, can be obtained on the projection calibration page. By adjusting the initial projected image using the steps described above, the original image corresponding to the projected image can be updated to obtain the target image for reprojection.
[0102] S104. Input the target image into the projection optical engine and project it to obtain the corrected projection image.
[0103] Optionally, the target image obtained above can be input into the DMD of the projection optical engine for image projection. That is, the original image in the projection optical engine is updated with the target image and the image is projected to obtain the corrected projection image.
[0104] In some embodiments, the above steps S101-S104 can be repeated, that is, the projected image is corrected step by step using the idea of stepping until the ideal projected image is obtained.
[0105] In summary, the projection correction method provided in this embodiment includes: obtaining a first adjustment operation for a first vertex of the projected image on the projection correction page; the first adjustment operation instructs the first vertex to be moved a first distance along a first direction; determining the coordinates of a second vertex according to the instruction of the first adjustment operation, the second vertex being the new vertex after the first vertex has been moved; determining the image information of the new image to be input into the projector based on the coordinates of the second vertex and the image correction function; inputting the image information of the new image into the projector and projecting it to obtain the corrected projected image. In this solution, by obtaining the instruction of the adjustment operation, a specified point in the projected image is adjusted to obtain the coordinates of the new point. Based on the image correction function and the coordinates of the new point, the coordinate information of the target image corresponding to the projected image, i.e., the image to be projected in the projector, can be calculated, thereby performing image projection to achieve the correction of the projected image. By continuously adjusting the specified point according to a preset adjustment distance, step-by-step correction of the projected image can be achieved, thereby improving the user's visual experience.
[0106] Figure 3 A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 2 Optionally, the method of this application may also include:
[0107] S201. If you exit the projection calibration page and re-enter the projection calibration page, respond to the second adjustment operation for the second vertex in the current projection screen and determine the movement distance of the second vertex.
[0108] In some embodiments, during the process of a user adjusting the projected image on the projection calibration page, a sudden exit and re-entry into the projection calibration page may occur due to device problems or other external factors. Typically, when this happens, the background program cannot obtain the coordinates of the previously adjusted vertices of the projected image. Since the image information of the new image in the projector is calculated based on the coordinates of the previously adjusted vertices, the image information of the new image in the projector cannot be accurately calculated, resulting in significant image abrupt changes during projection calibration.
[0109] In this embodiment, when re-entering the projection correction page, the second adjustment operation for the second vertex in the current projection screen of the projection correction page can be responded to first to determine the movement distance of the second vertex. The second vertex is also the new vertex after the first vertex is moved a first distance in step S101 above.
[0110] S202. Obtain the coordinate information of the second target point mapped to the second vertex in the projection optical engine after the previous projection correction.
[0111] Optionally, when exiting and re-entering the projection correction page, the image information of the new image in the projection optical engine after the previous projection correction is known, that is, the coordinate information of the second target point mapped to the second vertex in the projection optical engine after the previous projection correction is known and can be directly obtained.
[0112] S203. Based on the coordinates of the second target point and the distance the second vertex has moved, determine the coordinates of the third vertex. The third vertex is the new vertex after the second vertex has moved.
[0113] In some embodiments, the coordinate information of the second vertex can be derived in reverse from the coordinate information of the second target vertex. Then, based on the coordinate information of the second vertex and the moving distance of the second vertex, the second vertex is moved along a preset direction to obtain the third vertex, and the coordinates of the third vertex are calculated.
[0114] S204. Based on the coordinates of the third vertex, recalibrate the projected image.
[0115] Similarly, after obtaining the coordinates of the third vertex, steps S103-S104 can be referred to to determine the image information of the new image to be input into the projection optical engine according to the coordinates of the third vertex and the image correction function. The image information of the new image is then input into the projection optical engine and the image is projected to obtain the corrected projection image, thereby realizing the correction of the projection image after re-entering the projection correction page.
[0116] Optionally, the above method can effectively solve the problem of sudden changes in the projected image when performing projection image calibration after exiting and re-entering the projection calibration page, thereby improving the user experience.
[0117] Figure 4 A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 3 Optionally, in step S203, determining the coordinates of the third vertex based on the coordinate information of the second target point and the movement distance of the second vertex may include:
[0118] S301. Based on the coordinate information of the second target point and the calculation relationship between the image coordinate information in the projection engine and the image coordinate information in the projection correction page, determine the coordinates of the second vertex of the projected image in the projection correction page after the previous projection correction.
[0119] Optionally, there is a preset one-to-one correspondence between the image coordinate information in the projection optical engine and the image coordinate information of the projected screen, so as to... Figure 7For example, suppose the coordinates of the second vertex of the projected image (a_y) correspond to the coordinates of the second target point in the projector (A_y) as follows: A_y = f(a_y). Given the coordinates of the second target point in the projector (i.e., A_y is known), we only need to obtain the function a_y = f(A_y) to calculate the coordinates of the second vertex from the coordinates of the second target point.
[0120] Because the formula A_y=f(a_y) used is quite complex, the function a_y=f(A_y) calculated using MATLAB is even more complex. Therefore, after collecting a sufficient amount of data, a polynomial fitting method was used to obtain the function a_y=f(A_y). Assume the resolution of the projected image is (1920). If the value is 1080, then substituting a_y(0,1080] into the formula A_y=f(a_y) will yield enough data. Then, a polynomial fitting is used to obtain the fitted curve. Applying the fitting function to the code shows that the difference between the preceding and following a_y values is only a few pixels, with almost no abrupt changes in the image.
[0121] The fitting function obtained for a_y=f(A_y) can be shown below: a_y = (2 pow(10, -12) pow(A_y, 5) - 2 pow(10, -9) pow(A_y, 4) + pow(10, -6) pow(A_y, 3) + pow(10, -4) pow(A_y, 2) + 1.0091 (A_y) + 0.9359).
[0122] S302. Determine the coordinates of the third vertex based on the coordinates of the second vertex and the distance the second vertex has moved.
[0123] Optionally, based on the coordinates of the second vertex obtained by the above back calculation and the determined movement distance of the second vertex, the second vertex can be adjusted to move along a preset direction to obtain the third vertex, and the coordinates of the third vertex can be calculated according to the coordinates of the second vertex and the movement distance.
[0124] Figure 5 A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 4 Optionally, the method of this application may also include:
[0125] S401. Detect whether the projected image after two consecutive corrections has entered dead zone mode.
[0126] In some embodiments, during the process of the user adjusting the projected image on the projection calibration page, the following dead zone phenomenon may occur: when the user moves to the left side of the projection wall (in conjunction with...) Figure 7 To understand, and soon Figure 7 When adjusting point 'a' on the left side of the image downwards (i.e., adjusting towards A1-A2), the projected image is adjusted until the image cannot be changed further. If the user continues to adjust to the left, the image still does not change. Then the user selects to move to the right (…). Figure 7 Adjusting point b on the left side of the screen sequentially to the upper left (i.e., towards B1-B2) will initially keep the screen unchanged before it begins to move to the right. There will be a period of time during this time when the screen remains static (referred to as a dead zone), which significantly impacts the user experience.
[0127] The main reason for the aforementioned dead zone phenomenon is that the image information of a new image to be input into the projector has a maximum range. Figure 7 When point 'a' in the left-hand image is adjusted downwards along direction A1 to reach its limit, the image information of the new image exceeds the maximum range, and the image cannot be changed. However, when the user continues to input adjustments to the projected image on the projection calibration page, the specified vertex in the projected image continues to move, while the corresponding calibrated projected image remains unchanged. Figure 7 When point b in the left-hand image is adjusted along direction B1, the specified vertex moves back along the opposite direction of the preset direction until it moves to the maximum range of the image information of the new image in the calculated projection optical engine, at which point the corrected projection image begins to change.
[0128] Based on the above analysis, optionally, in this embodiment, it can be detected whether the projected image after two consecutive corrections enters the dead zone mode, that is, whether an update occurs.
[0129] S402. If so, then stop responding to adjustments to the current projected image.
[0130] In some embodiments, when the projected images after two consecutive corrections are exactly the same and there is no update, that is, the projected images have not changed, it can be considered that the correction of the projected images has entered a dead zone mode. In this case, the response to the user's adjustment operation on the current projected image in the projection correction page can be stopped, thereby avoiding the occurrence of the dead zone phenomenon.
[0131] Optionally, detecting whether the projected image after two consecutive corrections has entered the dead zone mode includes: obtaining the first coordinate information of the original image corresponding to the projected image, the second coordinate information of the target image corresponding to the projected image, and the third coordinate information of the actual image obtained after setting the point according to the coordinate information of the target image; if the first coordinate information and the third coordinate information are equal, and the second coordinate information and the third coordinate information are not equal, then it is determined that the dead zone mode has been entered.
[0132] In one feasible approach, the four coordinates of the current image (i.e., the first coordinate information of the original image corresponding to the projected image) can be obtained first when the point is set. After the point is set, the four coordinates of the current image (i.e., the third coordinate information of the actual image obtained after setting the point based on the coordinate information of the target image) and the calculated four-point coordinate set (i.e., the second coordinate information of the target image corresponding to the projected image) can be obtained. The point setting refers to calling the interface to control the display of each pixel of the image on the DMD in the projection optical engine after the four coordinates of the image are calculated.
[0133] If the first and third coordinates are exactly equal, but the third and second coordinates are not equal, it means the third coordinate has not been set successfully, and the projected image is not updating. When the image is not updating, it is considered to have entered dead zone mode. In this case, adjustments to the current projected image can be stopped, meaning mstep is prevented from increasing further (i.e., no further adjustments are made to the projected image). Figure 7 (The point a in the right side of the screen is moved and adjusted further). This ensures that mstep is limited to the range where the screen can change, thus avoiding dead zones.
[0134] It should be noted that the above method is simpler and more effective than limiting the mstep value by checking whether the values of A_y and B_x are out of range. It can cover other possible dead zones (for example, when digital zoom causes image scaling, you cannot simply use whether the values of A_y and B_x are out of range to determine if the dead zone has been reached. This is because just because A_y and B_x are within range does not guarantee successful pixel placement. To ensure that the image is not blurry, the underlying image processing interface will determine the current coordinates of the four points in real time to ensure that the hardware can display the image normally. If it cannot, pixel placement will fail).
[0135] Optionally, in step S401 above, after stopping the response to the adjustment operation on the current projected image, the method of this application may further include: sending a prompt message to the user, the prompt message being used to prompt the user to stop inputting the adjustment operation on the current projected image.
[0136] In some embodiments, when the above-mentioned judgment encounters a dead zone and stops responding to the user's adjustment operation on the current projected image on the projection calibration page, a corresponding prompt message may also be sent to the user. The prompt message is used to prompt the user to stop inputting adjustment operations on the current projected image, so as to avoid the user continuously adjusting the projected image without obtaining the corresponding calibrated projected image.
[0137] This can include sending preset voice prompts to users, providing prompts in the form of indicator lights, or sending prompts to users' terminal devices.
[0138] Figure 6 A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 5 ; Figure 7 This is a schematic diagram of a projection correction screen provided in an embodiment of this application; Figure 8 This is a schematic diagram of vertex step adjustment provided in an embodiment of this application. Optionally, after inputting the target image into the projection optical engine and projecting it in step S104 to obtain the corrected projected image, the method of this application may further include:
[0139] S501. Determine whether the calibrated projected image is a rectangular image with a preset display ratio.
[0140] Optionally, after the above steps S101-S104 are completed, it can be determined whether the obtained corrected projection image is a rectangular image with a preset display ratio. In this embodiment, it can refer to a rectangular image with a display ratio of 16:9.
[0141] S502. If not, continue to obtain the second adjustment operation for the second vertex of the projected image in the projection correction page. According to the instructions of the second adjustment operation, determine the coordinates of the third vertex after the movement. The third vertex is the new vertex after the second vertex is moved.
[0142] In practical implementation, the projected image can be set up as follows: Figure 7 The coordinate system shown is as follows: Figure 7 As shown in the diagram, the right side of the image represents the changes in the projected image during the projection calibration page, while the left side represents the changes in the calibrated projected image. The first vertex in the projection calibration page refers to point a in the right-hand diagram. The first adjustment operation instructs the first vertex to be moved a first distance along the direction ad, resulting in a second vertex a1. Based on the coordinates of the second vertex a1 and the image calibration function, the coordinates of the corresponding points A1, B1, and C1 can be calculated, thus obtaining the image information of the new image to be input into the projector. Based on this calculated image information, the projected image can be calibrated.
[0143] Here, the ordinate of the first vertex can be denoted as a_y. Each adjustment operation on the first vertex results in a fixed step value S for the value of a_y. Specifically, in the initial state, the first vertex of the projected image is a, and the ordinate a_y (a) of a is 0. When the user presses the first adjustment control, the first vertex a is adjusted to a1, and the ordinate a_y (a1) of a1 becomes S. The cumulative step value mstep = S for this adjustment. Further, if the user presses the first adjustment control again, vertex a1 can be adjusted to a2, and the ordinate a_y (a2) of a2 becomes 2S. The cumulative step value mstep = 2S for this adjustment. Similarly, if the user presses the first adjustment control again, vertex a2 can be adjusted to a3, and the ordinate a_y (a3) of a3 becomes 3S. The cumulative step value mstep = 3S for this adjustment. Correspondingly, similar to pressing the first adjustment control, the user can also move the first vertex upward by pressing the second adjustment control. Each time it is pressed, the ordinate a_y(a) corresponding to a decreases by a step value S.
[0144] For example, the changes in a_y and mstep each time the first and second adjustment buttons are pressed can be seen in [reference needed]. Figure 8 .
[0145] In some cases, if the calibrated projected image is not a rectangular image with the preset display ratio, that is, as... Figure 7 As shown, if the projected image A1B1C1d obtained after the first correction is not a rectangular image with a preset display ratio, then steps S101-S104 can be repeated, that is, a second adjustment operation for the projected image is obtained. According to the instructions of the second adjustment operation, the second vertex obtained after the first adjustment operation on the first vertex is moved a second distance along the preset direction, and the coordinates of the third vertex are determined. The third vertex is the new vertex after the second vertex is moved.
[0146] That is, move point a1 a second distance along the direction of ad to obtain the coordinates of the third vertex a2.
[0147] S503. Based on the coordinates of the third vertex and the image correction function, update the original image corresponding to the projected image to obtain the target image.
[0148] Similarly, the image information A2B2C2d of the new image to be input into the projector can be calculated again based on the coordinates of the third vertex a2 and the image correction function.
[0149] S504. Input the target image into the projection optical engine and project it to obtain the corrected projection image until the corrected projection image is a rectangular image with a preset display ratio.
[0150] Repeat the above steps until the coordinates of the four points ABCd calculated based on a_y are such that the corrected projected image is a rectangular image with a preset display ratio, then stop the correction.
[0151] Optionally, based on the above-mentioned step-by-step adjustment method, the corresponding corrected projection image can be presented to the user for each adjustment, thereby realizing step-by-step adjustment of the projection image and real-time display, without any sudden changes in the projection image, thus improving the user's visual experience.
[0152] Figure 9 A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 6 ; Figure 10 A schematic diagram of a projection pattern provided for an embodiment of this application; Figure 11 This is a schematic diagram of a functional relationship provided in an embodiment of this application. Optionally, in step S103, updating the original image corresponding to the projected image according to the coordinates of the second vertex and the image correction function to obtain the target image may include:
[0153] S701. Based on the coordinates of the first vertex and the coordinates of the second vertex, determine the movement parameters of the first target point mapped to the first vertex in the projection optical engine.
[0154] like Figure 10 The projection diagram shown illustrates the following: O is the light source, plane P1 is the DMD, P2 is the imaginary wall directly opposite, and P3 is the actual wall at a certain angle to the projector. d3a'b'h2 is the light pattern. When the projector angle remains constant, the shape of the light pattern remains unchanged. The initial projected image can be considered to overlap with the light pattern d3a'b'h2. When the preset point d3 in the initial projected image is adjusted along d3h2 to a rectangular image, the projected image fa'b'h2 on the wall is exactly a rectangular image. At this point, the original image dabc of the DMD changes to abce. That is, by the moving distance of d3f, which is the first distance from the first vertex to the second vertex, the number of pixels moved by de can be obtained. Furthermore, based on the functional relationship between the number of pixels moved by de and the distance of de, the following can be calculated. The movement parameter x of the first target point is calculated, where x refers to the distance de. This refers to the number of pixels moved by de, M refers to the physical resolution of the DMD in the projection optical engine, and D refers to the aspect ratio of the projected image. In this embodiment, the physical resolution of the DMD can be taken as 1080, and the aspect ratio of the projected image is 16:9. Therefore, the corresponding formula can be used. The movement parameter x of the first target point is calculated. It should be noted that this solution applies even when the physical resolution of the DMD in the projection engine and the projection screen ratio are other values.
[0155] S702. Based on the movement parameters of the first target point and the image correction function, update the original image corresponding to the projected image to obtain the target image. The image correction function is used to indicate the mapping relationship between the movement parameters of the target point and the image coordinates in the projection optical engine.
[0156] Optionally, based on the determined movement parameters of the first target point, since when the projection ratio of the projection engine is fixed, such as Figure 11 The solution to the light pattern ratio of the projected image shown is only related to the movement parameters of the first target point, thus the ratio can be uniquely determined based on the movement parameters of the first target point. Figure 11 The two parallel sides of the right trapezoid and the base ( , , The proportion of ), of which, Corresponding to side length 1, Corresponding to side length K1, Corresponding to the side length K, that is, based on the movement parameters of the first target point, the light map ratio can be determined as 1:K1:K.
[0157] For example, a projected image with a 16:9 aspect ratio. ,set up so .
[0158] Will and Substituting into the expression, we get:
[0159]
[0160] K1=
[0161] Where r represents the projection ratio of the projection optical engine, and x represents the movement parameter of the first target point mentioned above. In summary, the light pattern projected onto the wall can be obtained. When the projection ratio of the projector is fixed, K is only related to the number of pixels that move on the DMD.
[0162] Optionally, the aspect ratio of the light map can be calculated by substituting the obtained movement parameter x of the first target point into the expression for K. In addition Therefore, the two parallel sides and the base of the right trapezoid can be uniquely determined. , , The ratio of light image, also known as the light image ratio mentioned above.
[0163] Based on the determined light map scale and h2d5, the coordinates of intersection point g can be determined. This can be based on... Figure 11Using the coordinate system established in the figure, the curve function equation of curve h2d5 is obtained: The slope of the curve is determined based on a preset display ratio of 16:9. The function equation corresponding to edge d3a' is: Solving the system of equations simultaneously yields the coordinates of the intersection point g: .
[0164] Figure 12 A flowchart illustrating the projection correction method provided in the embodiments of this application. Figure 7 Optionally, in step S702, updating the original image corresponding to the projected image based on the movement parameters of the first target point and the image correction function to obtain the target image may include:
[0165] S1101. Based on the movement parameters of the first target point and the image correction function, determine the coordinate information of the effective projection area of the new image to be input into the projection optical engine.
[0166] Figure 13 This is another schematic diagram of a functional relationship provided for an embodiment of this application. Optionally, based on the intersection point g determined above (i.e., Figure 12 The coordinates of point a''' in the equation can be calculated as follows: Figure 13 The coordinates of the rectangular image d'a'b'h2 are used to calculate the coordinates of the effective projection area of the new image in the projector, i.e., the coordinates of the effective projection area of the new image in the projector are calculated. Figure 13 The coordinate information of d''a''b''c.
[0167] In one possible implementation, determining the coordinates of the effective projection area of the new image to be input into the projector based on the coordinate information of the rectangular image d'''a'''b'''h2 may include: calculating the angle between a first light source curve and a second light source curve, both originating from the light source of the projector, wherein the first light source curve includes a first specified vertex in the rectangular image (e.g., ...). Figure 11 (point b' in the image), the second light source curve includes the second specified vertex on the light map corresponding to the projected image (e.g., point b' in the image), Figure 13 point m, that is Figure 13 (point b''' in the image); based on the included angle and the coordinate information of the original image in the projector, determine the coordinate information of the effective projection area of the new image to be input into the projector.
[0168] like Figure 14 As shown, the light source is O, the first light source curve can be pointed to Ob', the second light source curve can be pointed to Ob''', and the included angle can be pointed to .
[0169] The specific calculation process is as follows:
[0170] 1. Calculation
[0171] In triangle middle =8, =16r, = We can obtain tan O(tan )= .
[0172] exist From the middle .
[0173] exist From the middle .
[0174] exist From the middle .
[0175] exist middle = ; , can be obtained .
[0176] exist From the middle . = .
[0177] exist From the middle .
[0178] 2. Calculate the coordinates of the four points. (The effective projection area of the new image in the projection engine)
[0179] Point d'': d''_x=0; d''_y=
[0180] Point c: c_x=0; c_y=0
[0181] Point a'': a''_y=0; a''_x= (B <half_r_angle);a’’_x= (B>half_r_angle)
[0182] Point b'': b''_y= b''_x=a''_x
[0183] in, , The x and y coordinates of point b are known because the coordinates of the original image dabc in the projector are known. , Also known. Among them, Px and Py are related to the physical resolution of the DMD in the projection engine; specifically, Px is the horizontal number of pixels in the DMD's physical resolution, and Py is the vertical number of pixels in the DMD's physical resolution. For example, the DMD's physical resolution is (1920...). If Px = 1920 and Py = 1080, then Px = 1920 and Py = 1080.
[0184] By following the steps above, the coordinates of the effective projection area of the new image to be input into the projector can be determined.
[0185] S1102. Update the information of the original image in the projection engine according to the coordinate information of the effective projection area to obtain the information of the new image.
[0186] In one feasible approach, the pixel values of each pixel in the effective projection region can be adjusted accordingly, that is, the pixel values of each pixel in the original image can be updated, so that the original dabc imaging is transformed into d'a'b'c imaging. Here, the grayscale values of each pixel in the imaging regions a'abb'' and a'd''d can be adjusted to 0 so that they no longer form an image, while the RGB values of each pixel in the corresponding effective projection region d'a'b''c are adaptively adjusted to obtain the information of the new image.
[0187] The above embodiments fully illustrate the implementation process of the entire solution. This method can also achieve rapid trapezoidal projection correction to obtain a rectangular image with a preset display ratio.
[0188] In summary, the projection correction method provided in this embodiment includes: obtaining a first adjustment operation for a first vertex of the projected image in the projection correction page; the first adjustment operation instructs the first vertex to be moved a first distance along a first direction; determining the coordinates of a second vertex according to the instruction of the first adjustment operation, the second vertex being the new vertex after the first vertex has been moved; updating the original image corresponding to the projected image according to the coordinates of the second vertex and the image correction function to obtain a target image; and inputting the target image into the projection optical engine and projecting it to obtain the corrected projected image. In this solution, by obtaining the instruction of the adjustment operation, a specified point in the projected image is adjusted to obtain the coordinates of the new point. Based on the image correction function and the coordinates of the new point, the coordinate information of the target image corresponding to the projected image, i.e., the image to be projected in the projection optical engine, can be calculated, thereby performing image projection to achieve the correction of the projected image. By continuously adjusting the specified point according to a preset adjustment distance, step-by-step correction of the projected image can be achieved, thereby improving the user's visual experience.
[0189] Secondly, this method also effectively solves the problem of sudden changes in the projection calibration screen when exiting and re-entering the projection calibration page, thus improving the user experience.
[0190] In addition, by detecting the update status of two adjacent calibration screens in real time, dead zones in the calibration process can be effectively avoided, thus improving the user experience.
[0191] The following describes the apparatus, electronic equipment, and storage medium used to perform the projection correction method provided in this application. The specific implementation process and technical effects are described above and will not be repeated below.
[0192] Figure 14 This is a schematic diagram of a projection correction device provided in an embodiment of this application. The function of this projection correction device corresponds to the steps performed by the method described above. This device can be understood as the aforementioned server, or the server's processor, or as a component that implements the functions of this application under the control of the server, independent of the aforementioned server or processor. Figure 15 As shown, the device can acquire module 130, determine module 131, and correct module 132;
[0193] The acquisition module 130 is used to acquire a first adjustment operation for a first vertex of the projected image in the projection correction page; the first adjustment operation is used to indicate: moving the first vertex a first distance along a first direction;
[0194] The determination module 131 is used to determine the coordinates of the second vertex according to the instruction of the first adjustment operation, wherein the second vertex is the new vertex after the first vertex is moved;
[0195] The determination module 131 is used to update the original image corresponding to the projected image according to the coordinates of the second vertex and the image correction function to obtain the target image;
[0196] The correction module 132 is used to input the target image into the projection optical engine and project it to obtain the corrected projection image.
[0197] Optionally, the determining module 131 is further configured to, in response to a second adjustment operation for the second vertex in the current projection screen, determine the movement distance of the second vertex when exiting the projection calibration page and re-entering the projection calibration page;
[0198] The acquisition module 130 is also used to acquire the coordinate information of the second target point mapped to the second vertex in the projection optical engine after the previous projection correction;
[0199] The determining module 131 is also used to determine the coordinates of the third vertex based on the coordinate information of the second target point and the moving distance of the second vertex, wherein the third vertex is the new vertex after the second vertex has moved;
[0200] The correction module 132 is also used to recalibrate the projected image based on the coordinates of the third vertex.
[0201] Optionally, the determining module 131 is specifically used to determine the coordinates of the second vertex of the projected image in the projection correction page after the previous projection correction, based on the coordinate information of the second target point and the calculation relationship between the image coordinate information in the projection optical engine and the image coordinate information in the projection correction page; and to determine the coordinates of the third vertex based on the coordinates of the second vertex and the moving distance of the second vertex.
[0202] Optionally, the device further includes: a detection module;
[0203] The detection module is used to detect whether the projected image has entered dead zone mode after two consecutive corrections; if so, it stops responding to the adjustment operation of the current projected image.
[0204] Optionally, the detection module is specifically used to obtain the first coordinate information of the original image corresponding to the projected image, the second coordinate information of the target image corresponding to the projected image, and the third coordinate information of the actual image obtained after setting the point based on the coordinate information of the target image;
[0205] If the first coordinate information is equal to the third coordinate information, and the second coordinate information is not equal to the third coordinate information, then it is determined that the dead zone mode is entered.
[0206] Optionally, the device further includes: a transmitting module;
[0207] The sending module is used to send prompts to the user, prompting the user to stop inputting adjustments to the current projected image.
[0208] Optionally, the device further includes: a judgment module;
[0209] The judgment module is used to determine whether the corrected projected image is a rectangular image with a preset display ratio;
[0210] The determination module 131 is also used to, if not, continue to obtain the second adjustment operation for the second vertex of the projected image in the projection correction page, determine the coordinates of the moved third vertex according to the instruction of the second adjustment operation, the third vertex is the new vertex after the second vertex is moved; update the original image corresponding to the projected image according to the coordinates of the third vertex and the image correction function to obtain the target image;
[0211] The correction module 132 is also used to input the target image into the projection optical engine and project it to obtain the corrected projection image until the corrected projection image is a rectangular image with a preset display ratio.
[0212] Optionally, the determining module 131 is specifically used to determine the movement parameters of the first target point mapped to the first vertex in the projection optical engine based on the coordinates of the first vertex and the coordinates of the second vertex; and to update the original image corresponding to the projected image based on the movement parameters of the first target point and the image correction function to obtain the target image. The image correction function is used to indicate the mapping relationship between the movement parameters of the target point and the image coordinates in the projection optical engine.
[0213] Optionally, the determining module 131 is specifically used to determine the coordinate information of the effective projection area of the new image to be input into the projector based on the movement parameters of the first target point and the image correction function; and to update the information of the original image in the projector based on the coordinate information of the effective projection area to obtain the information of the new image.
[0214] The above-described device is used to execute the method provided in the foregoing embodiments, and its implementation principle and technical effect are similar, so they will not be described again here.
[0215] These modules can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more digital signal processors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, when a module is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these modules can be integrated together as a system-on-a-chip (SOC).
[0216] The modules described above can be connected or communicate with each other via wired or wireless connections. Wired connections can include metal cables, optical fibers, hybrid cables, or any combination thereof. Wireless connections can include connections via LAN, WAN, Bluetooth, ZigBee, or NFC, or any combination thereof. Two or more modules can be combined into a single module, and any module can be divided into two or more units. Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems and devices described above can be referred to the corresponding processes in the method embodiments, and will not be repeated here.
[0217] It should be noted that these modules can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more Digital Signal Processors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs). Furthermore, when a module is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Additionally, these modules can be integrated together to form a System-on-a-Chip (SOC).
[0218] This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The device may be a computing device with data processing capabilities.
[0219] The device may include: processor 801 and memory 802.
[0220] The memory 802 is used to store programs, and the processor 801 calls the programs stored in the memory 802 to execute the above method embodiments. The specific implementation and technical effects are similar, and will not be described again here.
[0221] The memory 802 stores program code, which, when executed by the processor 801, causes the processor 801 to perform various steps in the methods according to various exemplary embodiments of this application described in the "Exemplary Methods" section above.
[0222] The processor 801 can be a general-purpose processor, such as a central processing unit (CPU), digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.
[0223] Memory 802, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. Memory may include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type memory, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic memory, magnetic disk, optical disk, etc. Memory is any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. In the embodiments of this application, memory 802 may also be a circuit or any other device capable of implementing storage functions for storing program instructions and / or data.
[0224] Optionally, this application also provides a program product, such as a computer-readable storage medium, including a program that, when executed by a processor, performs the above-described method embodiments.
[0225] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0226] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0227] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in a combination of hardware and software functional units.
[0228] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A projection correction method, characterized in that, include: Obtain the first adjustment operation for the first vertex of the projected image on the projection calibration page; The first adjustment operation is used to indicate: moving the first vertex a first distance along the first direction; According to the instructions of the first adjustment operation, the coordinates of the second vertex are determined, and the second vertex is the new vertex after the first vertex is moved; Based on the coordinates of the second vertex and the image correction function, update the original image corresponding to the projected image to obtain the target image; The target image is input into the projection optical engine and projected to obtain the corrected projection image; The method further includes: If you exit the projection correction page and re-enter the projection correction page, respond to the second adjustment operation for the second vertex in the current projection screen and determine the movement distance of the second vertex; Obtain the coordinate information of the second target point mapped to the second vertex in the projection optical engine after the previous projection correction; Based on the coordinates of the second target point and the distance the second vertex has moved, the coordinates of the third vertex are determined, whereby the third vertex is the new vertex after the second vertex has moved. Based on the coordinates of the third vertex, the projected image is recalibrated; The step of updating the original image corresponding to the projected image according to the coordinates of the second vertex and the image correction function to obtain the target image includes: Based on the coordinates of the first vertex and the coordinates of the second vertex, determine the movement parameters of the first target point mapped to the first vertex in the projection optical engine; Based on the movement parameters of the first target point and the image correction function, determine the coordinate information of the effective projection area of the new image to be input into the projection optical engine; The information of the original image in the projection engine is updated according to the coordinate information of the effective projection area to obtain the information of the new image; the image correction function is used to indicate the mapping relationship between the movement parameters of the target point and the image coordinates in the projection engine; The determination of the coordinate information of the effective projection area of the new image to be input into the projector includes: calculating the angle between a first light source curve and a second light source curve, both starting from the light source of the projector; the first light source curve includes a first designated vertex in a rectangular image with a preset display ratio; the second light source curve includes a second designated vertex on the light map corresponding to the projected image; and determining the coordinate information of the effective projection area of the new image to be input into the projector based on the angle and the coordinate information of the original image in the projector.
2. The method according to claim 1, characterized in that, Determining the coordinates of the third vertex based on the coordinates of the second target point and the movement distance of the second vertex includes: Based on the coordinate information of the second target point and the calculation relationship between the image coordinate information in the projection optical engine and the image coordinate information in the projection correction page, the coordinates of the second vertex of the projected image in the projection correction page after the previous projection correction are determined. The coordinates of the third vertex are determined based on the coordinates of the second vertex and the distance the second vertex has moved.
3. The method according to claim 1 or 2, characterized in that, The method further includes: Detect whether the projected image after two consecutive corrections enters dead zone mode; If so, then stop responding to adjustments to the current projected image.
4. The method according to claim 3, characterized in that, The detection of whether the projected image after two consecutive corrections enters dead zone mode includes: Obtain the first coordinate information of the original image corresponding to the projected image, the second coordinate information of the target image corresponding to the projected image, and the third coordinate information of the actual image obtained after setting the point based on the coordinate information of the target image; If the first coordinate information is equal to the third coordinate information, and the second coordinate information is not equal to the third coordinate information, then it is determined that the dead zone mode is entered.
5. The method according to claim 3, characterized in that, After stopping the response to the adjustment operation of the current projected image, the method further includes: A prompt message is sent to the user, which prompts the user to stop inputting adjustments to the current projected image.
6. The method according to claim 1, characterized in that, After inputting the target image into the projection optical engine and projecting it to obtain the corrected projected image, the method further includes: Determine whether the corrected projected image is a rectangular image with a preset display ratio; If not, continue to obtain the second adjustment operation for the second vertex of the projected image on the projection correction page, and determine the coordinates of the moved third vertex according to the instructions of the second adjustment operation. The third vertex is the new vertex after the second vertex is moved. Based on the coordinates of the third vertex and the image correction function, the original image corresponding to the projected image is updated to obtain the target image; The target image is input into the projection optical engine and projected to obtain a corrected projection image until the corrected projection image is a rectangular image with the preset display ratio.
7. A projection correction device, characterized in that, include: Acquisition module, determination module, and calibration module; The acquisition module is used to acquire a first adjustment operation for the first vertex of the projected image in the projection correction page; The first adjustment operation is used to indicate: moving the first vertex a first distance along the first direction; The determining module is used to determine the coordinates of the second vertex according to the instruction of the first adjustment operation, wherein the second vertex is the new vertex after the first vertex has been moved; The determining module is used to update the original image corresponding to the projected image according to the coordinates of the second vertex and the image correction function to obtain the target image; The correction module is used to input the target image into the projection optical engine and project it to obtain the corrected projection image; The determining module is further configured to, if exiting the projection correction page and re-entering the projection correction page, respond to a second adjustment operation for the second vertex in the current projection screen and determine the movement distance of the second vertex; The acquisition module is also used to acquire the coordinate information of the second target point mapped to the second vertex in the projection optical engine after the previous projection correction; The determining module is further configured to determine the coordinates of the third vertex based on the coordinate information of the second target point and the moving distance of the second vertex, wherein the third vertex is the new vertex after the second vertex has moved; The correction module is also used to re-correct the projected image based on the coordinates of the third vertex; The determining module is specifically used to determine the movement parameters of a first target point mapped to the first vertex in the projection optical engine based on the coordinates of the first vertex and the coordinates of the second vertex; determine the coordinate information of the effective projection area of the new image to be input into the projection optical engine based on the movement parameters of the first target point and the image correction function; update the information of the original image in the projection optical engine based on the coordinate information of the effective projection area to obtain the information of the new image; the image correction function is used to indicate the mapping relationship between the movement parameters of the target point and the image coordinates in the projection optical engine; The determining module is specifically used to calculate the angle between a first light source curve and a second light source curve, both originating from the light source of the projection optical engine. The first light source curve includes a first designated vertex in a rectangular image with a preset display ratio; the second light source curve includes a second designated vertex on the light map corresponding to the projected image; and based on the angle and the coordinate information of the original image in the projection optical engine, the coordinate information of the effective projection area of the new image to be input into the projection optical engine is determined.
8. An electronic device, characterized in that, include: The device includes a processor, a storage medium, and a bus, wherein the storage medium stores program instructions executable by the processor, and when the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the program instructions to perform the steps of the method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, performs the steps of the method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Image projector, image projection method, and computer- readable recording medium recording program to allow computer to execute the method
JP2001069433A
Projector and image display method
JP2006227441A
Projector, control device, image projection system, control method, and program
JP2019149633A