1.本发明涉及图像处理领域,尤其是涉及一种图像放大像素填充处理方法、设备及存储介质。
背景技术:2.图像是人认识和了解世界的最重要来源之一,图像分辨率的高低很大意义上代表了图像所包含信息量的多少,高分辨率图像更清晰,表达信息更准确,具有更高可信度。随着社会不断发展,不管是尖端科技领域,还是日常生活方面,都需要高清图像来满足人们的需求。
3.在实际生活中,图像采集过程因种种影响,往往达不到人们所预期的效果,将图像放大处理有助于减轻这种影响。图像放大后的失真是人们日常生活中和图像处理领域经常面临的问题之一。一般情况下,在对图像进行局部放大之后,会使图片像素化更加严重,从视觉上更容易使人感到模糊,不容易准确获得原有的图片所包含的信息。
4.为解决这一问题,目前通常是利用高斯滤波、自动调节、插值算法等一系列方法。然而,利用这些方法虽然在视觉上起到了一定的补足失真的作用,但其所增补的像素点的像素值是否能代表原图像的特征这一问题却有待商榷。
技术实现要素:5.本发明的目的就是为了克服上述现有技术存在的缺陷而提供了一种基于神经网络与边缘检测的图像放大像素填充处理方法、设备及存储介质,该方法将神经网络与图像边缘检测技术相结合,使得图像放大后补充的像素点像素值更贴近于真实像素值,更能体现出图像原有的特点,保证了图像特征尽可能少的丢失,降低了图像放大后的失真程度。
6.本发明的目的可以通过以下技术方案来实现:
7.根据本发明的第一方面,提供了一种图像放大像素填充处理方法,该方法包括以下步骤:
8.步骤1、从原图中截取待放大图像,采用边缘检测算法对待放大图像进行边缘检测,得到待放大图像对应的二值化边缘图像;
9.步骤2、将待放大图像进行像素点拉伸;其中,拉伸后图像中的空白像素点为待补充像素;
10.步骤3、将拉伸后的图像送入至预训练好的神经网络中,输出空白像素点对应的像素值并将其填入拉伸后图像对应的空白像素点位置;
11.步骤4、使用边缘检测算法对步骤3中所得的填充后的图像进行边缘检测,进行下采样和二值化处理,与步骤1中得到的二值化边缘图像进行对比,若两幅边缘图像对应像素点像素值相等的个数与像素点总个数的比值大于设定的阈值,则将填充后的图像作为输出,否则更新神经网络参数,重复步骤3,直到比值大于所设阈值。
12.优选地,所述步骤1中的边缘检测算法包括canny、sobel和roberts边缘检测算法。
13.优选地,所述步骤2中对待放大图像进行像素点拉伸,具体为:将待放大图像进行像素点拉伸至原图大小。
14.优选地,所述步骤2中的拉伸具体为:
15.将待放大的大小为m
×
n图像的第i行第j列的像素点的像素值复制到另一幅大小为2m
×
2n的图像的第k行第b列,其中,参数k和i、b和j满足:
16.k=2i-1
17.b=2j-1。
18.根据本发明的第二方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现任一项所述的方法。
19.根据本发明的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现任一项所述的方法。
20.与现有技术相比,本发明具有以下优点:
21.本发明的方法使得图像放大后补充的像素点像素值更贴近于真实像素值,更能体现出图像原有的特点,保证了图像特征尽可能少的丢失,降低了图像放大后的失真程度。
附图说明
22.图1为本发明的方法流程图。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
24.实施例
25.本实施例提供了一种基于神经网络与边缘检测的图像放大像素填充处理方法,使得图像放大后补充的像素点像素值更贴近于真实像素值,更能体现出图像原有的特点,保证了图像特征尽可能少的丢失,降低了图像放大后的失真程度,该方法包括如下步骤:
26.步骤1、将原图中需要放大的部分图像截取下来,使用canny边缘检测算法检测出这一部分图像的边缘并二值化,得到全部像素点的像素值都为0或1的二值图像;
27.步骤2、将原图中需要放大的部分图像像素点尽可能均匀的拉伸至原来未放大图像的大小,拉伸后的图像像素点为空白的部分待补充。其具体的拉伸方式为:将需放大的大小为m
×
n图像的第i行第j列的像素点的像素值复制到另一幅大小为2m
×
2n的图像的第k行第b列,其中k和i、b和j满足:
28.k=2i-1
29.b=2j-1
30.步骤3、将拉伸后的图像包含的真实像素值送入训练好的神经网络中,通过神经网络计算出空白部分的像素值,填入拉伸后的图像对应的空白部分;
31.步骤4、将步骤三中所得的图像使用canny边缘检测算法检测边缘并下采样并二值化,与步骤一中得到的边缘图像进行对比,若两幅边缘图像对应像素点的像素值相等的个
数与像素点个数的比值大于所设定的阈值,则将填充后的图片作为输出,若比值小于阈值,则更新神经网络参数,再进行步骤3,直到比值大于阈值。
32.本发明电子设备包括中央处理单元(cpu),其可以根据存储在只读存储器(rom)中的计算机程序指令或者从存储单元加载到随机访问存储器(ram)中的计算机程序指令,来执行各种适当的动作和处理。在ram中,还可以存储设备操作所需的各种程序和数据。cpu、rom以及ram通过总线彼此相连。输入/输出(i/o)接口也连接至总线。
33.设备中的多个部件连接至i/o接口,包括:输入单元,例如键盘、鼠标等;输出单元,例如各种类型的显示器、扬声器等;存储单元,例如磁盘、光盘等;以及通信单元,例如网卡、调制解调器、无线通信收发机等。通信单元允许设备通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
34.处理单元执行上文所描述的各个方法和处理,例如方法s1~s4。例如,在一些实施例中,方法s1~s4可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由rom和/或通信单元而被载入和/或安装到设备上。当计算机程序加载到ram并由cpu执行时,可以执行上文描述的方法s1~s4的一个或多个步骤。备选地,在其他实施例中,cpu可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法s1~s4。
35.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。
36.用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
37.在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合
38.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
技术特征:1.一种图像放大像素填充处理方法,其特征在于,该方法包括以下步骤:步骤1、从原图中截取待放大图像,采用边缘检测算法对待放大图像进行边缘检测,得到待放大图像对应的二值化边缘图像;步骤2、将待放大图像进行像素点拉伸;其中,拉伸后图像中的空白像素点为待补充像素;步骤3、将拉伸后的图像送入至预训练好的神经网络中,输出空白像素点对应的像素值并将其填入拉伸后图像对应的空白像素点位置;步骤4、使用边缘检测算法对步骤3中所得的填充后的图像进行边缘检测,进行下采样和二值化处理,与步骤1中得到的二值化边缘图像进行对比,若两幅边缘图像对应像素点像素值相等的个数与像素点总个数的比值大于设定的阈值,则将填充后的图像作为输出,否则更新神经网络参数,重复步骤3,直到比值大于所设阈值。2.根据权利要求1所述的一种图像放大像素填充处理方法,其特征在于,所述步骤1中的边缘检测算法包括canny、sobel和roberts边缘检测算法。3.根据权利要求1所述的一种图像放大像素填充处理方法,其特征在于,所述步骤2中对待放大图像进行像素点拉伸,具体为:将待放大图像进行像素点拉伸至原图大小。4.根据权利要求3所述的一种图像放大像素填充处理方法,其特征在于,所述步骤2中的拉伸具体为:将待放大的大小为m
×
n图像的第i行第j列的像素点的像素值复制到另一幅大小为2m
×
2n的图像的第k行第b列,其中,参数k和i、b和j满足:k=2i-1b=2j-1。5.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~4任一项所述的方法。6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~4中任一项所述的方法。
技术总结本发明涉及一种图像放大像素填充处理方法、设备及存储介质,该方法包括:S1、从原图中截取待放大图像,采用边缘检测算法对待放大图像进行边缘检测得到二值化边缘图像;S2、将待放大图像进行像素点拉伸;S3、将拉伸后的图像送入至预训练好的神经网络中,输出空白像素点的像素值并将填入对应的空白像素点位置;S4、使用边缘检测算法对步骤S3中所得的填充后图像进行边缘检测、下采样和二值化处理后,与步骤S1中的二值化边缘图像进行像素值比较,若两幅边缘图像对应像素点像素值相等的个数与像素点总个数的比值大于设定的阈值,输出填充后图像,否则重复步骤S3,直到比值大于所设阈值。与现有技术相比,本发明具有图像放大真实性好的优点。的优点。的优点。
技术研发人员:张灿云 刘雨欣 陈进 王凤超 孙雨
受保护的技术使用者:上海应用技术大学
技术研发日:2022.06.30
技术公布日:2022/11/1