CN115706857A - 图像校正方法、装置、终端及存储介质 - Google Patents

图像校正方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN115706857A
CN115706857A CN202110917329.4A CN202110917329A CN115706857A CN 115706857 A CN115706857 A CN 115706857A CN 202110917329 A CN202110917329 A CN 202110917329A CN 115706857 A CN115706857 A CN 115706857A
Authority
CN
China
Prior art keywords
image
pixel point
video data
buffer
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110917329.4A
Other languages
English (en)
Inventor
李彦良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202110917329.4A priority Critical patent/CN115706857A/zh
Publication of CN115706857A publication Critical patent/CN115706857A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

本申请涉及一种图像校正方法、装置、终端及存储介质,属于图像处理技术领域。该方法包括:接收视频数据;若所述视频数据中第一图像的已接收数据量达到第一数据量,则基于校正矩阵和所述第一图像中待显示的第一像素点,确定所述第一图像中的第二像素点,所述校正矩阵为基于所述第一图像与上一帧图像之间的旋转角度确定的;将所述第一像素点的像素值更新为所述第二像素点的像素值,基于更新后的所述第一像素点的像素值,对所述第一图像进行显示。上述方案无需等到视频数据能够组成完整的一帧第一图像时才开始校正,这样实现了对视频数据的及时处理,进而改善了图像校正的实时性。

Description

图像校正方法、装置、终端及存储介质
技术领域
本申请实施例涉及图像处理技术领域,特别涉及一种图像校正方法、装置、终端及存储介质。
背景技术
目前,终端都具有视频拍摄功能,也即用户可以通过终端录制视频,以记录美好时刻。然而用户在通过终端录制视频时,很难保证终端一直保持不动,若终端出现晃动,则终端拍摄的视频就会出现抖动;因此,需要对视频中的每帧图像进行旋转,以校正视频的抖动,使得校正后的视频的画面较为平稳。
相关技术中,图像采集设备将采集到的图像数据发送至终端中的处理器,处理器在得到完整的一帧图像时,对该图像进行旋转,以得到旋转后的图像,进而组成校正后的视频。其中,由于处理器所处理的是完整的一帧图像,导致图像采集设备采集到的图像数据并不能被及时处理,因此实时性较差。
发明内容
本申请实施例提供了一种图像校正方法、装置、终端及存储介质,可以改善图像校正的实时性。所述技术方案如下:
一方面,提供了一种图像校正方法,所述方法包括:
接收视频数据;
若所述视频数据中第一图像的已接收数据量达到第一数据量,则基于校正矩阵和所述第一图像中待显示的第一像素点,确定所述第一图像中的第二像素点,所述校正矩阵为基于所述第一图像与上一帧图像之间的旋转角度确定的;
将所述第一像素点的像素值更新为所述第二像素点的像素值,基于更新后的所述第一像素点的像素值,对所述第一图像进行显示。
另一方面,提供了一种图像校正装置,所述装置包括:
接收模块,用于接收视频数据;
第一确定模块,用于若所述视频数据中第一图像的已接收数据量达到第一数据量,则基于校正矩阵和所述第一图像中待显示的第一像素点,确定所述第一图像中的第二像素点,所述校正矩阵为基于所述第一图像与上一帧图像之间的旋转角度确定的;
更新模块,用于将所述第一像素点的像素值更新为所述第二像素点的像素值,基于更新后的所述第一像素点的像素值,对所述第一图像进行显示。
另一方面,提供了一种终端,所述终端包括处理器和存储器;所述存储器存储有至少一条程序代码,所述至少一条程序代码用于被所述处理器执行以实现如上述方面所述的图像校正方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有至少一条程序代码,所述至少一条程序代码用于被处理器执行以实现如上述方面所述的图像校正方法。
另一方面,提供了一种计算机程序产品,当所述计算机程序产品中的程序代码由终端的处理器执行时,使得所述终端能够执行如上述方面所述的图像校正方法。
在本申请实施例中,由于在接收到的视频数据中第一图像的已接收数据量达到第一数据量时,就开始结合校正矩阵和第一图像中的第一像素点对该第一像素点进行校正,从而无需等到视频数据能够组成完整的一帧第一图像时才开始校正,这样实现了对视频数据的及时处理,进而改善了图像校正的实时性。
附图说明
图1示出了本申请一个示例性实施例示出的实施环境的示意图;
图2示出了本申请一个示例性实施例示出的终端的结构框图;
图3示出了本申请一个示例性实施例示出的图像校正方法的流程图;
图4示出了本申请一个示例性实施例示出的图像校正方法的示意图;
图5示出了本申请一个示例性实施例示出的图像校正方法的示意图;
图6示出了本申请一个示例性实施例示出的图像校正方法的示意图;
图7示出了本申请一个示例性实施例示出的图像校正装置的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参考图1,其示出了本申请一个示例性实施例示出的实施环境的示意图。该实施环境包括终端100和图像采集设备200,终端100和图像采集设备200相连接。
图像采集设备200,用于采集视频数据,向终端100发送该视频数据。终端100,用于接收该视频数据,对该视频数据进行显示。在本申请实施例中,图像采集设备200可以为独立的摄像设备,或者图像采集设备200也可以为终端100中内置的图像采集模块,本申请对此不作具体限定。
本申请实施例提供的图像校正方法,能够应用在以下视频录制的场景中:
在一些实施例中,图像采集设备为终端中内置的图像采集模块,在视频录制过程中,终端对采集到的视频数据进行显示,从而使用终端的用户能够通过终端观看视频。
在另一些实施例中,图像采集设备为终端外独立的摄像设备,图像采集设备采集视频数据,将该视频数据发送至终端,终端对该视频数据进行显示,从而使用终端的用户能够通过终端观看视频。
需要说明的一点是,以上场景仅是示例性说明,并不对图像校正的场景造成限制,本申请除了应用在以上场景外,还能够应用在其他任一图像校正的场景中。
请参考图2,其示出了本申请一个示例性实施例示出的终端100的结构框图。终端100可以是智能手机、平板电脑等具有图像校正功能的终端。本申请中的终端100可以包括一个或多个如下部件:图像处理器110、处理器120、存储器130和显示屏140。
图像处理器110,用于对图像进行校正。
处理器120可以包括一个或者多个处理核心。处理器120利用各种接口和线路连接整个终端100内的各个部分,通过运行或执行存储在存储器130内的指令、程序、代码集或指令集,以及调用存储在存储器130内的数据,执行终端100的各种功能和处理数据。可选地,处理器120可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器120可集成中央处理器(CentralProcessing Unit,CPU)、神经网络处理器(Neural-network Processing Unit,NPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;NPU用于实现人工智能(Artificial Intelligence,AI)功能;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器120中,单独通过一块芯片进行实现。处理器120还用于对图像处理芯片110校正后的图像数据进行显示。
存储器130可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。可选地,该存储器130包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器130可用于存储指令、程序、代码、代码集或指令集。存储器130可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储根据终端100的使用所创建的数据(比如音频数据、电话本)等。
显示屏140是用于显示用户界面的显示组件。可选的,该显示屏140为具有触控功能的显示屏,通过触控功能,用户可以使用手指、触摸笔等任何适合的物体在显示屏140上进行触控操作。
显示屏140通常设置在终端100的前面板。显示屏140可被设计成为全面屏、曲面屏、异型屏、双面屏或折叠屏。显示屏140还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合等,本实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的终端100的结构并不构成对终端100的限定,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端100中还包括图像采集模块、麦克风、扬声器、射频电路、输入单元、传感器、音频电路、无线保真(Wireless Fidelity,Wi-Fi)模块、电源、蓝牙模块等部件,在此不再赘述。
请参考图3,其示出了本申请一个示例性实施例示出的图像校正方法的流程图。本申请实施例中的执行主体为终端。该方法包括:
步骤301:终端接收视频数据。
其中,视频数据为图像采集设备采集到的。在一些实施例中,图像采集设备以行扫描的方式进行视频数据的采集。可选地,若图像采集设备为独立于终端的摄像设备,则图像采集设备将采集到的视频数据实时发送至终端。终端将该视频数据存储在数据收发器中。可选地,图像采集设备为终端中内置的图像采集模块,则图像采集设备将采集到的视频数据实时发送至终端的处理器。
步骤302:终端将该视频数据存储至图像处理器的第一缓存器中。
可选地,终端将数据收发器中的视频数据发送至图像处理器,图像处理器将该视频数据存储至第一缓存器中。或者,终端将处理器中的视频数据发送至图像处理器,图像处理器将该视频数据存储至第一缓存器中。
在一些实施例中,图像处理器至少包括第一缓存器和读写仲裁单元。第一缓存器,用于存储视频数据。读写仲裁单元,用于对图像处理器的写命令和读命令进行仲裁,使图像处理器分时执行写命令和读命令。相应的,在该步骤中,终端执行写命令,将视频数据写入第一缓存器中。
步骤303:若该第一缓存器中存储的该视频数据的数据量达到第二数据量,则终端将该第一缓存器中的视频数据转存至第二缓存器中,该第二数据量小于第一数据量。
其中,图像处理器还包括第二缓存器,该第二缓存器用于存储视频数据,例如,第二缓存器可以为静态随机存取存储器(Static Random Access Memory,SRAM)。第二数据量可以根据需要进行设置和更改,本申请对此不作具体限定;例如,该第二数据量可以为30个像素点、40个像素点或者50个像素点等。
在本申请实施例中,第一缓存器相当于一个数据暂存器,通过将视频数据先在第一缓存器中暂存一段时间,再转存至第二缓存器中,从而能够为第二缓存器节省部分存储空间。
在一些实施例中,终端将该第一缓存器中的视频数据转存至该第二缓存器中的实现方式可以为:终端基于该视频数据存储至该第一缓存器的顺序,将该视频数据依次转存至该第二缓存器中。在本申请实施例中,通过将视频数据依次转存至第二缓存器中,从而保持了视频数据在存储过程中的有序性。
可选地,终端也可以直接将视频数据存储至第二缓存器中,相应的,步骤302-303的操作可以替换为:终端将该视频数据存储至图像处理器的第二缓存器中。
在本申请实施例中,通过直接将视频数据存储至第二缓存器中,无需对视频数据进行转存,从而提高了缓存效率,还减少了图像处理器中缓存器的数量,节约了图像处理器的生产成本。
在一些实施例中,并非视频中的每帧图像均需要进行图像校正,则终端可以先确定第一图像是否存在图像校正的需求,若第一图像存在图像校正的需求,再确定第一图像的校正矩阵,也即是执行步骤304的操作。若第一图像不存在图像校正的需求,则终端可以直接对视频数据进行显示。
可选地,终端可以结合第一图像和上一帧图像之间的旋转角度,以及终端中内置的陀螺仪采集的角速度数据,来确定第一图像是否存在图像校正的需求。
其中,在录制视频的过程中,终端可能出现晃动,而晃动会导致终端的角速度变化,也会导致第一图像与上一帧图像之间出现旋转的现象,若该旋转角度大于角度阈值,或者角速度数据变化较大,表示视频中相邻帧中的画面跳跃,不稳定,从而表示第一图像存在图像校正的需求。
在本申请实施例中,通过结合第一图像和上一帧图像之间的旋转角度,以及终端中内置的陀螺仪采集的角速度数据,来一起确定第一图像是否存在图像校正的需求,能够提高判断的准确性。
可选地,终端还可以只根据第一图像和上一帧图像之间的旋转角度确定第一图像是否存在图像校正的需求,从而节省了判断的时间。在本申请实施例中,以终端根据第一图像和上一帧图像之间的旋转角度确定第一图像是否存在图像校正的需求为例进行说明,相应的,终端执行步骤304。
步骤304:若第一图像和上一帧图像之间的旋转角度大于角度阈值,则终端确定校正矩阵。
其中,该角度阈值可以根据需要进行设置,本申请对此不作具体限定。可选地,该校正矩阵为基于第一图像与上一帧图像之间的旋转角度确定的。
在本申请实施例中,该校正矩阵中的元素包括基于该旋转角度确定的参数。例如,以旋转角度为θ为例,该校正矩阵可以为
Figure BDA0003206114390000071
在本申请实施例中,在第一图像和上一帧图像之间的旋转角度大于角度阈值时,也即是在第一图像存在校正需求时,才确定校正矩阵,从而后续能够结合该校正矩阵对该第一图像进行校正,这样,在第一图像不存在校正需求时,则无需对第一图像进行校正,从而能够节省了计算资源。
在本申请实施例中,由终端的处理器确定校正矩阵,处理器将该校正矩阵配置在图像处理器中,以使得图像处理器能够基于该校正矩阵对第一图像进行校正。
步骤305:若该视频数据中该第一图像的已接收数据量达到第一数据量,则终端基于该校正矩阵和该第一图像中待显示的第一像素点,确定该第一图像中的第二像素点,该校正矩阵为基于该第一图像与上一帧图像之间的旋转角度确定的。
其中,第一数据量用于衡量当前第一图像的已接收数据量是否达到确定第一像素点的像素值所需的视频数据的数据量。在一些实施例中,第一数据量可以根据需要进行设置和更改,本申请对此不作具体限定。需要说明的是,该已接收数据量为图像处理器接收到的视频数据的数据量。
在一些实施例中,终端基于该校正矩阵和该第一图像中待显示的第一像素点,确定该第一图像中的第二像素点的实现方式可以为:终端基于该校正矩阵对该第一图像中待显示的该第一像素点的坐标进行转换,得到该第二像素点的坐标。
其中,由于校正矩阵可以表示第一像素点的坐标与第二像素点的坐标之间的转换关系,因此,终端基于校正矩阵对第一像素点的坐标进行转换能够得到第二像素点的坐标。例如,以第一像素点的坐标为(x,y),第二像素点的坐标为(x’,y’)为例进行说明,第一像素点的坐标和第二像素点的坐标之间的转换关系参见公式一:
公式一:
Figure BDA0003206114390000081
其中
Figure BDA0003206114390000082
为校正矩阵,a00、a01、a10、a11、b0和b1为校正矩阵中的元素。
参见图4,图像1为第一图像,图像2为校正后得到的第一图像,第一像素点为A,第二像素点为像素点A’。
需要说明的一点是,在本申请实施例中,第一像素点为第一图像中待显示的像素点。在终端接收到视频数据之后,通过图像处理器将该视频数据输出至显示器。可选地,终端按照预设顺序将接收到的视频数据中第一图像的像素点输出至显示器。其中,该预设顺序可以为从第一图像中位于左上角的第一个像素点开始,从左到右、从上到下的顺序。该显示器可以为终端中的显示屏。对于待显示的第一像素点,终端按照步骤305-308的实现方式对该第一像素点进行显示。
在一些实施例中,在第一像素点为第一图像中位于左上角的第一个像素点的情况下,若第一图像的已接收数据量达到第一数据量,则终端执行基于校正矩阵和该第一图像中待显示的第一像素点,确定该第一图像中的第二像素点的步骤,也即执行步骤304的操作。
在另一些实施例中,在第一像素点并非第一图像中位于左上角的第一个像素点的情况下,由于接收视频数据的速度与图像校正的速度之间的大小关系是不确定的,因此终端可以先确定一个图像窗口,结合该图像窗口来确定是否执行基于校正矩阵和该第一图像中待显示的第一像素点,确定该第一图像中的第二像素点的步骤。相应的,本申请提供的图像校正方法还包括以下步骤:终端确定第一图像的图像窗口,该图像窗口为以该第一像素点为中心的矩形窗口;若该第一图像的已接收数据量达到该图像窗口所包括的数据量,执行该基于校正矩阵和该第一图像中待显示的第一像素点,确定该第一图像中的第二像素点的步骤。
其中,该图像窗口的边长可以为两倍的第一数据量,或者为两倍的第一数据量减一得到的数据量。在一些实施例中,终端以行缓存(buffer)的形式将视频数据存储在第二缓存器中。而由于旋转角度不同,校正矩阵也不同,因此确定第一像素点所需的视频数据的数据量可能不同,则第二缓存器中所需存储的数据总量也不同。由于第一缓存器和第二缓存器中所缓存的视频数据的数据量可以根据旋转角度调整,因此可扩展性较强。该数据量可以以行为单位计量;例如,1行视频数据、2行视频数据或者3行视频数据等。
例如,第二像素点(x’,y’)和第一像素点(x,y)之间的距离不超过40个像素点,也即是-40<=x’-x<=40,且-40<=y’-y<=40。此时,以第一像素点(x,y)为中心,开一个81行×81行大小的图像窗口,则点(x’,y’)必在该图像窗口内。其中,第二缓存器中只需缓存80行视频数据,加上第一缓存器中缓存的当前行视频数据,即可组成81行×81行大小的图像窗口中的视频数据。
在本申请实施例中,在已接收视频数据的数据量达到图像窗口所包括的数据量时,才确定第二像素点,这样能够减少从已接收的视频数据中获取空信息的现象发生,进而为后续像素值的获取提供数据支持。
步骤306:终端从该第二缓存器中获取该第二像素点的像素值;若从该第二缓存器中未获取到该第二像素点的像素值,则从该第一缓存器中获取该第二像素点的像素值。
在一些实施例中,在确定第二像素点之后,终端生成携带第二像素点的坐标的读命令,在通过读写仲裁单元确定执行该读命令的情况下,从第二缓存器中读取该坐标对应的像素值。
其中,由于第二缓存器和第一缓存器均缓存有视频数据,在第二缓存器中不存在第二像素点的像素值时,可以从第一缓存器中获取第二像素点的像素值。
在本申请实施例中,通过在第二缓存器中未存储第二像素点的像素值时,从第一缓存器中获取该像素值,从而能够提高数据获取的准确性。
在一些实施例中,在第二缓存器中存储的视频数据的数据量达到一定值时,可以对第二缓存器中存储的视频数据进行清理,相应的,本申请提供的图像校正方法还包括以下步骤:若该第二缓存器中存储的该视频数据的数据量达到第三数据量,终端基于该视频数据存储至该第二缓存器的顺序,将该第二缓存器中的视频数据依次删除,该第三数据量大于该第一数据量。其中,第三数据量可以为图像窗口所包含的视频数据的数据量。
在本申请实施例中,通过对第二缓存器中的数据进行清理,从而保证了第二缓存器能够只存储对确定第一像素点的像素值有用的视频数据,从而节省了第二缓存器的存储空间。
并且,在第二缓存器中的视频数据为基于存储至第一缓存器的顺序依次转存得到的情况下,通过依次删除视频数据,还可以在未来得及从第二缓存器中获取第二像素点的像素值的情况下,防止发生因对第二缓存器进行了清理,导致第二像素点的像素值被清理掉的现象,从而保证了数据存储的安全性。
步骤307:终端将该第一像素点的像素值更新为该第二像素点的像素值。
在该步骤中,由于第一像素点为对第二像素点进行校正之后得到的像素点,则终端将第一像素点的像素值更新为第二像素点的像素值,以实现对第一图像的校正。
步骤308:终端基于更新后的该第一像素点的像素值,对该第一图像进行显示。
在一些实施例中,在更新第一像素点的像素值之后,在无需对第一像素点做其它处理的情况下,终端将第一像素点的像素值,也即更新后的视频数据从图像处理器输出给显示器,以使终端对第一图像进行显示。
在另一些实施例中,图像处理器还具有除图像校正以外的其它功能;终端可以通过图像处理器对第一像素点的像素值,也即更新后的视频数据进行其它处理,再将经过其它处理的视频数据输出给显示器,以使终端对第一图像进行显示。其中,本申请提供的图像校正方法为后续的实时图像处理提供了基础。例如,图像处理器还可以具有亮度调节、对比度调整或者锐化等功能。
例如,参见图5,第一图像的视频数据输入到第一缓存器中,通过执行写命令,将视频数据写入第二缓存器中,对于第一像素点,通过坐标计算单元,确定第二像素点,通过执行读命令,从第二缓存器或者第一缓存器中读取第二像素点的像素值,将该像素值更新为第一像素点的像素值,输出该像素值,也即输出更新后的视频数据。其中,读命令和写命令通过读写仲裁单元来确定执行的时机。参见图6,左图为未经过校正的第一图像,右图为校正之后的第一图像。
需要说明的一点是,终端可以在图像处理器中设置单独的写命令单元和读命令单元,在写命令单元和读命令单元内部可分别设置先进先出(First Input First Output,FIFO)存储器,从而在图形处理器通过读写仲裁单元仲裁,而没有及时响应读命令或者写命令时,可以先将视频数据缓存在FIFO存储器中,这样不会阻挡后续的视频数据流。
在本申请实施例中,由于在接收到的视频数据中第一图像的已接收数据量达到第一数据量时,就开始结合校正矩阵和第一图像中的第一像素点对该第一像素点进行校正,从而无需等到视频数据能够组成完整的一帧第一图像时才开始校正,这样实现了对视频数据的及时处理,进而改善了图像校正的实时性。
在本申请实施例中,图像处理器的架构较为简单,便于安装在终端中以进行图像校正。由于通过单独的图像处理器来对视频数据进行校正,从而只需处理器确定校正矩阵,以及将校正所需的其他参数输入图像处理器即可,无需处理器对视频数据组成的图像进行校正。并且,由于图像处理器中存在第一缓存器和第二缓存器,这样,无需外部存储器来缓存视频数据,例如,外部存储器可以为双倍数据速率(Double Data Rate,DDR)同步动态随机存储器,从而降低了资源消耗,节省了带宽消耗。
请参考图7,其示出了本申请一个示例性实施例示出的图像校正装置的结构框图。该装置700包括:
接收模块701,用于接收视频数据;
第一确定模块702,用于若所述视频数据中第一图像的已接收数据量达到第一数据量,则基于校正矩阵和所述第一图像中待显示的第一像素点,确定所述第一图像中的第二像素点,所述校正矩阵为基于所述第一图像与上一帧图像之间的旋转角度确定的;
更新模块703,用于将所述第一像素点的像素值更新为所述第二像素点的像素值,基于更新后的所述第一像素点的像素值,对所述第一图像进行显示。
在一些实施例中,该装置还包括:
存储模块,用于将该视频数据存储至第一缓存器中;若该第一缓存器中存储的该视频数据的数据量达到第二数据量,则将该第一缓存器中的视频数据转存至第二缓存器中,该第二数据量小于该第一数据量;或者,
该存储模块,用于将该视频数据存储至该第二缓存器中。
在一些实施例中,该存储模块,用于基于该视频数据存储至该第一缓存器的顺序,将该视频数据依次转存至该第二缓存器中。
在一些实施例中,该装置还包括:
删除模块,用于若该第二缓存器中存储的该视频数据的数据量达到第三数据量,则基于该视频数据存储至该第二缓存器的顺序,将该第二缓存器中的视频数据依次删除,该第三数据量大于该第一数据量。
在一些实施例中,该装置还包括:
第一获取模块,用于从该第二缓存器中获取该第二像素点的像素值。
在一些实施例中,该装置还包括:
第二获取模块,用于从该第二缓存器中获取该第二像素点的像素值;若从该第二缓存器中未获取到该第二像素点的像素值,则从该第一缓存器中获取该第二像素点的像素值。
在一些实施例中,该第一确定模块702,还用于确定第一图像的图像窗口,该图像窗口为以该第一像素点为中心的矩形窗口;若该第一图像的已接收数据量达到该图像窗口所包括的数据量,则基于校正矩阵和该第一图像中待显示的第一像素点,确定该第一图像中的第二像素点。
在一些实施例中,该装置还包括:
第二确定模块,用于若该第一图像和该上一帧图像之间的旋转角度大于角度阈值,则确定该校正矩阵。
在一些实施例中,该第一确定模块702,用于基于该校正矩阵对该第一图像中待显示的该第一像素点的坐标进行转换,得到该第二像素点的坐标。
在本申请实施例中,由于在接收到的视频数据中第一图像的已接收数据量达到第一数据量时,就开始结合校正矩阵和第一图像中的第一像素点对该第一像素点进行校正,从而无需等到视频数据能够组成完整的一帧第一图像时才开始校正,这样实现了对视频数据的及时处理,进而改善了图像校正的实时性。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条程序代码,该至少一条程序代码用于被处理器执行以实现如上各个实施例示出的图像校正方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品中的程序代码由终端的处理器执行时,使得终端能够执行如上各个实施例示出的图像校正方法。
在一些实施例中,本申请实施例所涉及的计算机程序可被部署在一个终端上执行,或者在位于一个地点的多个终端上执行,又或者,在分布在多个地点且通过通信网络互连的多个终端上执行,分布在多个地点且通过通信网络互连的多个终端可以组成区块链系统。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个程序代码或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种图像校正方法,其特征在于,所述方法包括:
接收视频数据;
若所述视频数据中第一图像的已接收数据量达到第一数据量,则基于校正矩阵和所述第一图像中待显示的第一像素点,确定所述第一图像中的第二像素点,所述校正矩阵为基于所述第一图像与上一帧图像之间的旋转角度确定的;
将所述第一像素点的像素值更新为所述第二像素点的像素值,基于更新后的所述第一像素点的像素值,对所述第一图像进行显示。
2.根据权利要求1所述的方法,其特征在于,在所述接收视频数据之后,所述方法还包括:
将所述视频数据存储至第一缓存器,若所述第一缓存器中存储的所述视频数据的数据量达到第二数据量,则将所述第一缓存器中的视频数据转存至第二缓存器中,所述第二数据量小于所述第一数据量;或者,
将所述视频数据存储至所述第二缓存器中。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一缓存器中的视频数据转存至第二缓存器中,包括:
基于所述视频数据存储至所述第一缓存器的顺序,将所述视频数据依次转存至所述第二缓存器中。
4.根据权利要求2-3任一项所述的方法,其特征在于,所述方法还包括:
若所述第二缓存器中存储的所述视频数据的数据量达到第三数据量,则基于所述视频数据存储至所述第二缓存器的顺序,将所述第二缓存器中的视频数据依次删除,所述第三数据量大于所述第一数据量。
5.根据权利要求2所述的方法,其特征在于,在所述将所述第一像素点的像素值更新为所述第二像素点的像素值之前,所述方法还包括:
从所述第二缓存器中获取所述第二像素点的像素值。
6.根据权利要求2所述的方法,其特征在于,在所述将所述第一像素点的像素值更新为所述第二像素点的像素值之前,所述方法还包括:
从所述第二缓存器中获取所述第二像素点的像素值;
若从所述第二缓存器中未获取到所述第二像素点的像素值,则从所述第一缓存器中获取所述第二像素点的像素值。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定第一图像的图像窗口,所述图像窗口为以所述第一像素点为中心的矩形窗口;
若所述第一图像的已接收数据量达到所述图像窗口所包括的数据量,则执行所述基于校正矩阵和所述第一图像中待显示的第一像素点,确定所述第一图像中的第二像素点的步骤。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一图像和所述上一帧图像之间的旋转角度大于角度阈值,则确定所述校正矩阵。
9.根据权利要求1所述的方法,其特征在于,所述基于校正矩阵和所述第一图像中待显示的第一像素点,确定所述第一图像中的第二像素点,包括:
基于所述校正矩阵对所述第一图像中待显示的所述第一像素点的坐标进行转换,得到所述第二像素点的坐标。
10.一种图像校正装置,其特征在于,所述装置包括:
接收模块,用于接收视频数据;
第一确定模块,用于若所述视频数据中第一图像的已接收数据量达到第一数据量,则基于校正矩阵和所述第一图像中待显示的第一像素点,确定所述第一图像中的第二像素点,所述校正矩阵为基于所述第一图像与上一帧图像之间的旋转角度确定的;
更新模块,用于将所述第一像素点的像素值更新为所述第二像素点的像素值,基于更新后的所述第一像素点的像素值,对所述第一图像进行显示。
11.一种终端,其特征在于,所述终端包括处理器和存储器;所述存储器存储有至少一条程序代码,所述至少一条程序代码用于被所述处理器执行以实现如权利要求1至9任一所述的图像校正方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一条程序代码,所述至少一条程序代码用于被处理器执行以实现如权利要求1至9任一所述的图像校正方法。
CN202110917329.4A 2021-08-11 2021-08-11 图像校正方法、装置、终端及存储介质 Pending CN115706857A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110917329.4A CN115706857A (zh) 2021-08-11 2021-08-11 图像校正方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110917329.4A CN115706857A (zh) 2021-08-11 2021-08-11 图像校正方法、装置、终端及存储介质

Publications (1)

Publication Number Publication Date
CN115706857A true CN115706857A (zh) 2023-02-17

Family

ID=85180056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110917329.4A Pending CN115706857A (zh) 2021-08-11 2021-08-11 图像校正方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN115706857A (zh)

Similar Documents

Publication Publication Date Title
EP3410390B1 (en) Image processing method and device, computer readable storage medium and electronic device
US20190253644A1 (en) Photographing Method for Terminal and Terminal
WO2021031850A1 (zh) 图像处理的方法、装置、电子设备及存储介质
US20230013753A1 (en) Image shooting method and electronic device
CN107615745B (zh) 一种拍照方法及终端
CA2455043A1 (en) Method and apparatus for facilitating control of a target computer by a remote computer
CN110766610B (zh) 一种超分辨率图像的重建方法及电子设备
CN111064895B (zh) 一种虚化拍摄方法和电子设备
CN109068063B (zh) 一种三维图像数据的处理、显示方法、装置及移动终端
WO2022089341A1 (zh) 一种图像处理方法及相关装置
CN107404618A (zh) 一种拍摄方法及终端
CN106471797A (zh) 用于加速相机控制算法的平台架构
CN107835404A (zh) 基于头戴式虚拟现实设备的图像显示方法、设备及系统
CN112068739A (zh) 一种红外触摸响应方法、装置及存储介质
CN115205099A (zh) 图像数据传输方法、装置和电子设备
CN107734269B (zh) 一种图像处理方法及移动终端
CN114298889A (zh) 图像处理电路和图像处理方法
WO2023207445A1 (zh) 图像去噪方法、装置、系统及电子设备
CN108038817A (zh) 一种图像背景虚化方法、终端及计算机可读存储介质
WO2023165535A1 (zh) 图像处理方法、装置及设备
JP2003032539A (ja) カメラ搭載装置
JP2006174334A (ja) 表示コントローラ、電子機器及び画像データ供給方法
CN115706857A (zh) 图像校正方法、装置、终端及存储介质
CN113744139A (zh) 图像处理方法、装置、电子设备及存储介质
US8976222B2 (en) Image processing apparatus and image processing method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination