【《基于天空区域提取的暗通道去雾算法分析》9400字(论文)】_第1页
【《基于天空区域提取的暗通道去雾算法分析》9400字(论文)】_第2页
【《基于天空区域提取的暗通道去雾算法分析》9400字(论文)】_第3页
【《基于天空区域提取的暗通道去雾算法分析》9400字(论文)】_第4页
【《基于天空区域提取的暗通道去雾算法分析》9400字(论文)】_第5页
已阅读5页,还剩11页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于天空区域提取的暗通道去雾算法分析目录TOC\o"1-3"\h\u13708基于天空区域提取的暗通道去雾算法分析 168561.1引言 17201.2天空区域提取 1215541.2.1边缘检测 144921.2.2图像增强 569581.2.3形态学 8303741.3改进的求取大气光值的方法 117251.4基于HIS颜色空间的去雾算法 12111261.5基于HIS颜色空间的透射率优化方法 141.1引言从前文的分析可以看出,暗通道去雾算法对自然景观图像的效果非常好。因为暗通道先验理论是一个统计数据,即从大量图像的分析,它可能不适用于在某些特定区域的图像,比如天空区域。无雾清晰图像的暗通道在这些物体附近有非常明亮的值,如此一来,暗通道去雾算法会低估这些像素的传播,也就是高估了雾的厚度,造成过度去雾。在暗通道去雾算法差不多所有的问题都与天空区域有关,从正常的风景,天空区域有不同的图像特征。因此,在接下来的研究中,我们主要研究有天空区域的户外图像,将这些雾图像分别划分为天空区域和非天空区域。1.2天空区域提取通过观测大量与天空相关的图像,总结了天空区域的一些特征。首先,在自然的户外图像中,天空区域通常位于图像的上半部分;其次,天空区域相对于非天空区域来说是非常平滑的,几乎没有纹理特征。这些特征可以用来区分天空区域和非天空区域。普通户外图像的天空区域要比非天空区域光滑得多。基于这一特征,可以先对图像进行边缘检测,通过形态学操作将边缘连接起来,尽可能保持图像的原始结构。相对于非天空区域,普通户外图像的天空区域要光滑得多。基于此特征,可以对图像进行边缘检测,并利用形态学操作进行进一步连接,以保持图像的原始结构。没有边缘的区域是非常稀疏的,最大的区域是天空区域,这可以通过寻找最大连通域得到天空区域。1.2.1边缘检测天空区具有明显的平滑特性。对雾天图像进行边缘检测后,有较少或没有边缘分布的区域就是理想的天空区域。很多边缘检测算法尽可能保留所有检测到的边缘,但这在本文中并不要求。该边缘检测算法最理想的状态是识别出相对完整的封闭边缘。即天空区域和非天空区域之间的边界是精确的和封闭的。大多数自然图像的天空区域或多或少会出现一些可以忽略不计、梯度较大的像素,这些像素往往影响边缘检测的结果,会被识别为边缘。在这种情况下,会影响搜索最连通的域,导致最终的图像分割效果不准确。通过以上分析,本文选择了Canny边缘检测算法[37],该算法能够很好地识别天空区域和非天空区域之间的边界,且相对封闭、准确。接下来,详细介绍了Canny边缘检测算法。 Canny提出了三个指标来衡量边缘检测算法的有效性,如下:a)准确的检测。准确的检测。也就是说要保证无法标记的真实边缘点的可能性较低,并且错误标记非边缘点的可能性也应该较低。这两种情况的概率是输出图像信噪比的单调递减函数,因此保证前两种可能性较低,就能保证信噪比最大化;b)准确定位。标记为边缘点的像素应与真实边缘的中心尽可能接近;c)标记为单个边缘只有一次。这是基于第一个标准,只有一个相同的边缘必须保持两次甚至多次,和其他人应当被视为错误标志对于满足上述三个条件,精明的总结了它的边缘检测算法的实现遵循以下步骤:a)使用高斯滤波器对图像进行去噪处理;b)计算图像中每个像素的梯度强度和方向;c)非最大抑制;d)双阈值检测;e)抑制孤立的弱边;然后详细描述每一步:a)高斯滤波边缘检测主要是利用像素的一阶导数和二阶导数来计算像素的梯度,由于导数对噪声敏感,所以需要对输入图像进行去噪后才能进行边缘检测。精明,用高斯滤波器对图像进行去噪。b)计算图像中每个像素的梯度强度和方向的原始Canny算法主要计算水平方向、垂直方向和对角线方向的梯度,每个方向使用固定的梯度算子计算。一阶偏导的有限差分算子与原始图像卷积计算不同,,在水平和垂直方向主要是选择在现实中那么带入公式(4-1)和公式(4-2)完成的计算梯度幅值和梯度方向。式中:代表每个像素点的梯度强度;代表每个像素点的梯度方向。 c)非极大值抑制与局部边缘点相比,非最大抑制抑制了伪边缘点,因为仅根据梯度值提取的边缘仍然是不准确的。如上所述,标记为单个边缘只有一次可以通过非最大抑制非最大抑制的,具体的过程是比较当前像素的梯度强度(已经标记为边缘点)的梯度强度正面和负面两个像素的梯度方向。如果大于其他两个像素,则继续将像素点标记为边缘点,否则点不再是标记为边缘点的梯度设置为0。关键问题存在于最大抑制是如何确定两个像素的正面和负面的梯度方向。一个像素周围只有8个位置存在像素点,而正负梯度方向往往都不在这8个位置上,可以通过线性插值来得到正负梯度方向上像素的梯度强度,如图4.1所示。图梯度方向的分割如图所示,图的中心代表要进行非极大值抑制的待测像素点P,在这里将梯度分为8个方向,这8个方向分别是分别为E、NE、N、NW、W、SW、S、SE,每一个方向都对应了该像素在该方向上的相邻像素,其中0表示的区域代表梯度方向θ在0°-45°,1表示的区域代表方向θ在45°-90°,以此类推。像素点P的梯度方向为θ,通过线性插值来确定像素点P正负梯度方向像素点的梯度值和的梯度值,可以用公式(4-3)和公式(4-4)来求得。 式中:;E、NE、W、SW分别代表像素P在对应方向上的相邻像素点的梯度值。当≥且≥时,保留像素P的梯度值;否则,将像素P的梯度值置为0。d)双阈值检测非最大抑制处理后,像素梯度值不是抑制能更准确地代表真正的边缘图像中羰基化合物,仍有一些像素标记为伪边缘,由于噪声等干扰因素的影响,解决这些混合反应,设置梯度高阈值和梯度低阈值,如果已识别为边缘的像素的梯度值小于低阈值,则将其消除;如果已经被识别为边缘的像素的梯度值大于低阈值并被标记为弱边缘像素,如果已经被识别为边缘的像素的梯度值大于高阈值,阈值的选择取决于给定的输入图像。e)抑制孤立的弱边缘将经过双阈值检测后识别为强边缘的像素点确定为真实边缘点。对于定义为弱边缘的像素,它可能是真实边缘,也可能是由噪声或颜色偏移引起的伪边缘。幸运的是,真实边缘通常与强边缘相连,而由噪声和颜色偏移引起的伪边缘则不与强边缘相连。因为在图像中的存在是相对孤立的,无论是噪声还是颜色偏差,如果在3x3的邻域内有强边缘像素,且弱边缘像素居中,那么弱边缘点就是真实边缘。从以上分析可以看出,Canny边缘检测可以有效消除边缘检测引起的杂散响应,从而确定真实边缘和潜在边缘,这符合提取天空区域的要求。理想状态是通过边缘检测算法识别出相对完整的封闭边缘,通过非最大抑制可以满足这一要求。对于大多数自然图像来说,天空的区域或多或少可以忽略不计的、相对较大的像素的梯度,这些像素通常影响边缘检测的结果,会被认为是边缘,会影响搜索最连通域,影响最终的图像分割效果,这个问题是解决了精明的边缘检测的最后一步抑制孤立的弱边缘。本文提出了一种基于Canny的雾天图像边缘检测方法。结果如图4.2所示。可以看出,天空区域没有被识别的边缘,天空区域的边界线大部分是相对封闭的。完全符合雾图像边缘检测的预期效果。但通过寻找最大连通域来识别天空域,可以通过形态运算来实现,但这是有代价的。边缘的断点距离越大,形态学处理后的图像相对于原始图像结构变化越多,天空区域提取的精度就越低。虽然Canny边缘检测做得很好,但如果边缘断点过大,雾图像的分割不同于普通图像,因为雾图像是模糊的,往往不够清晰,没有一些边缘可以检测,所以在进行Canny边缘检测之前,需要对图像进行一些简单的清晰处理1.2.2图像增强大雾天气获取的户外图像由于受到雾的干扰会变得模糊,削弱了图像的边缘信息,因此在对图像进行边缘检测之前需要进行一些预处理。茅天诒等人通过梯度计算得到原图像的梯度图,对梯度图进行整体的线性拉伸来达到锐化边缘的目的,但仅仅是做线性的提高反而会带来噪声增加的负面效应;彭莉婷等人则通过直方图均衡提高对比度从而达到锐化边缘的目的,直方图均衡虽然简单且效果好于简单的线性提升,但是同样会带来不必要的噪声,也就是副作用大于处理效果。传统的图像增强方法以提高对比度为基础,在处理雾图像时引入过多的噪声,这是因为雾图像相对于正常天气的室外图像来说较为平滑。如果将雾图像分解为环境光成像分量(造成雾图像平滑部分)和场景直接反射分量,可以通过去除环境光成像分量来避免过多的噪声,实现图像增强。为此,采用了Retinex算法对雾图像进行清除。视网膜理论是基于颜色的恒定。所谓色彩不变是指人类对景物表面色彩的判断,不会随着环境光线的变化而变化,表现出不变。如图所示。Retinex模型示意图J.J.McCann和D.J.Jobson、Zia-Ur.Rahman、G.A.Woodell等人将Retinex理论在图像处理方面实用化,提出了多种Retinex算法[41-43]。本文采用单尺度Retinex算法[44],下面对单尺度Retinex算法进行详细的介绍与分析。单尺度Retinex的基本思想是有雾图像S(x,y)可以分为两部分,一部分是照度分量L(x,y),一部分是场景的反射分量R(x,y),原图像则是这两部分的乘积,如公式所示。 Retinex算法需要根据输入图像估计照度分量L(x,y),再根据公式(4-5)求出代表场景本身特性的反射分量R(x,y),R(x,y)即为最终输出的清晰图像。环境光的影响在图像显示为柔和的颜色变化,而引起颜色变化直接反射的光通常是μ用梭织法纺织的,所以我们估计照明组件L(x,y)和完善它,通过模拟平滑找到相对准确的R(x,y)。下面详细描述单尺度Retinex算法的具体实现过程。首先,需要对公式(4-5)进行一个取对数的处理,用(,)irxy来表示(,)iRxy的对数,如公式(4-6)所示。 式中:代表颜色通道,。这样做主要有两个原因:一是为了简化运算,将复杂的积运算转化为简单的加减运算;二是模拟大脑处理视觉感知的过程。研究表明,指数函数更符合人眼对亮度的感知。通过对输入图像与环绕函数F(x,y)做卷积来模拟平滑,从而估算L(x,y),即通过计算当前像素与其邻域像素的加权平均来估算L(x,y),如公式(4-7)所示。 绕函数F(x,y)的形式如公式(4-8)所示。 式中:代表环绕尺度;代表归一化因子。且要满足,故本文选取高斯函数作为环绕函数。L(x,y)可以被视为一个低频率分量的输入图像,环绕函数F(x,y)应该是一个低通函数,相对R(x,y)代表输入图像的高频分量,反映出属于图像边缘信息。人眼对高边缘的高频信息更敏感,处理后的图像就能带来一个增强的视觉输入图像。无雾图像R(x,y)可以通过公式(4-9)获得。单尺度Retinex算法的具体步骤如下所示:a)输入图像,将像素值做一个double型的转换;b)输入图像与环绕函数做卷积;c)把根据公式(4-9)进行指数运算得到;d)需要进行拉伸保证图像的显示。本文对直接用Canny进行边缘检测和先进行Retinex增强再进行Canny边缘检测两种方式进行了仿真,仿真结果如图4.4所示。边缘检测结果对比(a)Canny边缘检测结果图(b)结合Retinex的Canny边缘检测结果图从以上对比结果可以看出,使用Retinex算法对雾图像进行增强,然后检测Canny边缘。特别是天空区域和非天空区域之间的边界更加一致和连贯,便于后续的形态学处理。在此基础上,采用直方图均衡化方法对雾天图像进行增强,并对Canny边缘检测进行仿真。对比使用Retinex算法增强雾天图像后的Canny边缘检测结果,如图4.5所示。Retinex和Canny边缘检测结果图(b)直方图均衡和Canny边缘检测结果图图4.5的对比结果表明,使用Retinex算法对雾图像图像进行增强,然后检测Canny边缘。与直方图均衡化Canny边缘检测相比,识别效果更好。结合直方图均衡化的Canny边缘检测结果遗漏了许多重要的边缘。直方图均衡化只是对对比度进行了简单的改进,但会削弱一些以前比较明显的边缘,导致Canny边缘检测在进行最大抑制处理时,抑制了很多真实的边缘。以上两组的结果可以看出,Retinex算法的Canny边缘检测和识别效果非常好,满足了预期的检测结果,为后续处理做了很好的缓冲。下一小节描述了后续处理——形态学操作,以获得天空区域和非天空区域之间的闭合分界线。1.2.3形态学如前所述,通过寻找最大连通域来提取天空区域,必须得到天空区域和非天空区域之间的闭合边界,甚至是清晰图像的边缘检测,为了提高边缘检测的准确性,尽可能减少断点的距离。为了准确提取天空区域,本文选择了形态学封闭操作来实现封闭边界。数学形态学的基本思想是利用结构元素遍历输入图像,通过形态学变换完成输入图像的结构分析和特征提取。数学形态学的运算对象是二值图像。形态学的基本操作主要包括膨胀和腐蚀,而开放操作和封闭操作是膨胀和腐蚀的结合。形态学操作的处理对象是输入图像的前景,因此需要确定图像中哪些像素代表前景,哪些像素代表背景。因为输入图像是二值图像,所以在处理其他类型的图像之前需要进行二值处理。通常习惯上用黑色作前景,用白色作背景。在下面的图中,深色像素代表前景部分,浅色像素代表背景部分。若使用集合B对集合A进行膨胀运算,相当于对两个集合做一次交集的运算,可以用公式(4-10)来描述膨胀运算。 式中:A代表所要执行膨胀操的输入图像;B代表结构元素;表示将结构元素进行翻转,z表示平移。示意图如下(b)(d)输入图像A(b)结构元素B(c)结构元素遍历过程(d)膨胀输出图像 在图4.6中。灰度像素单位表示为1,白色像素单位表示为0,则对图像展开,对输入图像A上的所有像素进行遍历,当前像素为结构元素B大小相等的邻域内所有像素中,只要有一个像素的值为1,就将该邻域内像素全部输出为1,结果如图4.6(d)所示。膨胀操作是对原图像中前景的一种扩展,扩展的程度和周边的形状与结构元素有关。结构元素的原点轨迹是展开的结果,前景扩展(n-1)/2,其中n为结构元素的宽度。当结构构件的宽度大于前景缝隙的宽度时,可以通过伸缩操作“填充”缝隙。这可以用来连接天空区域和非天空区域之间的边界。但膨胀法会导致划分线的整体位置不一致,失去准确性。对于腐蚀操作,操作过程与膨胀操作相反,如图4.7所示。(b)(d)输入图像A(b)结构元素B(c)结构元素遍历过程(d)腐蚀结果腐蚀操作是用结构元素的中心像素遍历输入图像A上所有像素值为1的像素。所有像素的邻域大小的结构元素B,输出0只要一个像素的邻域像素是0,否则像素输出为1。如图4.7(d)所示。腐蚀操作的通俗理解是对输入图像的前景部分进行内部收缩,而内部收缩的程度和周边形状与结构元素有关。结构元素的起源轨迹是腐蚀的结果,前景缩小(n-1)/2,其中n是结构元素的宽度。 可以用公式(4-11)来描述腐蚀操作。 膨胀操作是扩大前景区域,过滤掉小区域背景区域;腐蚀操作是扩大背景区域,过滤掉小区域前景区域。因此,膨胀操作和腐蚀操作是两种互补的操作。操作是先对输入图像进行腐蚀再进行膨胀,这两种操作使用相同的结构元素。封闭操作则是相反的操作,即先对输入图像进行展开,然后对其进行腐蚀,这两种操作仍然使用相同的结构元素。根据膨胀操作和腐蚀操作的介绍,我们可以看到这是两个互补的操作,所以在输入图像的前景上,与这两种操作相结合的开放操作和封闭操作要优于膨胀操作和腐蚀操作。开操作可由式(4-12)定义。闭运算的效果与开运算的效果相反。闭运算可以保留与结构单元形状相似的背景部分,去除比结构单元形状小的背景部分。类似地,闭运算和开运算有些相似,但作为开运算,并不会导致输出图像相对于输入图像的前景部分严重变形。如前所述,本文所要得到的天空和非天空区域之间的边界需要精度和接近度。但膨胀法会导致划分线的整体位置不一致,失去准确性。因此本文最终选择闭运算来满足这两个要求。通过分析可以看出,闭运算的效果非常适合天空和非天空区域之间的边界要求,即封闭和精度。经过Canny边缘检测后,对图像进行封闭,即对边缘进行连接以满足密封要求的膨胀操作,然后使用相同的结构元件对膨胀操作处理后的图像进行腐蚀操作,这样就能很好地消除之前膨胀操作对前景的扩充。这是因为边缘检测结果图前景的特殊性,它是由边缘组成的,即线条,展开操作会使线条变粗、变长,以达到连接的目的。在这种情况下,进行腐蚀操作。另一个要讨论的关键问题是结构元素的选择。结构元素的选择决定了提取提取的天空区域的成败。本文在这里选取了大量的结构元素进行实验。包括圆、线、圆、矩形等。每个结构元素的大小也是一个重要的决定因素。而另一种使用矩形作为结构元素的图像,很难找到满足所有场景的结构元素,结构元素的尺寸也是相同的原因。幸运的是,本文通过大量的实验发现了一个普遍适用的规律,能使绝大多数图像获得精确地处理结果的结构元素是矩形,而且该矩形的大小也比较统一,该矩形的长为达到横向全部连接的最小值,该值与输入图像尺寸有关,该矩形的宽为3。1.3改进的求取大气光值的方法大气光值的选择对去雾的最终结果具有重要影响,因为它贯穿整个算法过程不正确的大气光值在输出图像的亮度上会导致一个不正确的反应附近的小的透光率(视图)太明亮,甚至暴露,和大黑暗当大气透过率(愿景)光值估计,低透光率(视图)附近太暗和高透光率(愿景)是在亮度太亮,偏差取决于传输速率和输入图像。要准确计算大气光值A,首先要知道大气光值A最本质的特征也不同于其他像素。大气光值的基本特征是最模糊和不透明的,所以最模糊和不透明的区域通常是用作大气光的初始猜测值。对于大多数雾去除算法,雾图像中最亮的像素被认为是最模糊和不透明的,也就是说,在理论上没有问题,但是他们忽略了大气光值对应的像素是否对应于输入图像中最模糊和不透明的区域。这种情况会干扰估计结果,因为输入图像中存在一些特殊的场景,即过亮的白色场景的位置。为了避免这种情况,使用暗通道来检测最模糊和不透明的区域,即雾最多的区域,以提高大气光估计的精度,因为雾图像的暗通道与雾相似。最模糊和不透明的区域可以被认为是最模糊的展望区域,而天空区域可以同时满足这些特征。天空区域可以看作是无限的,而其本身可以看作是一个由雾组成的区域,即最模糊、最不透明。前文提到过雾图像中天空区域像素的强度通常与大气光值A非常相似,因为文献中提出的算法并不是针对有天空区域的雾图像,也没有对天空区域进行单独分割。因此,在暗通道图中选择大气光值应用于没有天空区域的雾图像。目前,主要针对面积天空的图像去雾,可直接选择大气光值a.天空中区域根据上面的分析,如果天空区域在雾中存在的形象,然后天空区域是最好的区域选择大气光值型方法。在这篇文章中,我们可以准确的划分天空区域,因此本文提出了一种估算大气光值的新方法:在已经提取出来的天空区域中求取暗通道图,并在暗通道图中选取前0.1%个最亮像素作为集合A,并记录其所包含像素的坐标。接下来在输入图像中找到这些坐标对应的像素并获取其强度组成集合B,在集合B的像素中求取平均值作为大气光值A。这样不仅避免了有雾图像中过亮的白色景物的干扰,还在暗通道图的基础上得到更加准确的大气光值。1.4基于HIS颜色空间的去雾算法通过对同一场景下拍摄的雾图像和无雾图像进行定量分析,对比H、S、I无雾图像,总结出雾图像各成分的变化。总结如下:a)无雾图像与有雾图像的H分量几乎没有区别;b)无雾图像的饱和度分量S1大于等于有雾图像的饱和度S2;c)有雾图像亮度分量I2远大于无雾图像I1。因此,为实现基于HSI颜色空间模型的雾图像去雾,H、S、I三个分量分别为:保留H分量,适当增加S分量,适当减少I分量。在此基础上,我们继续分析天空区域在HSI颜色空间中是如何处理的。对于S分量的适当增加,这个统计结果是基于整个图像的。本文所要做的就是消除天空区域的颜色失真。通过观察发现,对于天空区域的像素,R,G,B的每个分量的值都很大,几乎相等。设无雾图像的饱和度为,有雾图像的饱和度为()1Sx,可以通过以下公式对二者进行对比。 式中:m代表同一场景有雾图像相对于无雾图像对应像素的每个通道值的增量。通常情况下,每个通道值都是均匀增加的,即增量相等,所以每个通道值的增量R、G、B设为m。结合上述分析,对含有天空区域含雾图像,在HSI颜色空间中,适当减少I亮度通道,饱和度S和色调H应该保持不变。天空区域可以被视为无限距离,传输速度约为零,给人感觉天空区域就是雾所形成,所以文献[13]认为天空区域没有必要保留原值。仔细观察天空的雾图像可以看出清晰图像的天空区域仍将改变,主要反映在亮度值的增加。考虑了最终结果的一致性,暗通道雾算法,天空区域窗口大小,保持了整个画面的一致性。与保留天空区域原始值的方法相比,它可以去除一定的雾度,并保持颜色不失真。非天空区域仍然采用基于暗通道先验处理,使用引导滤波代替软垫技术优化传输速率,基于HSI颜色空间的去雾算法详细流程图如下图4.17所示。基于HSI颜色空间的去雾算法详细流程图本文从问题的根源出发来解决上述问题,改进了天空区域透射率的估算方法,在下一小节中将详细讲解改进的透射率估计方法。1.5基于HIS颜色空间的透射率优化方法虽然解决了天空区域的颜色失真问题,但天空区域的问题的根本原因,无论是颜色失真还是颗粒外观,都是透光率估计不准确。其中透光率估计值小于实际值。很多文献中处理天空区域透过率的方法简单,可以提高数值,如陈新福[47]等利用伽马函数对雾图像中失真区域的透射率进行调整,文献[39]利用线性拉伸对天空区域的透射率进行校正。杨红[48]等人使用双边滤波算法来优化天空区域的透射率。这种仅对天空区域透过率的数值改进会对某些雾天图像产生一定的影响,但不能从根本上解决问题。正如目前的除雾方法可以分为图像增强算法和图像恢复算法,往往基于图像恢复的方法比较好,应用比较广泛。由于图像恢复类算法更注重问题产生的原因,图像增强类算法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论