一种自适应提升视频通透性方法和系统
技术领域
本发明涉及视频处理技术领域,特别涉及一种自适应提升视频通透性方法和系统。
背景技术
现有技术中对于视频处理的现有许多方法去增强图像的通透性对比度,如有直方图均衡,或限制对比度的直方图均衡,retinex算法等对图像进行对比度自适应矫正。现有技术中Retinex不适用与大多数场景,直方图均衡类、直方图类算法不适用与单一对比度场景,会使得图像过分处理,造成视频图像过曝或噪声过度放大。
发明内容
本发明其中一个发明目的在于提供一种自适应提升视频通透性方法和系统,所述方法和系统通过对视频处理最后阶段的yuv420域y分量上进行处理,可以自适应地根据图像空间信息改善图像的空间对比通透度,具有更优秀的图像处理效果。
本发明另一个发明目的在于提供一种自适应提升视频通透性方法和系统,所述方法和系统通过对原图进行分块后,通过权重配置对分块图像进行小图选择,在小图选择后进一步采用线性差值算法进行扩展到原图大小,进一步计算图像的自适应矩阵,从而具有更强的适应性。
本发明另一个发明目的在于提供一种自适应提升视频通透性方法和系统,所述方法和系统通过设置截断点,并通过插值算法计算第二自适应矩阵,利用预先配置的第二权重选择参数对所述第二自适应矩阵进行图像选择,结合第一自适应矩阵生成最终的自适应矩阵,整个处理过程充分考虑到整个图像的信息,相比于局部对比度具有更好的通透性。
为了实现至少一个上述发明目的,本发明进一步提供一种自适应提升视频通透性方法,所述方法包括:
获取视频帧原图,对所述视频帧原图的yuv420域的y分量上进行预处理,得到小图选择结果图;
获取预处理后的小图选择结果图,将所述小图选择结果图采用线性插值算法还原至原图大小;
对还原处理后图像的每一单点计算第一自适应矩阵;
设置还原处理后图像的多个截断点,根据所述截断点采用插值算法对截断点进行插值计算,得到第二自适应矩阵;
根据对应单点的第一自适应矩阵和第二自适应矩阵得到第三自适应矩阵;
对原图进行lut查找,读取原图中单点值,根据所述原图中单点值作为所述第三自适应矩阵的排序位置,并依次读取第三自适应矩阵对应排序位置的值,输出最终的视频帧。
根据本发明其中一个较佳实施例,对所述视频原图进行预处理的方法包括:对视频原图采用线性缩小算法进行分块得到降采样后的缩小图,对所述缩小图采用高斯卷积得到卷积结果图。
根据本发明另一个较佳实施例,对所述视频原图进行预处理的方法包括:配置第一权值参数inner1,根据所述降采样后的缩小图和卷积结果图进行选择,得到小图选择结果图,其中选择方法为:
其中ydownchoose为小图选择结果图,ydownf为卷积结果图,ydown为降采样后缩小图。
根据本发明另一个较佳实施例,所述第一自适应矩阵的计算方法包括:配置自然数矩阵,其中所述自然数矩阵为1*256的矩阵,且矩阵的元素数值从左到右依次为0-255递增的值,获取所述小图选择结果图扩展还原后的图像yup,并根据以下公式得到对应的第一自适应矩阵:
其中yrix1表示第一自适应矩阵,yupp为所述小图选择结果图扩展还原后的图像yup上的任意一个单点,ax为预设的自然数矩阵。
根据本发明另一个较佳实施例,所述截断点的设置方法包括:获取小图选择结果图扩展还原后图像yup,选择yup图像中任意一个单点对所述图像yup设置3个截断点,所述3个截断点的获取方法为:
其中r1、r2和r3分别表示不同的截断点。
根据本发明另一个较佳实施例,在获取所述截断点后,进一步对所述截断点进行插值得到第二自适应矩阵yrix2:
其中interp1表示matlab的插值函数,fix表示向0方向取整,pchip表示对查询点的插值基于邻点网格点处数值的保形分段三次插值。
根据本发明另一个较佳实施例,所述第三自适应矩阵的计算方法包括:设置第二权值参数inner2,其中所述第二权值参数的选择范围为0-255范围内的整数,所述第三自适应矩阵yrix:
根据本发明另一个较佳实施例,将所述第三自适应矩阵按照从左到右进行排序后,对原图yin进行lut查找,获取原图yin中所有单点值,并将每一单点的值作为所述第三自适应矩阵的排序位置,并依次读取所述第三自适应矩阵中对应位置的值作为最终输出的自适应图。
为了实现至少一个上述发明目的,本发明进一步提供一种自适应提升视频通透性系统,所述系统执行上述一种自适应提升视频通透性方法。
本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被处理器执行所述一种自适应提升视频通透性方法。
附图说明
图1显示的是本发明一种自适应提升视频通透性方法的流程示意图。
图2显示的是现有的待处理视频原图示意图。
图3显示的是现有技术中retinex算法等对原图的处理效果图。
图4显示的是本发明一种自适应提升视频通透性方法对原图的处理效果图。
具体实施方式
以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
请结合图1,本发明公开了一种自适应提升视频通透性方法和系统,其中所述方法主要包括如下步骤:首先需要对视频帧进行预处理操作,在所述视频帧的yuv420域上y分量进行预处理,此时默认的y分量上的位宽为8bite。需要说明是,yuv420域是一种视频格式,是一种专业视频格式名称,假设当前需要预处理的视频帧原图为yin,所述视频帧原图yin的预处理过程包括:对所述视频帧原图yin进行分块,采用线性缩小算法将视频帧原图yin降采样缩小成为64*64大小的缩小图ydown,并将所述缩小图进行高斯卷积得到卷积结果图。举例来说,设置5*5的高斯卷积窗口vf:
利用上述5*5的高斯卷积窗口对所述缩小图ydown进行卷积后得到卷积结果图ydownf。需要说明的是,所述线性缩小算法为公知算法,本发明对此不再详细描述。
进一步配置第一权值参数inner1,用于权重选择,其中所述第一权值参数inner1为0-255范围内的任意整数,本发明中,所述第一权值参数优选配置为192,进一步根据降采样后的缩小图ydown和高斯卷积后的卷积结果图ydownf进行计算得到小图选择结果图ydownchoose:
进一步将所述小图选择结果图ydownchoose采用线性插值算法进行扩展还原,用于将所述小图选择结果图ydownchoose还原成原图大小,定义扩展还原后图为yup,此时所述扩展还原后的图和原图大小相同,看起来更模糊。
在完成所述小图选择结果图的扩展后,进一步对所述扩展还原图yup的每一个单点yupp计算第一自适应矩阵,其中所述第一自适应矩阵的计算方法包括:预先配置自然数矩阵ax,所述自然数矩阵ax为1*256的矩阵,且矩阵的元素数值从左到右依次为0-255递增的值,获取所述小图选择结果图扩展还原后的图像yup的每一个单点yupp和对应的自然数矩阵ax计算所述第一自适应矩阵yrix1:
所述第一自适应矩阵yrix1为一个1*256的矩阵。
本发明进一步对所述扩展还原后的图像中每一个单点yupp设置截断点,其中所述截断点可以被设置为3个,本发明中可以设置包括第一截断点r1,第二截断点r2,和第三截断点r3,上述3个截断点的计算公式分别为:
其中所述第一截断点r1,第二截断点r2和第三截断点r3分别为不同的截点,进一步采用matlab插值函数interp1对所述截断点进行插值,得到扩展还原后的图像中每一个单点yupp的第二自适应矩阵yrix2,第二自适应矩阵yrix2的计算方法为:
其中interp1表示matlab的插值函数,fix表示向0方向取整, pchip是interp1的这个函数里面的格式,是函数的一种插值方式,表达的是保形分段三次插值。对查询点的插值基于邻点网格点处数值的保形分段三次插值。设置第二权值参数inner2,其中所述第二权值参数inner2为0-255范围内的整数,本发明优选配置所述第二权值参数inner2为192,上述计算获得的第二自适应矩阵yrix2为1*256的矩阵。进一步根据所述第二权值参数inner2、第一自适应矩阵yrix1和第二自适应矩阵yrix2计算最终的第三自适应矩阵yrix:
其中所述第三自适应矩阵为1*256的矩阵,在完成所述第三自适应矩阵的计算后进一步进行lut(显示查找表)原图yin查找,所述lut查找方法包括:将所述第三自适应矩阵yrix根据自身单点的位置进行排序,排序结果为1-256个位置根据当前原图yin的单点值找到排序的位置,其中所述原图yin每一个单点的值多少对应所述第三自适应矩阵yrix位置。比如原图yin第一单点的值为200,则对应所述第三自适应矩阵yrix第200个点的值,进一步读出每一单点对应的第三自适应矩阵yrix位置(如yrix=200位置)的值作为当前单点的自适应值。在遍历所有当前单点读取对应的第三自适应矩阵yrix位置(如yrix=200位置)的值后,输出结果作为最终的自适应视频的图像帧。
上述第一自适应矩阵和第二自适应矩阵的构建,以及第三自适应矩阵的计算充分考虑了图像的自身信息,结合图2、图3和图4,本发明上述处理过程相比于传统的图像局部对比度具有更好的通透性,本发明图4可以看到更多的树。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线段的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线段、电线段、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明,本发明的目的已经完整并有效地实现,本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。