一种基于天气情况的图像压缩方法及装置与流程

文档序号:21369422发布日期:2020-07-04 04:45阅读:173来源:国知局
一种基于天气情况的图像压缩方法及装置与流程

本发明属于有损图像压缩技术领域,具体地涉及一种基于天气情况的图像压缩方法及装置,尤其适用于智慧城市led信息发布屏。



背景技术:

在智慧城市建设的场景中,智慧路灯杆是其中一项重要的应用。与传统的路灯杆相比,智慧路灯杆不仅能为行人车辆照亮道路,还可以搭载led显示屏向行人展示天气、路况、广告等信息。智慧城市led信息发布屏,需要实现城市级各类信息的发布,包括广告、交通流量、公共交通信息、停车库诱导信息等,因此它必须要具有实时无线传输图像数据的功能。

实现图像无线传输的技术包含多种,现今较为流行的是以下两种技术:以nb-iot(窄带物联网)为代表的低功耗广域通讯技术(lpwa)和4g技术。前者用于低带宽蜂窝通信的协议,其连接到需要传输少量数据的互联网设备,具有较低的成本和较长的电池寿命。nb-iot相较于4g技术,它有更低的成本,覆盖范围更广的信号,但与此同时,它的缺点也显而易见,传输带宽低,传输速率慢等等。在市场和应用方面,nb-iot和4g技术都有相同的视野,但每个具体的用例将决定选择哪种技术。智慧路灯杆分布范围广,数量多,我们认为使用nb-iot技术传输图像数据更为合适,因为它产生的资费低,信号范围更广。

但是在nb-iot技术的传输带宽低,速率慢等问题的限制下,传输图像数据有了更多的限制。图像数据不经处理,直接传输则会导致传输失败。因此我们要进行图像压缩。图像压缩的目的在于以较少的数据来表示图像以减少传输时间和费用。

在现今图像压缩算法中,一些算法可以减小图像的大小,但是效果却不能达到最佳。图像压缩技术比如pngquant。pngquant是一个命令行实用工具,是用于png图像有损压缩的库。在图像转换中会大大减少文件大小(通常多达70%),并保留完整的alpha透明度,生成的图像与所有web浏览器和操作系统兼容。同时它还结合矢量化运算的高质量的调色板,有独特的自适应抖动算法。它是用c语言实现,容易集成于脚本、gui、服务器软件,但使用pngquant进行图像压缩后的最终效果,包括图像人眼可辨识度和图像压缩比例,效果仍不理想。本发明因此而来。



技术实现要素:

针对上述存在的技术问题,本发明提出了一种基于天气情况的图像压缩方法,本发明基于天气情况改变图像的压缩比例,实现了室外实时无线传输图像的目的,该算法在图像数据传输过程中,提升了图像压缩比例,保证了图像在智慧城市中智慧路灯杆led信息发布屏的图像的清晰度,从而降低了数据传输过程中产生的资费,减少了图像传输延时,提升了用户体验。解决了智慧路灯杆中led显示屏的图像数据无线传输问题。

本发明的技术方案是:

一种基于天气情况的图像压缩方法,包括以下步骤:

s01:将输入图像数据转换成yuv色彩空间;

s02:获取图像数据传输目的地所处环境的能见度值,将得到的能见度值与设定的能见度阈值比较,若能见度值小于设定的第一能见度阈值,判断得到的能见度值落入第一能见度区间;若能见度值大于设定的第二能见度阈值,判断得到的能见度值落入第三能见度区间;反之,判断得到的能见度值落入第二能见度区间;

s03:根据所述能见度值落入的能见度区间对y、u、v三个分量采用不同的采样方式进行采样,得到样本数据;

s04:对得到的样本数据利用聚类算法进行图像分割,得到分割结果;

s05:对得到的分割结果进行离散余弦变换后,进行数据量化,对量化后的数据进行编码。

优选的技术方案中,所述步骤s02还包括,根据所述能见度值落入的能见度区间,动态调整y分量的值。

优选的技术方案中,所述步骤s03中,若所述能见度值落入第一能见度区间,y、u、v三个分量的采样方式为4:4:4;若所述能见度值落入第二能见度区间,y、u、v三个分量的采样方式为4:2:2;若所述能见度值落入第三能见度区间,y、u、v三个分量的采样方式为4:1:1。

优选的技术方案中,所述步骤s04中,利用改进的k-means算法进行图像分割,包括以下步骤:

s41:根据所述能见度值落入的能见度区间选取聚类个数k;

s42:随机产生k个初始中心三维向量,选取出它们的颜色作为颜色聚类初始中心点;

s43:迭代开始,枚举图像中所有像素点,对每个像素点计算其颜色到所有k个中心点的距离,选取距其最近的中心点所代表的聚类作为该像素点颜色的聚类;

s44:在所有像素点确定其颜色的新聚类后,更新每个颜色聚类的新中心点;

s45:重复步骤s43、s44直到达到停止条件,所述停止条件为设定的最大迭代次数或者判断中心变化误差小于设定值。

优选的技术方案中,所述步骤s41中,若所述能见度值落入第一能见度区间,则取聚类个数k=32;若所述能见度值落入第二能见度区间,取聚类个数k=64;若所述能见度值落入第三能见度区间,取聚类个数k=64。

本发明还公开了一种基于天气情况的图像压缩装置,包括:

转换模块,将输入图像数据转换成yuv色彩空间;

能见度处理模块,获取图像数据传输目的地所处环境的能见度值,将得到的能见度值与设定的能见度阈值比较,若能见度值小于设定的第一能见度阈值,判断得到的能见度值落入第一能见度区间;若能见度值大于设定的第二能见度阈值,判断得到的能见度值落入第三能见度区间;反之,判断得到的能见度值落入第二能见度区间;

采样模块,根据所述能见度值落入的能见度区间对y、u、v三个分量采用不同的采样方式进行采样,得到样本数据;

图像分割模块,对得到的样本数据利用聚类算法进行图像分割,得到分割结果;

离散余弦变换模块,对得到的分割结果进行离散余弦变换;

数据量化模块,对离散余弦变换后的数据进行数据量化;

编码模块,对量化后的数据进行编码。

优选的技术方案中,所述能见度处理模块还包括,根据所述能见度值落入的能见度区间,动态调整y分量的值。

优选的技术方案中,所述采样模块中,若所述能见度值落入第一能见度区间,y、u、v三个分量的采样方式为4:4:4;若所述能见度值落入第二能见度区间,y、u、v三个分量的采样方式为4:2:2;若所述能见度值落入第三能见度区间,y、u、v三个分量的采样方式为4:1:1。

优选的技术方案中,所述图像分割模块中,利用改进的k-means算法进行图像分割,包括以下步骤:

s41:根据所述能见度值落入的能见度区间选取聚类个数k;

s42:随机产生k个初始中心三维向量,选取出它们的颜色作为颜色聚类初始中心点;

s43:迭代开始,枚举图像中所有像素点,对每个像素点计算其颜色到所有k个中心点的距离,选取距其最近的中心点所代表的聚类作为该像素点颜色的聚类;

s44:在所有像素点确定其颜色的新聚类后,更新每个颜色聚类的新中心点;

s45:重复步骤s43、s44直到达到停止条件,所述停止条件为设定的最大迭代次数或者判断中心变化误差小于设定值。

优选的技术方案中,所述步骤s41中,若所述能见度值落入第一能见度区间,则取聚类个数k=32;若所述能见度值落入第二能见度区间,取聚类个数k=64;若所述能见度值落入第三能见度区间,取聚类个数k=64。

与现有技术相比,本发明的优点是:

本发明基于天气情况改变图像的压缩比例,实现了室外实时无线传输图像的目的。该算法在图像数据传输过程中,提升了图像压缩比例,保证了图像在智慧城市中智慧路灯杆led信息发布屏的图像的清晰度,从而降低了数据传输过程中产生的资费,减少了图像传输延时,提升了用户体验。解决了智慧路灯杆中led显示屏的图像数据无线传输问题。

附图说明

下面结合附图及实施例对本发明作进一步描述:

图1为本发明基于天气情况的图像压缩方法的流程图;

图2为本发明基于改进的k-means图像分割算法流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进行进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

实施例:

下面结合附图,对本发明的较佳实施例作进一步说明。

如图1所示,一种基于天气情况的图像压缩方法,包括以下步骤:

s01:将输入图像数据转换成yuv色彩空间;

s02:获取图像数据传输目的地所处环境的能见度值,将得到的能见度值与设定的能见度阈值比较,若能见度值小于设定的第一能见度阈值,判断得到的能见度值落入第一能见度区间;若能见度值大于设定的第二能见度阈值,判断得到的能见度值落入第三能见度区间;反之,判断得到的能见度值落入第二能见度区间;

s03:根据得到的能见度值落入的能见度区间对y、u、v三个分量采用不同的采样方式进行采样,得到样本数据;

s04:对得到的样本数据利用聚类算法进行图像分割,得到分割结果;

s05:对得到的分割结果进行离散余弦变换后,进行数据量化,对量化后的数据进行编码。

步骤s01中一般是由rgb色彩空间转换成yuv色彩空间的转换方法可以采用现有的转换公式转换,这里不再赘述。

步骤s02中能见度值的获得可以通过使用大气透射仪、激光能见度自动测量仪等测量仪器测量,也可以通过数字化摄像机直接摄取选定目标物及其背景的图象,然后将图象从图象采集卡传到计算机,通过对所获取的图象进行分析处理,能自动获取能见度的数值。

能见度值小于设定的第一能见度阈值a,一般例如出现严重恶劣天气(大雨、大雾),或者晚上光线较弱等等。

能见度值在第一能见度阈值a与第二能见度阈值b之间,即能见度一般,例如阴天或者小雨等等,光线情况一般。

能见度值大于设定的第二能见度阈值b,例如晴天,光线情况较好的场景。

步骤s03中,采用基于天气情况的高性能颜色空间采样算法进行处理,具体的步骤如下:

能见度值小于设定的第一能见度阈值a时,该情况下行人、司机视线严重受限,采用4:4:4采样方式,该采样方式意味着y、u、v三个分量的采样比例相同,在生成的图像里,每个像素的三个分量信息完整,都是8bit,也就是一个字节。虽然这种采样方式没有达到节省带宽的目的,但是能够较好地展示图像数据。

能见度值在第一能见度阈值a与第二能见度阈值b之间,即阴天(光线情况一般):该情况下采用4:2:2采样方式,意味u、v分量是y分量采样的一半,y分量和u、v分量按照2:1的比例采样。该采样方式节省了三分之一的存储空间,同时在传输时占用的带宽也会减少。

能见度值大于设定的第二能见度阈值b,即晴天(光线情况较好):该情况下采用4:1:1采样方式,其含义为在2*2的单元中,y分量采样4次,u、v分量各采样一次。这种采样方式虽然损失了一定精度,但也在人眼几乎不可见的前提下减小了数据存储量。

优选的技术方案中,还可以根据得到的能见度值落入的能见度区间,动态调整y分量的值,根据得到的在不同天气场景下采用不同的采样方式,这一步同样根据天气场景做出相应改变。rgb已转为yuv颜色空间,y表示明亮度,我们根据光照强度动态调节y的值,使得led显示屏在强光弱光条件下依然可以清晰的显示图像。例如,能见度值小于设定的第一能见度阈值a时,即恶劣天气场景下,y的值不变;能见度值在第一能见度阈值a与第二能见度阈值b之间,即阴天场景下,光线条件不够,y的值不变;能见度值大于设定的第二能见度阈值b,即晴天场景,y的值设为0.8y。

步骤s04中,利用改进的k-means算法进行图像分割,使得颜色数量缩减,先从样本中随机选择k个样本作为颜色簇中心,并进行计算。在聚类算法中根据样本之间的相似性,将样本划分到不同的类别中,对于不同的相似度计算方法,会得到不同的聚类结果,常用的相似度计算方法有欧式距离法和余弦相似度。本发明具体包括以下步骤,如图2所示:

s41:根据所述能见度值落入的能见度区间选取聚类个数k;k越大、压缩率越低、传输时间越长、图片越清晰;

s42:随机产生k个初始中心三维向量,选取出它们的颜色作为颜色聚类初始中心点;

s43:迭代开始,枚举图像中所有像素点,对每个像素点计算其颜色到所有k个中心点的距离,选取距其最近的中心点所代表的聚类作为该像素点颜色的聚类;本发明的距离计算使用欧拉公式计算欧式距离。

s44:在所有像素点确定其颜色的新聚类后,更新每个颜色聚类的新中心点(求平均值);

s45:重复步骤s43、s44直到达到停止条件,停止条件为设定的最大迭代次数或者判断中心变化误差小于设定值。

具体的,步骤s41中,若所述能见度值落入第一能见度区间,则取聚类个数k=32;若所述能见度值落入第二能见度区间,取聚类个数k=64;若所述能见度值落入第三能见度区间,取聚类个数k=64。

离散余弦变换(dct)将一组光强数据转换成频率数据。数据经过dct变化后,被分成了直流分量和交流分量两部分,为后面的进一步压缩起到了充分的铺垫作用。

图像数据转换为频率系数后,还得接受一项量化程序,才能进入编码阶段。数据量化即在损失一部分精度的情况下,用更少的空间存储浮点数。jpeg算法提供了两张标准的量化系数矩阵,一个是专门处理亮度的频率系数,另一个则是针对色度的频率系数,将频率系数除以量化矩阵的值,取得与商数最近的整数,即完成量化。量化后的二维矩阵转变成一个一维数组,以方便后面的霍夫曼压缩,但在做这个顺序转换时,需要按照一个特定的取值顺序。

然后对量化后的数据进行编码,例如对数据进行霍夫曼编码(huffmancoding),根据数据中元素的使用频率,调整元素的编码长度,以得到更高的压缩比。解码过程为编码过程的逆过程,最终得到压缩后的图像。

本发明还公开了一种基于天气情况的图像压缩装置,包括:

转换模块,将输入图像数据由rgb色彩空间转换成yuv色彩空间;

能见度处理模块,获取图像数据传输目的地所处环境的能见度值,将得到的能见度值与设定的能见度阈值比较,若能见度值小于设定的第一能见度阈值,判断得到的能见度值落入第一能见度区间;若能见度值大于设定的第二能见度阈值,判断得到的能见度值落入第三能见度区间;反之,判断得到的能见度值落入第二能见度区间;

采样模块,根据所述能见度值落入的能见度区间对y、u、v三个分量采用不同的采样方式进行采样,得到样本数据;

图像分割模块,对得到的样本数据利用聚类算法进行图像分割,得到分割结果;

离散余弦变换模块,对得到的分割结果进行离散余弦变换;

数据量化模块,对离散余弦变换后的数据进行数据量化;

编码模块,对量化后的数据进行编码。

能见度处理模块还包括,根据所述能见度值落入的能见度区间,动态调整y分量的值。

采样模块中,若所述能见度值落入第一能见度区间,y、u、v三个分量的采样方式为4:4:4;若所述能见度值落入第二能见度区间,y、u、v三个分量的采样方式为4:2:2;若所述能见度值落入第三能见度区间,y、u、v三个分量的采样方式为4:1:1。

图像分割模块中,利用改进的k-means算法进行图像分割,包括以下步骤:

s41:根据所述能见度值落入的能见度区间选取聚类个数k;

s42:随机产生k个初始中心三维向量,选取出它们的颜色作为颜色聚类初始中心点;

s43:迭代开始,枚举图像中所有像素点,对每个像素点计算其颜色到所有k个中心点的距离,选取距其最近的中心点所代表的聚类作为该像素点颜色的聚类;

s44:在所有像素点确定其颜色的新聚类后,更新每个颜色聚类的新中心点;

s45:重复步骤s43、s44直到达到停止条件,所述停止条件为设定的最大迭代次数或者判断中心变化误差小于设定值。

步骤s41中,若所述能见度值落入第一能见度区间,则取聚类个数k=32;若所述能见度值落入第二能见度区间,取聚类个数k=64;若所述能见度值落入第三能见度区间,取聚类个数k=64。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1