红外图像去除横竖纹的方法、系统、电子设备和存储介质与流程

文档序号:30429319发布日期:2022-06-15 16:23阅读:777来源:国知局
1.本技术属于图像处理领域,尤其涉及红外图像去除横竖纹的方法、系统、电子设备和存储介质。
背景技术
::2.红外摄像头是根据物体的热辐射来实现成像的设备,它能将红外光谱信号转化为数字信号。红外探测器在成像的过程中,采集到的红外图像带有明显的横纹和竖纹,需要采用图像处理算法来去掉横纹和竖纹,得到细节清晰人眼易于识别的红外图像。3.因为通用的红外图像去横竖纹算法比较复杂,占用资源较多,受制于嵌入式arm芯片的性能,单一的arm芯片几乎不可能实现去横竖纹算法的实时处理。为了增强图像质量,提升客户使用体验,目前市场上大多数嵌入式红外摄像头方案都会采用fpga+arm这种双芯片方案来实现红外图像的处理功能。其中fpga芯片用来实现去横竖纹算法,以分担arm处理器的运算量。4.但fpga芯片价格昂贵且耗电量大,不仅增加设备的整体成本而且提高了设备的整体功耗。技术实现要素:5.本发明实施例的主要目的在于提供红外图像去除横竖纹的方法、系统、电子设备和存储介质,不仅通过优化原始去横竖纹算法,降低了原始去横竖纹算法中较影响计算速度的判断计算,提高了运算效率,而且通过arm架构中的neon运算单元计算去横竖纹算法,取代了原来需要的fpga计算的单元,降低了设备的生产成本。6.第一方面,提供了一种红外图像去除横竖纹的方法,所述方法包括:7.对原始去横竖纹算法进行算法优化,获取优化后去横竖纹算法,所述对原始去横竖纹算法进行算法优化,包括:8.对待处理红外图像进行处理,得到待处理红外图像中待处理像素点的累计和以及加权和;9.根据待处理像素点的累计和以及加权和计算所述待处理像素点的值和所述待处理像素点的权值矩阵,以通过所述待处理像素点的值和所述权值矩阵去除横竖纹;10.通过arm架构中的neon运算单元根据所述优化后去横竖纹算法对待处理红外图像进行去除横竖纹计算。11.在一个可能的实现方式中,所述对待处理红外图像进行处理,得到待处理红外图像中待处理像素点的累计和以及加权和包括:12.通过预设的滤波模板和预设的灰度差算法对待处理红外图像进行滤波扩展处理,获取待处理红外图像的灰度差值;13.根据所述灰度差值查表获取待处理像素点的权值,并根据预设的累计和公式获取所述待处理像素点的累计和;14.根据所述累计和以及预设的加权和公式获取所述待处理像素点的加权和。15.在一个可能的实现方式中,所述对原始去横竖纹算法进行算法优化,还包括:通过预设指明优化后去横竖纹算法的循环次数、将优化后去横竖纹算法的遍历方式由列遍历调整为行遍历。16.在另一个可能的实现方式中,所述通过预设指明优化后去横竖纹算法的循环次数,包括:17.根据预设的滤波模板对所述待处理红外图像进行边界扩展,并获取扩展后的待处理红外图像的宽度数据、高度数据;18.根据所述扩展后的待处理红外图像的宽度数据、高度数据以及所述优化后去横竖纹算法,通过立即数指明循环次数。19.第二方面,提供了一种红外图像去除横竖纹的系统,所述系统包括:20.获取模块,用于对原始去横竖纹算法进行算法优化,获取优化后去横竖纹算法,所述对原始去横竖纹算法进行算法优化,包括:21.对待处理红外图像进行处理,得到待处理红外图像中待处理像素点的累计和以及加权和;22.根据待处理像素点的累计和以及加权和计算所述待处理像素点的值和所述待处理像素点的权值矩阵,以通过所述待处理像素点的值和所述权值矩阵去除横竖纹;23.计算模块,用于通过arm架构中的neon运算单元根据所述优化后去横竖纹算法对待处理红外图像进行去除横竖纹计算。24.在一个可能的实现方式中,所述对待处理红外图像进行处理,得到待处理红外图像中待处理像素点的累计和以及加权和包括:25.通过预设的滤波模板和预设的灰度差算法对待处理红外图像进行滤波扩展处理,获取待处理红外图像的灰度差值;26.根据所述灰度差值查表获取待处理像素点的权值,并根据预设的累计和公式获取所述待处理像素点的累计和;27.根据所述累计和以及预设的加权和公式获取所述待处理像素点的加权和。28.在一个可能的实现方式中,所述获取模块,包括:29.循环次数获取单元,用于通过预设指明优化后去横竖纹算法的循环次数;30.遍历方式调整单元,用于将优化后去横竖纹算法的遍历方式由列遍历调整为行遍历。31.在另一个可能的实现方式中,所述循环次数获取单元,包括:32.数据获取单元,用于根据预设的滤波模板对所述待处理红外图像进行边界扩展,并获取扩展后的待处理红外图像的宽度数据、高度数据;33.循环次数指明单元,用于根据所述扩展后的待处理红外图像的宽度数据、高度数据以及所述优化后去横竖纹算法,通过立即数指明循环次数。34.第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如第一方面提供的红外图像去除横竖纹的方法。35.第四方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面提供的红外图像去除横竖纹的方法。附图说明36.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。37.图1为本发明一个实施例提供的红外图像去除横竖纹的方法的流程图;38.图2为本发明另一个实施例提供的红外图像去除横竖纹的方法的流程图;39.图3为本发明再一个实施例提供的红外图像去除横竖纹的方法的流程图40.图4为本发明一个实施例提供的红外图像去除横竖纹的系统的结构图;41.图5为本发明另一个实施例提供的红外图像去除横竖纹的系统的结构图;42.图6为本发明再一个实施例提供的红外图像去除横竖纹的系统的结构图;43.图7为本发明一种电子设备的实体结构示意图。44.具体实现方式45.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本发明的限制。46.本
技术领域
:技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、模块和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、模块、组件和/或它们的组。应该理解,当我们称模块被“连接”或“耦接”到另一模块时,它可以直接连接或耦接到其他模块,或者也可以存在中间模块。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一模块和全部组合。47.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实现方式作进一步地详细描述。48.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如和解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。49.如图1所示为本发明一个实施例提供的红外图像去除横竖纹的方法的流程图,所述方法包括:50.步骤101,对原始去横竖纹算法进行算法优化,获取优化后去横竖纹算法,所述对原始去横竖纹算法进行算法优化,包括:对待处理红外图像进行处理,得到待处理红外图像中待处理像素点的累计和以及加权和;根据待处理像素点的累计和以及加权和计算所述待处理像素点的值和所述待处理像素点的权值矩阵,以通过所述待处理像素点的值和所述权值矩阵去除横竖纹;51.具体地,可以通过预设的滤波模板和预设的灰度差算法对待处理红外图像进行滤波扩展处理,获取待处理红外图像的灰度差值;52.根据所述灰度差值查表获取待处理像素点的权值,并根据预设的累计和公式获取所述待处理像素点的累计和;53.根据所述累计和以及预设的加权和公式获取所述待处理像素点的加权和;54.根据预设的权值矩阵算法获取所述待处理像素点的权值矩阵;55.步骤102,通过arm架构中的neon运算单元根据所述优化后去横竖纹算法对待处理红外图像进行去除横竖纹计算。56.在本发明实施例中,为了解决原始去横竖纹算法中多次计算的问题,对原始去除横竖纹算法进行优化,减少了优化后的去横竖纹算法的计算次数,降低了去横竖纹算法在后续的计算模块进行计算的负载。57.neon技术是armcortextm-a系列处理器中专门针对大规模并行运算设计的128位simd(单指令,多数据)架构扩展。neon技术可为消费性多媒体应用程序提供灵活、强大的加速功能。通过优化后的去横竖纹算法在neon运算单元中对待处理红外图像的去横竖纹部分进行运算,不仅不用为设备添加昂贵的fpga芯片,而且得益于neon计算模块强大的计算能力,可以快速、准确的去除待处理红外图像中的横竖纹。对于开启neon运算单元可以通过以下代码实现:58.arm-linux-g++-o3-mfloat-abi=softfp-mfpu=neon-o*.cpp59.本发明实施例,对原始去横竖纹算法进行算法优化,获取优化后去横竖纹算法;通过arm架构中的neon运算单元根据所述优化后去横竖纹算法对待处理红外图像进行去除横竖纹计算。不仅通过优化原始去横竖纹算法,降低了原始去横竖纹算法中较影响计算速度的判断计算,提高了激素三效率,而且通过arm架构中原有的neon运算单元计算去横竖纹算法,取代了原来需要的fpga计算的单元,降低了设备的生产成本。60.如图2所示为本发明另一个实施例提供的去除横竖纹的方法的流程图,所述对原始去横竖纹算法进行算法优化,包括:61.步骤201,通过预设的滤波模板和预设的灰度差算法对待处理红外图像进行滤波扩展处理,获取待处理红外图像的灰度差值,所述灰度差算法为:g_[][]=[][][][][][][][]r;[0062]步骤202,根据所述灰度差值查表获取待处理像素点的权值,并根据预设的累计和公式获取所述待处理像素点的累计和,所述累计和公式为:[0063]步骤203,根据所述累计和以及预设的加权和公式获取所述待处理像素点的加权和,所述加权和公式为:[0064]步骤204,根据所述累计和、加权和以及预设的滤波求值公式,获取所述待处理像素点滤波后的值,所述滤波求值公式为:[0065]步骤205,根据预设的权值矩阵算法获取所述待处理像素点的权值矩阵,所述权值矩阵算法为:[0066]在本发明实施例中,原始的去横竖纹算法存在计算量较大的问题。因此,本技术将去横竖纹算法的步骤缩减为:获取待处理红外图像的灰度差值、获取待处理像素点的累计和、获取待处理像素点的加权和、获取待处理像素点滤波后的值、获取待处理像素点的权值矩阵等5个步骤,避免了多次条件判断的计算,提高了计算效率。在上文涉及的公式中,m、n表示窗口的索引,i、j表示当前图像的索引,h表示扩展后的所述待处理红外图像的高度,w表示扩展后的所述待处理红外图像的宽度,gray_weight_table表示高斯权重表,src表示当前像素点的值。[0067]其中,上述滤波模板为3*3的滤波模板。[0068]作为本发明的一个可选实施例,所述对原始去横竖纹算法进行算法优化,还包括:通过预设指明优化后去横竖纹算法的循环次数、将优化后去横竖纹算法的遍历方式由列遍历调整为行遍历。[0069]如图3所示为本发明再一个实施例提供的去除横竖纹的方法的流程图,所述通过预设指明优化后去横竖纹算法的循环次数,包括:[0070]步骤301,根据预设的滤波模板对所述待处理红外图像进行边界扩展,并获取扩展后的待处理红外图像的宽度数据、高度数据;[0071]步骤302,根据所述扩展后的待处理红外图像的宽度数据、高度数据以及所述优化后去横竖纹算法,通过立即数指明循环次数。[0072]在本发明实施例中,通过立即数指明优化后去横竖纹算法的循环次数,需要获取边界扩展后的待处理红外图像的宽度、高度数据。因此,首先通过预设的滤波模板对待处理红外图像进行边界扩展,获取扩展后的待处理红外图像的宽度数据、高度数据,以该宽度数据、高度数据和优化后去横竖纹算法为基础,通过立即数指明循环次数。[0073]如图4所示为本发明一个实施例提供的红外图像去除横竖纹的系统的结构图,所述系统包括:[0074]获取模块401,用于对原始去横竖纹算法进行算法优化,获取优化后去横竖纹算法,所述对原始去横竖纹算法进行算法优化,包括:对待处理红外图像进行处理,得到待处理红外图像中待处理像素点的累计和以及加权和;根据待处理像素点的累计和以及加权和计算所述待处理像素点的值和所述待处理像素点的权值矩阵,以通过所述待处理像素点的值和所述权值矩阵去除横竖纹。[0075]具体地,通过预设的滤波模板和预设的灰度差算法对待处理红外图像进行滤波扩展处理,获取待处理红外图像的灰度差值;[0076]根据所述灰度差值查表获取待处理像素点的权值,并根据预设的累计和公式获取所述待处理像素点的累计和;[0077]根据所述累计和以及预设的加权和公式获取所述待处理像素点的加权和;[0078]根据预设的权值矩阵算法获取所述待处理像素点的权值矩阵;[0079]计算模块402,用于通过arm架构中的neon运算单元根据所述优化后去横竖纹算法对待处理红外图像进行去除横竖纹计算。[0080]在本发明实施例中,为了解决原始去横竖纹算法中多次计算的问题,对原始去除横竖纹算法进行优化,减少了优化后的去横竖纹算法的计算次数,降低了去横竖纹算法在后续的计算模块进行计算的负载。[0081]neon技术是armcortextm-a系列处理器中专门针对大规模并行运算设计的128位simd(单指令,多数据)架构扩展。neon技术可为消费性多媒体应用程序提供灵活、强大的加速功能。通过优化后的去横竖纹算法在neon运算单元中对待处理红外图像的去横竖纹部分进行运算,不仅不用为设备添加昂贵的fpga芯片,而且得益于neon计算模块强大的计算能力,可以快速、准确的去除待处理红外图像中的横竖纹。对于开启neon运算单元可以通过以下代码实现:[0082]arm-linux-g++-o3-mfloat-abi=softfp-mfpu=neon-o*.cpp[0083]其中,所述灰度差算法为:gray_diff[m][n]=src[i][j]-src[m][n],m∈[i-1,i+1],n∈[j-1,j+1],i∈[0,h],j∈[0,w],[0084]所述累计和公式为:[0085]所述加权和公式为:[0086]所述滤波求值公式为:[0087]所述权值矩阵算法为:[0088]其中,m、n表示窗口的索引,i、j表示当前图像的索引,h表示扩展后的所述待处理红外图像的高度,w表示扩展后的所述待处理红外图像的宽度,gray_weight_table表示高斯权重表,src表示当前像素点的值。[0089]原始的去横竖纹算法存在计算量较大的问题。因此,本技术将去横竖纹算法的步骤缩减为:获取待处理红外图像的灰度差值、获取待处理像素点的累计和、获取待处理像素点的加权和、获取待处理像素点滤波后的值、获取待处理像素点的权值矩阵等5个步骤,避免了多次条件判断的计算,提高了计算效率。[0090]其中,上述滤波模板为3*3的滤波模板。[0091]本发明实施例,对原始去横竖纹算法进行算法优化,获取优化后去横竖纹算法;通过arm架构中的neon运算单元根据所述优化后去横竖纹算法对待处理红外图像进行去除横竖纹计算。不仅通过优化原始去横竖纹算法,降低了原始去横竖纹算法中较影响计算速度的判断计算,提高了激素三效率,而且通过arm架构中原有的neon运算单元计算去横竖纹算法,取代了原来需要的fpga计算的单元,降低了设备的生产成本。[0092]如图5所示为本发明另一个实施例提供的红外图像去除横竖纹的系统的结构图,所述获取模块401还包括:[0093]循环次数获取单元501,用于通过预设指明优化后去横竖纹算法的循环次数;[0094]遍历方式调整单元502,用于将优化后去横竖纹算法的遍历方式由列遍历调整为行遍历。[0095]本发明实施例,对原始去横竖纹算法进行算法优化,获取优化后去横竖纹算法;通过arm架构中的neon运算单元根据所述优化后去横竖纹算法对待处理红外图像进行去除横竖纹计算。不仅通过优化原始去横竖纹算法,降低了原始去横竖纹算法中较影响计算速度的判断计算,提高了激素三效率,而且通过arm架构中原有的neon运算单元计算去横竖纹算法,取代了原来需要的fpga计算的单元,降低了设备的生产成本。[0096]如图6所示为本发明另一个实施例提供的红外图像去除横竖纹的系统的结构图,所述循环次数获取单元502,包括:[0097]数据获取单元601,用于根据预设的滤波模板对所述待处理红外图像进行边界扩展,并获取扩展后的待处理红外图像的宽度数据、高度数据;[0098]循环次数指明单元602,用于根据所述扩展后的待处理红外图像的宽度数据、高度数据以及所述优化后去横竖纹算法,通过立即数指明循环次数。[0099]在本发明实施例中,通过立即数指明优化后去横竖纹算法的循环次数,需要获取边界扩展后的待处理红外图像的宽度、高度数据。因此,首先通过预设的滤波模板对待处理红外图像进行边界扩展,获取扩展后的待处理红外图像的宽度数据、高度数据,以该宽度数据、高度数据和优化后去横竖纹算法为基础,通过立即数指明循环次数[0100]图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)701、通信接口(communicationsinterface)702、存储器(memory)703和通信总线704,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信。处理器可以调用存储器中的逻辑指令,以执行红外图像去除横竖纹的方法,该方法包括:对原始去横竖纹算法进行算法优化,获取优化后去横竖纹算法,所述对原始去横竖纹算法进行算法优化,包括:通过预设的滤波模板和预设的灰度差算法对待处理红外图像进行滤波扩展处理,获取待处理红外图像的灰度差值;根据所述灰度差值查表获取待处理像素点的权值,并根据预设的累计和公式获取所述待处理像素点的累计和;根据所述累计和以及预设的加权和公式获取所述待处理像素点的加权和;根据预设的权值矩阵算法获取所述待处理像素点的权值矩阵;通过arm架构中的neon运算单元根据所述优化后去横竖纹算法对待处理红外图像进行去除横竖纹计算。[0101]此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。[0102]另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的红外图像去除横竖纹的方法,该方法包括:对原始去横竖纹算法进行算法优化,获取优化后去横竖纹算法,所述对原始去横竖纹算法进行算法优化,包括:通过预设的滤波模板和预设的灰度差算法对待处理红外图像进行滤波扩展处理,获取待处理红外图像的灰度差值;根据所述灰度差值查表获取待处理像素点的权值,并根据预设的累计和公式获取所述待处理像素点的累计和;根据所述累计和以及预设的加权和公式获取所述待处理像素点的加权和;根据预设的权值矩阵算法获取所述待处理像素点的权值矩阵;通过arm架构中的neon运算单元根据所述优化后去横竖纹算法对待处理红外图像进行去除横竖纹计算。[0103]又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的红外图像去除横竖纹的方法,该方法包括:对原始去横竖纹算法进行算法优化,获取优化后去横竖纹算法,所述对原始去横竖纹算法进行算法优化,包括:通过预设的滤波模板和预设的灰度差算法对待处理红外图像进行滤波扩展处理,获取待处理红外图像的灰度差值;根据所述灰度差值查表获取待处理像素点的权值,并根据预设的累计和公式获取所述待处理像素点的累计和;根据所述累计和以及预设的加权和公式获取所述待处理像素点的加权和;根据预设的权值矩阵算法获取所述待处理像素点的权值矩阵;通过arm架构中的neon运算单元根据所述优化后去横竖纹算法对待处理红外图像进行去除横竖纹计算。[0104]应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。[0105]以上所述仅是本发明的部分实现方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1