CN111985492B - 一种云识别方法 - Google Patents
一种云识别方法 Download PDFInfo
- Publication number
- CN111985492B CN111985492B CN201910439308.9A CN201910439308A CN111985492B CN 111985492 B CN111985492 B CN 111985492B CN 201910439308 A CN201910439308 A CN 201910439308A CN 111985492 B CN111985492 B CN 111985492B
- Authority
- CN
- China
- Prior art keywords
- image
- identified
- cloud
- value
- pixel point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000003708 edge detection Methods 0.000 claims abstract description 7
- 238000001514 detection method Methods 0.000 claims abstract description 6
- 230000008569 process Effects 0.000 claims description 20
- 230000035945 sensitivity Effects 0.000 claims description 14
- 230000002194 synthesizing effect Effects 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 5
- 239000003595 mist Substances 0.000 description 6
- 238000012804 iterative process Methods 0.000 description 4
- 238000010248 power generation Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/56—Extraction of image or video features relating to colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种云识别方法,包括:将待识别的图像转换到HSV空间并做去光操作;对待识别图像做边缘检测,查找待识别图像中的“确定云”;对待识别图像做天空检测,查找待识别图像中的“确定天”;根据待识别图像中“确定云”与“确定天”的查找结果对待识别图像进行分类,然后按照不同的类型对待识别图像做进一步处理,找出其中的云、天。
Description
技术领域
本发明涉及图像识别领域,特别涉及一种云识别方法
背景技术
利用机器实现对图像中云的自动识别是一件较为困难的事,但在气象领域中却有着广泛的应用场景,如在天气预报中就需要从云图中找出云层的位置、形状、厚度等信息。
随着技术的发展,一些新的产业也需要对短时间内的天气状况进行预测。如在太阳能发电领域(包括光伏发电、光热发电)中,由于太阳能资源是影响太阳能利用效率的重要因素,而云层遮蔽对太阳能资源有着十分严重的影响,因此需要对云遮情况进行预判,而对实时天气图像中的云进行机器识别是云遮预判的基础。这些产业中的一些应用场景并不需要对天气状况做长时间的预测,同时也受到成本的制约,而传统的气象预报设备价格高昂,并不十分适合这些应用场景。
本申请人在2017年曾提出申请号为201710820547.X、名称为《一种图像中所含云的机器识别方法》的中国专利申请。在该申请中基于像素点的RGB值来确定图像中的像素点是否属于云。这一方法具有实现简单、资源消耗少、实现成本低的优点。但在实践中本申请人发现:该方法的识别准确度不是很高,特别是对无清晰边界云、雾状云的识别,存在很大的问题。本申请人也未发现现有技术中存在能够较好识别不规则云、雾状云的方法。
发明内容
本发明的目的在于克服现有的云识别方法无法识别无清晰边界云或雾状云的缺陷,从而提供一种能够全面、准确地识别云的方法。
为了实现上述目的,本发明提供了一种云识别方法,包括:
步骤1)、将待识别的图像转换到HSV空间;
步骤2)、将转换到HSV空间后的待识别图像做去光操作;
步骤3)、对待识别图像做边缘检测,查找待识别图像中的“确定云”;对待识别图像做天空检测,查找待识别图像中的“确定天”;
步骤4)、根据待识别图像中“确定云”与“确定天”的查找结果对待识别图像进行分类,然后按照不同的类型对待识别图像做进一步处理:若待识别图像中既没有找到“确定云”,也没有找到“确定天”,执行下一步;若待识别图像中只找到了“确定云”,没有找到“确定天”,执行步骤7);若待识别图像中只找到了“确定天”,没有找到“确定云”,执行步骤9);若待识别图像中同时有“确定云”和“确定天”,执行步骤12);
步骤5)、为待识别图像计算图像的饱和度均值,然后将饱和度均值与第一阈值进行比较,如果小于该第一阈值,则待识别图像中的天空全部覆盖了厚云,输出识别结果后结束图像识别过程,否则,执行下一步;
步骤6)、对当前的图像处理模式进行识别,若当前的图像处理模式为“雾”模式,则待识别图像为“无云”,输出识别结果后结束图像识别过程;否则,将当前的图像处理模式切换到“雾”模式,然后重新从步骤3)开始执行;
步骤7)、对当前的图像处理模式进行识别,若当前的图像处理模式为“雾”模式,则待识别图像为当前“已被云铺满”,然后结束图像识别过程;否则,判断当前的图像处理模式是否为“多云”模式,若是,则待识别图像为“已被云铺满”,然后结束图像识别过程,若为否,执行下一步;
步骤8)、将当前的图像处理模式切换到“多云”模式,然后重新从步骤3)开始执行;
步骤9)、若当前的图像处理模式是“雾”模式,执行下一步,若不是,执行步骤11);
步骤10)、将待识别图像中饱和度值与图像饱和度最小值S_min相等的像素点作为“确定云”,然后执行步骤12);
步骤11)、继续判断当前的图像处理模式是否为“少云”模式,若是“少云”模式,则执行步骤10),否则,将当前的图像处理模式切换为“少云”模式,然后重新从步骤3)开始执行;
步骤12)、对待识别图像中除了已识别的光、“确定天”、“确定云”以外的剩余部分做模糊识别,进一步区分其是云还是天空。
上述技术方案中,在所述步骤1)之前,还包括:对待识别图像做滤波操作。
上述技术方案中,所述步骤2)进一步包括:
步骤2-1)、以图像中太阳所在位置为中心,沿着圆周方向每隔一定角度对图像进行切分,从而将图像切割成多个通道;
步骤2-2)、在各个通道中分别对通道内的像素点进行识别,找出被认为是光的像素点;其中,
若待识别图像中太阳所在位置被黑影遮挡,则在待识别图像中设置“近太阳区域”;设该区域到太阳边界的距离范围为LightCircle;在LightCircle内的像素点,亮度大于252即识别为光;在LightCircle外的像素点,如果某一像素点与通道上邻近两像素点的亮度方差梯度不大于6,且该像素点与通道内前一像素点的亮度均不小于252,则该像素点被识别为光;
若待识别图像中太阳所在位置未被黑影遮挡,直接获取待识别图像中太阳中心点像素的亮度值,然后按照从中心到图像边缘的方向沿通道遍历各个像素点,如果某像素点与通道上邻近两像素点的亮度方差梯度不大于6,且与通道内前一像素点的亮度均不小于252,则该像素点被识别为光;
步骤2-3)、从待识别图像中去除被认为是光的像素点。
上述技术方案中,在所述的步骤3)中,对待识别图像做边缘检测,查找待识别图像中的“确定云”包括:
步骤3-1-1)、为待识别图像中留存的像素点计算梯度;
梯度的计算公式过程如下:
其中,
dx=CD(fi+1,j+1,fi+1,j-1)+2CD(fi,j+1,fi,j-1)+CD(fi-1,j+1,fi-1,j-1);
dy=CD(fi+1,j+1,fi-1,j+1)+2CD(fi+1,j,fi-1,j)+CD(fi+1,j-1,fi-1,j-1);
其中,CDS表示梯度,CD(A,B)表示像素点A与像素点B之间的色差,其计算公式为:
其中,HA表示像素点A的色调值,SA表示像素点A的饱和度值,VA表示像素点A的亮度值;HB表示像素点B的色调值,SB表示像素点B的饱和度值,VB表示像素点B的亮度值;weighting_H表示Sobel算子中H通道加权系数;weighting_S表示Sobel算子中S通道加权系数;weighting_V表示Sobel算子中V通道加权系数;公式中fi-1,j-1、fi-1,j、fi-1,j+1、fi,j-1、fi,j、fi,j+1、fi+1,j-1、fi+1,j、fi+1,j+1用于表示一像素点与其周围相邻像素点;
步骤3-1-2)、将像素点的梯度与边界识别灵敏度值进行比较,如果一个像素点的梯度值大于边界识别灵敏度值,则该像素点为边界点,否则,该像素点就不是边界点;
步骤3-1-3)、综合待识别图像中寻找到的边界点,得到待识别图像中的“确定云”。
上述技术方案中,在所述的步骤3)中,对待识别图像做天空检测,查找待识别图像中的“确定天”包括:
步骤3-2-1)、求取待识别图像中各个像素点的饱和度最大值S_max与饱和度最小值S_min之间的差值,将这一差值与参数differ_S进行比较,若该差值大于参数differ_S,则执行下一步;否则,降低参数differ_S的取值,然后重新执行本步骤;其中,
所述参数differ_S是一个用来反映图片中各像素点饱和度差异的参数;
步骤3-2-2)、对待识别图像中的各个像素点进行遍历,确定当前像素点的S值是否在(S_max-differ_S,S_max)的范围内,若是,则该像素点被认为是属于天空;
步骤3-2-3)、综合待识别图像中所有被认为是属于天空的像素点,得到待识别图像中的“确定天”。
上述技术方案中,在步骤3-2-1)中,降低参数differ_S的取值,然后重新执行步骤3-2-1)这一迭代过程的执行次数为1-2次。
上述技术方案中,所述图像处理模式分为四种类型,分别是:“晴”模式,“雾”模式,“多云”模式,“少云”模式;其中,
“晴”模式代表待识别图像处于晴天状态下,在“晴”模式下,用来反映图片中各像素点饱和度差异的参数differ_S具有较高的值;用来表示边界识别灵敏度值的参数CDS_Value具有较高的值;
“雾”模式代表待识别图像处于雾天状态下,在“雾”模式下,参数differ_S的取值较“晴”模式下更低;参数CDS_Value的取值也较“晴”模式下更低;
“多云”模式代表待识别图像处于多云状态下,在“多云”模式下,参数differ_S的取值较“晴”模式下更低;参数CDS_Value的取值则较“晴”模式下不变;
“少云”模式代表待识别图像处于少云状态下,在“少云”模式下,参数differ_S的取值较“晴”模式下不变;参数CDS_Value的取值则较“晴”模式下更低。
上述技术方案中,所述步骤12)包括:
步骤12-1)、计算待识别图像中已知的“确定天”的色调均值、饱和度均值以及亮度均值;相应计算公式如下:
“确定天”的色度均值=“确定天”中所有像素点的色调值之和/“确定天”中的像素点数;
“确定天”的饱和度均值=“确定天”中所有像素点的饱和度值之和/“确定天”中的像素点数;
“确定天”的亮度均值=“确定天”中所有像素点的亮度值之和/“确定天”中的像素点数;
步骤12-2)、计算待识别图像中已知的“确定云”的色调均值、饱和度均值以及亮度均值;相应计算公式如下:
“确定云”的色度均值=“确定云”中所有像素点的色调值之和/“确定云”中的像素点数;
“确定云”的饱和度均值=“确定云”中所有像素点的饱和度值之和/“确定云”中的像素点数;
“确定云”的亮度均值=“确定云”中所有像素点的亮度值之和/“确定云”中的像素点数;
步骤12-3)、为待识别图像中未知区域内的任一像素点分别计算其与“确定天”和“确定云”之间的差距;
相应计算公式如下:
其中,a表示待识别图像中未知区域内的某一像素点与“确定云”的差距,b表示待识别图像中未知区域内的某一像素点与“确定天”的差距;H、S、V分别表示待识别图像中未知区域内的某一像素点的色度值、饱和度值、亮度值;表示“确定云”的色度均值;/>表示“确定云”的饱和度均值;/>表示“确定云”的亮度均值;/>表示“确定天”的色度均值;表示“确定天”的饱和度均值;/>表示“确定天”的亮度均值;weighting_H_2、weighting_S_2、weighting_V_2分别为模糊识别时所用的H通道加权系数、S通道加权系数、V通道加权系数;
步骤12-4)、根据步骤12-3)的计算结果,判断未知区域内的像素点的b值是否大于(a+Acceptability),若是,则该像素点认为是“云”,否则认为是“天空”;其中,参数Acceptability用来定义对模糊状态的接受程度,Acceptability值越小,越认同模糊部分为云;
步骤12-5)、对待识别图像中未知区域内的所有像素点均执行步骤12-3)和步骤12-4),从而实现对雾状云的识别。
本发明的优点在于:
本发明的云识别方法与现有的云识别方法相比,能够实现对无清晰边界云、雾状云的识别,极大地提高了云识别的准确率,使得云识别结果更为全面、准确。
附图说明
图1是本发明的云识别方法的流程图;
图2是对图像做去光操作时所设置的“近太阳区域”的示意图。
具体实施方式
本发明的云识别方法是基于HSV空间实现的,在对本发明方法的具体实现细节做详细说明前,首先对HSV进行描述。
HSV(Hue,Saturation,Value)是根据颜色的直观特性由A.R.Smith在1978年创建的一种颜色空间,也称六角锥体模型(Hexcone Model)。这个模型中颜色的参数分别是:色调(H),饱和度(S),亮度(V)。
色调(H)用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°。
饱和度(S)的取值范围为0.0~1.0,值越大,颜色越饱和。
亮度(V)的取值范围为0(黑色)~255(白色)。
现结合附图对本发明作进一步的描述。
参考图1,本发明的方法包括以下步骤:
步骤1)、采集待识别的图像。
在本步骤中,所采集的待识别图像通常是由地面向天空拍摄的图像,且在太阳能利用的场景中,主要对云层遮蔽太阳的情况感兴趣,因此这些图像一般是白天的图像,图像中通常带有太阳。
作为一种优选实现方式,图像采集后,还需要对图像做滤波操作。所述滤波操作能够去除图像中的噪声,如飞鸟、飞机等天空图像中常见的物体可通过滤波操作去除,这有助于对云朵的识别。
步骤2)、将步骤1)所采集的图像转换到HSV空间。
初始采集的图像一般在RGB空间内,在本步骤中将这些图像从RGB空间转换到HSV空间。如何将图像从RGB空间转换到HSV空间是现有技术,在本申请中不对其实现过程做详细描述。
步骤3)、对步骤2)所得到的转换到HSV空间后的图像做去光操作。
在对图像做云识别时,光(主要是太阳光)是一种较强的干扰因素,因此需要对图像做去光操作。
本步骤进一步包括:
步骤3-1)、以图像中太阳所在位置为中心,沿着圆周方向每隔一定角度对图像进行切分,从而将图像切割成多个通道;
步骤3-2)、在各个通道中分别对通道内的像素点进行识别,找出被认为是光的像素点。
在找出被认为是光的像素点时,根据图像的不同特征会有不同的操作。
一般而言,在采集包含有带太阳的图像时,为了避免太阳光强对相机的破坏,会对相机镜头做贴片处理,使得所采集的图像中太阳所在位置被黑影所代替。如图2所示,对于此类图像,由于太阳黑影会对光像素点的采集造成影响,因此需要设置“近太阳区域”。设该区域到太阳边界的距离范围为LightCircle,在LightCircle内的像素点,亮度大于252即识别为光;在LightCircle外的像素点,如果某一像素点与通道上邻近两像素点的亮度方差梯度不大于6,且该像素点与通道内前一像素点(通道内靠近图像中心的像素点为前一像素点)的亮度均不小于252,则该像素点被识别为光。其中,LightCircle的大小可根据实际情况而设定,在一个实施例中,其大小设为50个像素点。
某些情况下,未对相机镜头做贴片处理,此时所采集到的图像中太阳未被黑影所代替。对于此类图像,直接获取太阳中心点(一般也是图像中心点)像素的亮度值,然后按照从中心到图像边缘的方向沿通道遍历各个像素点,如果某像素点与通道上邻近两像素点的亮度方差梯度不大于6,且与通道内前一像素点的亮度均不小于252,则该像素点被识别为光。
步骤3-3)、从待识别图像中去除被认为是光的像素点。
步骤4)、对前一步骤所得到的待识别图像做边缘检测,查找待识别图像中的“确定云”。
本步骤中所述的“确定云”是指边界清晰、可明确认定的云。这类云可通过边缘检测的方式识别。该步骤可进一步包括:
步骤4-1)、为待识别图像中留存的像素点计算梯度;
在计算梯度时,可采用Sobel算子来计算。与传统的Sobel算子相比,在本申请中有所改进,即:采用加权系数weighting_H、weighting_S和weighting_V对HSV三个通道进行加权,从而计算出梯度CDS。其中的weighting_H表示Sobel算子中H通道加权系数;weighting_S表示Sobel算子中S通道加权系数;weighting_V表示Sobel算子中V通道加权系数;在一个实施例中,weighting_H的值为2、weighting_S的值为3,weighting_V的值为1。
梯度计算的具体计算过程如下:
其中,
dx=CD(fi+1,j+1,fi+1,j-1)+2CD(fi,j+1,fi,j-1)+CD(fi-1,j+1,fi-1,j-1);
dy=CD(fi+1,j+1,fi-1,j+1)+2CD(fi+1,j,fi-1,j)+CD(fi+1,j-1,fi-1,j-1)。
其中的CD(A,B)表示像素点A与像素点B之间的色差,其计算公式为:
其中的,HA表示了像素点A的色调值,SA表示了像素点A的饱和度值,VA表示了像素点A的亮度值。HB表示了像素点B的色调值,SB表示了像素点B的饱和度值,VB表示了像素点B的亮度值
前述公式中fi,j等表达式用于表示一像素点与其周围相邻像素点,这些像素点间的位置关系如下面的表1所示:
fi-1,j-1 | fi-1,j | fi-1,j+1 |
fi,j-1 | fi,j | fi,j+1 |
fi+1,j-1 | fi+1,j | fi+1,j+1 |
表1
步骤4-2)、将像素点的梯度与边界识别灵敏度值进行比较,根据比较结果确定对应的像素点是否为云的边界点。
在本申请中采用CDS_Value来表示边界识别灵敏度值,该值的大小用来反映灵敏度的高低,CDS_Value越小,灵敏度越高。
CDS_Value的具体取值可根据灵敏度要求进行调整,但一般应不小于
如果一个像素点的CDS值大于CDS_Value,则该像素点为边界点,否则,该像素点就不是边界点。
步骤4-3)、综合待识别图像中寻找到的边界点,得到待识别图像中的“确定云”。
步骤5)、对前一步骤所得到的待识别图像做天空检测,得到待识别图像中的“确定天”。
本步骤中所述的“确定天”是指待识别图像中背景清晰、能够确定为天空的部分。该步骤可进一步包括:
步骤5-1)、求取待识别图像中各个像素点的饱和度最大值S_max与饱和度最小值S_min之间的差值,将这一差值与参数differ_S进行比较,若该差值大于参数differ_S,则执行步骤5-2);否则,降低参数differ_S的取值,然后重新执行本步骤。
其中,所述参数differ_S是一个用来反映图片中各像素点饱和度差异的参数。本领域技术人员应当了解,蓝色像素点与白色像素点之间在饱和度上有较大的差异。因此,采用参数differ_S来衡量天空图片的蓝白分明程度。若待识别图像中各个像素点的饱和度最大值S_max与饱和度最小值S_min之间的差值大于参数differ_S,则证明待识别图像蓝天、白云较为分明,这就为查找“确定天”奠定了基础。否则,证明待识别图像中蓝天、白云区分的并不明朗(如阴天)。
参数differ_S的取值反映了对待识别图像中像素点饱和度差异的辨识程度,在初始时可将differ_S的值设定成一个较高值,若在步骤5-1)中计算得到的饱和度最大值S_max与饱和度最小值S_min之间的差值小于该参数differ_S,则可适当降低参数differ_S的取值,然后重新执行步骤5-1)。上述迭代过程一般执行1-2次,否则将失去意义。
在一个实施例中,参数differ_S设为30。
步骤5-2)、对待识别图像中的各个像素点进行遍历,确定当前像素点的S值是否在(S_max-differ_S,S_max)的范围内,若是,则该像素点被认为是属于天空。
步骤5-3)、综合待识别图像中所有被认为是属于天空的像素点,得到待识别图像中的“确定天”。
需要说明的是,前述步骤4)和步骤5)之间并不存在严格的逻辑顺序,本申请中只是为了描述方便,对这两个步骤做了数字标记。在实际执行时,步骤4)可在步骤5)之前执行,步骤5)可在步骤4)之前执行,步骤4)也可与步骤5)同时执行。
步骤6)、根据步骤4)和步骤5)所得到的结果,对待识别图像的类型做进一步判断,若待识别图像中既没有找到“确定云”,也没有找到“确定天”,说明待识别图像中或“无云”,或“厚云铺满”,或“薄云铺满”,或“云天难辨”,或有“雾状云”,执行步骤7);若待识别图像中只找到了“确定云”,没有找到“确定天”,说明待识别图像处于“天空中有厚云,同时铺满薄云”的状态,执行步骤9);若待识别图像中只找到了“确定天”,没有找到“确定云”,说明待识别图像处于“天空中有薄云且薄云未铺满天空”的状态,执行步骤11);若待识别图像中同时有“确定云”和“确定天”,证明待识别图像有清晰的云和天,执行步骤14)。
步骤7)、为已被去光的待识别图像计算图像的饱和度均值,然后将饱和度均值与第一阈值进行比较,如果小于该第一阈值,则待识别图像中天空可能全部覆盖了厚云,即未露出天空,输出识别结果后结束图像识别过程,否则,执行下一步;
其中,所述第一阈值由本领域技术人员确定,在一个实施例中,所述第一阈值的大小为200,在其他实施例中,也可根据实际情况对其值进行调整。
步骤8)、待识别图像中的天空为“薄云铺满”,或“云天难辨”,此时对当前的图像处理模式进行识别,若当前的图像处理模式为“雾”模式,则待识别图像为当前“无云”,然后结束图像识别过程;否则,将当前的图像处理模式切换到“雾”模式,然后重新从步骤4)开始执行。
在本步骤中所涉及的图像处理模式反映了对待识别图像的处理策略,在本申请中,图像处理模式可分为四种类型,分别是:“晴”模式,“雾”模式,“多云”模式,“少云”模式。其中,
“晴”模式代表待识别图像处于晴天状态下,在“晴”模式下,之前论述的用来反映图片中各像素点饱和度差异的参数differ_S具有较高的值,在一个实施例中,该参数differ_S的值为30;用来表示边界识别灵敏度值的参数CDS_Value具有较高的值,在一个实施例中,该参数CDS_Value的值为42。参数differ_S与参数CDS_Value的具体取值可根据实际需要而变动。
“雾”模式代表待识别图像处于雾天状态下,在“雾”模式下,参数differ_S的取值较“晴”模式下更低,从而能够反映云天界限模糊这一特点;参数CDS_Value的取值也较“晴”模式下更低,参数CDS_Value数值的降低也有利于提高边缘识别灵敏度。
“多云”模式代表待识别图像处于多云状态下,在“多云”模式下,参数differ_S的取值较“晴”模式下更低,从而能够反映云天界限模糊这一特点;参数CDS_Value的取值则较“晴”模式下不变。
“少云”模式代表待识别图像处于少云状态下,在“少云”模式下,参数differ_S的取值较“晴”模式下不变;参数CDS_Value的取值则较“晴”模式下更低,参数CDS_Value数值的降低有利于提高边缘识别灵敏度。
从上述描述可以看出,在步骤8)中,若当前图像处理模式不是“雾”模式,需要将当前的图像处理模式切换到“雾”模式,在切换过程中,基于原有图像处理模式的差异,或参数differ_S的取值会降低,或参数CDS_Value的取值会降低,或参数differ_S与参数CDS_Value的取值同时降低。
在本步骤中,“将当前的图像处理模式切换到“雾”模式,然后重新从步骤4)开始执行”的迭代过程可执行1-2次。
步骤9)、对当前的图像处理模式进行识别,若当前的图像处理模式为“雾”模式,则待识别图像为当前“已被云铺满”,然后结束图像识别过程;否则,判断当前的图像处理模式是否为“多云”模式,若是,则待识别图像为当前“已被云铺满”,然后结束图像识别过程,若为否,执行下一步;
步骤10)、将当前的图像处理模式切换到“多云”模式,然后重新从步骤4)开始执行。
本步骤中的“重新从步骤4)开始执行”这一迭代过程可执行1-2次。
步骤11)、对当前的图像处理模式进行识别,若当前的图像处理模式是“雾”模式,执行步骤12),若不是,执行步骤13);
步骤12)、将待识别图像中饱和度值与图像饱和度最小值S_min相等的像素点作为“确定云”,然后执行步骤14);
步骤13)、继续判断当前的图像处理模式是否为“少云”模式,若是“少云”模式,则执行步骤12),否则,将当前的图像处理模式切换为“少云”模式,然后重新从步骤4)开始执行。
本步骤中的“重新从步骤4)开始执行”这一迭代过程可执行1-2次。
步骤14)、对待识别图像中除了已识别的光、“确定天”、“确定云”以外的剩余部分做模糊识别,进一步区分其是云还是天空。
待识别图像中剩余部分属于天空与云的界限较模糊,或天空与薄云较为接近;通常也被认为是雾状云。对雾状云的模糊识别过程中需要采用一个参数Acceptability,该参数用来定义对模糊状态的接受程度。Acceptability值(可以为负数)越小,越认同模糊部分为云,即认为雾状云影响越大。该值需要根据现场检测DNI决定。
该步骤进一步包括:
步骤14-1)、计算待识别图像中已知的“确定天”的色调均值、饱和度均值以及亮度均值;相应计算公式如下:
“确定天”的色度均值=“确定天”中所有像素点的色调值之和/“确定天”中的像素点数;
“确定天”的饱和度均值=“确定天”中所有像素点的饱和度值之和/“确定天”中的像素点数;
“确定天”的亮度均值=“确定天”中所有像素点的亮度值之和/“确定天”中的像素点数。
步骤14-2)、计算待识别图像中已知的“确定云”的色调均值、饱和度均值以及亮度均值;相应计算公式如下:
“确定云”的色度均值=“确定云”中所有像素点的色调值之和/“确定云”中的像素点数;
“确定云”的饱和度均值=“确定云”中所有像素点的饱和度值之和/“确定云”中的像素点数;
“确定云”的亮度均值=“确定云”中所有像素点的亮度值之和/“确定云”中的像素点数。
步骤14-3)、为待识别图像中未知区域内的任一像素点分别计算其与“确定天”和“确定云”之间的差距。
相应计算公式如下:
其中,a表示待识别图像中未知区域内的某一像素点与“确定云”的差距,b表示待识别图像中未知区域内的某一像素点与“确定天”的差距;H、S、V分别表示待识别图像中未知区域内的某一像素点的色度值、饱和度值、亮度值;表示“确定云”的色度均值;/>表示“确定云”的饱和度均值;/>表示“确定云”的亮度均值。/>表示“确定天”的色度均值;表示“确定天”的饱和度均值;/>表示“确定天”的亮度均值。weighting_H_2、weighting_S_2、weighting_V_2分别为模糊识别时所用的H通道加权系数、S通道加权系数、V通道加权系数,这些加权系数的数值可根据现场情况进行调整,在一个实施例中,weighting_H_2的值为2、weighting_S_2的值为3、weighting_V_2的值为1。
步骤14-4)、根据步骤14-3)的计算结果,判断未知区域内的像素点的b值是否大于(a+Acceptability),若是,则该像素点认为是“云”,否则认为是“天空”。
步骤14-5)、对待识别图像中未知区域内的所有像素点均执行步骤14-3)和步骤14-4),从而实现对雾状云的识别。
以上是对本发明的云识别方法的实现过程的详细说明。从上述描述可以看出,本发明的云识别方法不仅能够识别天空中边界清晰的云,更能够对天空中边界不明确的云,如雾状云,进行识别。与传统方法相比,在识别的全面性、准确性上均有较大程度的提高,满足了云识别的实际需求。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (7)
1.一种云识别方法,包括:
步骤1)、将待识别的图像转换到HSV空间;
步骤2)、将转换到HSV空间后的待识别图像做去光操作;
步骤3)、对待识别图像做边缘检测,查找待识别图像中的“确定云”;对待识别图像做天空检测,查找待识别图像中的“确定天”;
步骤4)、根据待识别图像中“确定云”与“确定天”的查找结果对待识别图像进行分类,然后按照不同的类型对待识别图像做进一步处理:若待识别图像中既没有找到“确定云”,也没有找到“确定天”,执行下一步;若待识别图像中只找到了“确定云”,没有找到“确定天”,执行步骤7);若待识别图像中只找到了“确定天”,没有找到“确定云”,执行步骤9);若待识别图像中同时有“确定云”和“确定天”,执行步骤12);
步骤5)、为待识别图像计算图像的饱和度均值,然后将饱和度均值与第一阈值进行比较,如果小于该第一阈值,则待识别图像中的天空全部覆盖了厚云,输出识别结果后结束图像识别过程,否则,执行下一步;
步骤6)、对当前的图像处理模式进行识别,若当前的图像处理模式为“雾”模式,则待识别图像为“无云”,输出识别结果后结束图像识别过程;否则,将当前的图像处理模式切换到“雾”模式,然后重新从步骤3)开始执行;
步骤7)、对当前的图像处理模式进行识别,若当前的图像处理模式为“雾”模式,则待识别图像为当前“已被云铺满”,然后结束图像识别过程;否则,判断当前的图像处理模式是否为“多云”模式,若是,则待识别图像为“已被云铺满”,然后结束图像识别过程,若为否,执行下一步;
步骤8)、将当前的图像处理模式切换到“多云”模式,然后重新从步骤3)开始执行;
步骤9)、若当前的图像处理模式是“雾”模式,执行下一步,若不是,执行步骤11);
步骤10)、将待识别图像中饱和度值与图像饱和度最小值S_min相等的像素点作为“确定云”,然后执行步骤12);
步骤11)、继续判断当前的图像处理模式是否为“少云”模式,若是“少云”模式,则执行步骤10),否则,将当前的图像处理模式切换为“少云”模式,然后重新从步骤3)开始执行;
步骤12)、对待识别图像中除了已识别的光、“确定天”、“确定云”以外的剩余部分做模糊识别,进一步区分其是云还是天空;
所述图像处理模式分为四种类型,分别是:“晴”模式,“雾”模式,“多云”模式,“少云”模式;其中,
“晴”模式代表待识别图像处于晴天状态下,在“晴”模式下,用来反映图片中各像素点饱和度差异的参数differ_S具有较高的值;用来表示边界识别灵敏度值的参数CDS_Value具有较高的值;
“雾”模式代表待识别图像处于雾天状态下,在“雾”模式下,参数differ_S的取值较“晴”模式下更低;参数CDS_Value的取值也较“晴”模式下更低;
“多云”模式代表待识别图像处于多云状态下,在“多云”模式下,参数differ_S的取值较“晴”模式下更低;参数CDS_Value的取值则较“晴”模式下不变;
“少云”模式代表待识别图像处于少云状态下,在“少云”模式下,参数differ_S的取值较“晴”模式下不变;参数CDS_Value的取值则较“晴”模式下更低。
2.根据权利要求1所述的云识别方法,其特征在于,在所述步骤1)之前,还包括:对待识别图像做滤波操作。
3.根据权利要求1或2所述的云识别方法,其特征在于,所述步骤2)进一步包括:
步骤2-1)、以图像中太阳所在位置为中心,沿着圆周方向每隔一定角度对图像进行切分,从而将图像切割成多个通道;
步骤2-2)、在各个通道中分别对通道内的像素点进行识别,找出被认为是光的像素点;其中,
若待识别图像中太阳所在位置被黑影遮挡,则在待识别图像中设置“近太阳区域”;设该区域到太阳边界的距离范围为LightCircle;在LightCircle内的像素点,亮度大于252即识别为光;在LightCircle外的像素点,如果某一像素点与通道上邻近两像素点的亮度方差梯度不大于6,且该像素点与通道内前一像素点的亮度均不小于252,则该像素点被识别为光;
若待识别图像中太阳所在位置未被黑影遮挡,直接获取待识别图像中太阳中心点像素的亮度值,然后按照从中心到图像边缘的方向沿通道遍历各个像素点,如果某像素点与通道上邻近两像素点的亮度方差梯度不大于6,且与通道内前一像素点的亮度均不小于252,则该像素点被识别为光;
步骤2-3)、从待识别图像中去除被认为是光的像素点。
4.根据权利要求1或2所述的云识别方法,其特征在于,在所述的步骤3)中,对待识别图像做边缘检测,查找待识别图像中的“确定云”包括:
步骤3-1-1)、为待识别图像中留存的像素点计算梯度;
梯度的计算公式过程如下:
其中,
dx=CD(fi+1,j+1,fi+1,j-1)+2CD(fi,j+1,fi,j-1)+CD(fi-1,j+1,fi-1,j-1);
dy=CD(fi+1,j+1,fi-1,j+1)+2CD(fi+1,j,fi-1,j)+CD(fi+1,j-1,fi-1,j-1);
其中,CDS表示梯度,CD(A,B)表示像素点A与像素点B之间的色差,其计算公式为:
其中,HA表示像素点A的色调值,SA表示像素点A的饱和度值,VA表示像素点A的亮度值;HB表示像素点B的色调值,SB表示像素点B的饱和度值,VB表示像素点B的亮度值;weighting_H表示Sobel算子中H通道加权系数;weighting_S表示Sobel算子中S通道加权系数;weighting_V表示Sobel算子中V通道加权系数;公式中fi-1,j-1、fi-1,j、fi-1,j+1、fi,j-1、fi,j、fi,j+1、fi+1,j-1、fi+1,j、fi+1,j+1用于表示一像素点与其周围相邻像素点;
步骤3-1-2)、将像素点的梯度与边界识别灵敏度值进行比较,如果一个像素点的梯度值大于边界识别灵敏度值,则该像素点为边界点,否则,该像素点就不是边界点;
步骤3-1-3)、综合待识别图像中寻找到的边界点,得到待识别图像中的“确定云”。
5.根据权利要求1或2所述的云识别方法,其特征在于,在所述的步骤3)中,对待识别图像做天空检测,查找待识别图像中的“确定天”包括:
步骤3-2-1)、求取待识别图像中各个像素点的饱和度最大值S_max与饱和度最小值S_min之间的差值,将这一差值与参数differ_S进行比较,若该差值大于参数differ_S,则执行下一步;否则,降低参数differ_S的取值,然后重新执行本步骤;其中,
所述参数differ_S是一个用来反映图片中各像素点饱和度差异的参数;
步骤3-2-2)、对待识别图像中的各个像素点进行遍历,确定当前像素点的S值是否在(S_max-differ_S,S_max)的范围内,若是,则该像素点被认为是属于天空;
步骤3-2-3)、综合待识别图像中所有被认为是属于天空的像素点,得到待识别图像中的“确定天”。
6.根据权利要求5所述的云识别方法,其特征在于,在步骤3-2-1)中,降低参数differ_S的取值,然后重新执行步骤3-2-1)这一迭代过程的执行次数为1-2次。
7.根据权利要求1或2所述的云识别方法,其特征在于,所述步骤12)包括:
步骤12-1)、计算待识别图像中已知的“确定天”的色调均值、饱和度均值以及亮度均值;相应计算公式如下:
“确定天”的色度均值=“确定天”中所有像素点的色调值之和/“确定天”中的像素点数;
“确定天”的饱和度均值=“确定天”中所有像素点的饱和度值之和/“确定天”中的像素点数;
“确定天”的亮度均值=“确定天”中所有像素点的亮度值之和/“确定天”中的像素点数;
步骤12-2)、计算待识别图像中已知的“确定云”的色调均值、饱和度均值以及亮度均值;相应计算公式如下:
“确定云”的色度均值=“确定云”中所有像素点的色调值之和/“确定云”中的像素点数;
“确定云”的饱和度均值=“确定云”中所有像素点的饱和度值之和/“确定云”中的像素点数;
“确定云”的亮度均值=“确定云”中所有像素点的亮度值之和/“确定云”中的像素点数;
步骤12-3)、为待识别图像中未知区域内的任一像素点分别计算其与“确定天”和“确定云”之间的差距;
相应计算公式如下:
其中,a表示待识别图像中未知区域内的某一像素点与“确定云”的差距,b表示待识别图像中未知区域内的某一像素点与“确定天”的差距;H、S、V分别表示待识别图像中未知区域内的某一像素点的色度值、饱和度值、亮度值;表示“确定云”的色度均值;/>表示“确定云”的饱和度均值;/>表示“确定云”的亮度均值;/>表示“确定天”的色度均值;/>表示“确定天”的饱和度均值;/>表示“确定天”的亮度均值;weighting_H_2、weighting_S_2、weighting_V_2分别为模糊识别时所用的H通道加权系数、S通道加权系数、V通道加权系数;
步骤12-4)、根据步骤12-3)的计算结果,判断未知区域内的像素点的b值是否大于(a+Acceptability),若是,则该像素点认为是“云”,否则认为是“天空”;其中,参数Acceptability用来定义对模糊状态的接受程度,Acceptability值越小,越认同模糊部分为云;
步骤12-5)、对待识别图像中未知区域内的所有像素点均执行步骤12-3)和步骤12-4),从而实现对雾状云的识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910439308.9A CN111985492B (zh) | 2019-05-24 | 2019-05-24 | 一种云识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910439308.9A CN111985492B (zh) | 2019-05-24 | 2019-05-24 | 一种云识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111985492A CN111985492A (zh) | 2020-11-24 |
CN111985492B true CN111985492B (zh) | 2024-03-26 |
Family
ID=73436922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910439308.9A Active CN111985492B (zh) | 2019-05-24 | 2019-05-24 | 一种云识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111985492B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113449668B (zh) * | 2021-07-08 | 2023-05-23 | 杭州迅蚁网络科技有限公司 | 一种飞行装置的靶标角度识别方法、装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005094452A (ja) * | 2003-09-18 | 2005-04-07 | Nec Corp | 画像処理方法、画像処理システムおよび画像処理プログラム |
CN101286233A (zh) * | 2008-05-19 | 2008-10-15 | 重庆邮电大学 | 基于对象云的模糊边缘检测方法 |
CN102750701A (zh) * | 2012-06-15 | 2012-10-24 | 西安电子科技大学 | 针对Landsat TM和ETM图像的厚云及其阴影检测方法 |
CN104463196A (zh) * | 2014-11-11 | 2015-03-25 | 中国人民解放军理工大学 | 一种基于视频的天气现象识别方法 |
CN107437241A (zh) * | 2017-08-09 | 2017-12-05 | 哈尔滨工业大学 | 一种结合边缘检测的暗通道图像去雾方法 |
CN107563340A (zh) * | 2017-09-13 | 2018-01-09 | 首航节能光热技术股份有限公司 | 一种图像中所含云的机器识别方法 |
CN108596849A (zh) * | 2018-04-23 | 2018-09-28 | 南京邮电大学 | 一种基于天空区域分割的单幅图像去雾方法 |
CN109191432A (zh) * | 2018-07-27 | 2019-01-11 | 西安电子科技大学 | 基于域变换滤波多尺度分解的遥感图像云检测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2917874B1 (en) * | 2012-11-12 | 2017-09-27 | BAE SYSTEMS plc | Cloud feature detection |
US10444406B2 (en) * | 2014-04-17 | 2019-10-15 | Siemens Aktiengesellschaft | Short term cloud coverage prediction using ground-based all sky imaging |
-
2019
- 2019-05-24 CN CN201910439308.9A patent/CN111985492B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005094452A (ja) * | 2003-09-18 | 2005-04-07 | Nec Corp | 画像処理方法、画像処理システムおよび画像処理プログラム |
CN101286233A (zh) * | 2008-05-19 | 2008-10-15 | 重庆邮电大学 | 基于对象云的模糊边缘检测方法 |
CN102750701A (zh) * | 2012-06-15 | 2012-10-24 | 西安电子科技大学 | 针对Landsat TM和ETM图像的厚云及其阴影检测方法 |
CN104463196A (zh) * | 2014-11-11 | 2015-03-25 | 中国人民解放军理工大学 | 一种基于视频的天气现象识别方法 |
CN107437241A (zh) * | 2017-08-09 | 2017-12-05 | 哈尔滨工业大学 | 一种结合边缘检测的暗通道图像去雾方法 |
CN107563340A (zh) * | 2017-09-13 | 2018-01-09 | 首航节能光热技术股份有限公司 | 一种图像中所含云的机器识别方法 |
CN108596849A (zh) * | 2018-04-23 | 2018-09-28 | 南京邮电大学 | 一种基于天空区域分割的单幅图像去雾方法 |
CN109191432A (zh) * | 2018-07-27 | 2019-01-11 | 西安电子科技大学 | 基于域变换滤波多尺度分解的遥感图像云检测方法 |
Non-Patent Citations (4)
Title |
---|
Prediction of HSV color model parameter values of cloud movement picture based on artificial neural networks;Radovan, A等;《41st International Convention on Information and Communication Technology, Electronics and Microelectronics》(第41期);第1110-1114页 * |
基于HSV色彩空间的MODIS云检测算法研究;李微;李德仁;;中国图象图形学报(第09期);第142-147页 * |
基于室外图像的天气现象识别方法;李骞;范茵;张;李宝强;;计算机应用(第06期);第178-181页 * |
多源高分辨率遥感影像自动云检测方法研究;朱桂海;黄青伦;蒙印;;江西测绘(第02期);第28-30页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111985492A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105956557B (zh) | 一种面向对象的时序遥感影像云覆盖区域自动检测方法 | |
CN107895376A (zh) | 基于改进Canny算子和轮廓面积阈值的太阳能电池板识别方法 | |
CN109558806B (zh) | 高分遥感图像变化的检测方法 | |
CN105631880A (zh) | 车道线分割方法和装置 | |
WO2022252242A1 (zh) | 一种基于多光谱图像的水污染区域识别方法和系统 | |
CN102974551A (zh) | 一种基于机器视觉的多晶硅太阳能检测分选的方法 | |
CN107992856B (zh) | 城市场景下的高分遥感建筑物阴影检测方法 | |
CN109584258B (zh) | 草地边界识别方法及应用其的智能割草装置 | |
CN102637301B (zh) | 航空摄影过程中实时自动评定影像色彩质量的方法 | |
CN113537211B (zh) | 一种基于非对称iou的深度学习车牌框定位方法 | |
CN102855627B (zh) | 基于光谱特性和拓扑关系的城市遥感影像阴影检测方法 | |
CN108711160B (zh) | 一种基于hsi增强性模型的目标分割方法 | |
CN110852207A (zh) | 基于面向对象影像分类技术的蓝色屋顶建筑物提取方法 | |
CN106815602B (zh) | 一种基于多层次特征描述的跑道fod图像探测方法及装置 | |
CN111985492B (zh) | 一种云识别方法 | |
CN110223253B (zh) | 一种基于图像增强的去雾方法 | |
CN109712116B (zh) | 输电线路及其附件的故障识别方法 | |
CN109741337B (zh) | 基于Lab色彩空间的区域合并分水岭彩色遥感影像分割方法 | |
CN111062384B (zh) | 一种基于深度学习的车窗精确定位方法 | |
CN109801304B (zh) | 一种抑制裸地的建筑指数构建及建筑区域快速提取方法 | |
CN116682024A (zh) | 一种基于四波段遥感影像的快速云检测方法 | |
CN107016401B (zh) | 一种基于数码相机图像的水稻冠层识别方法 | |
CN102982512B (zh) | 一种百度卫星地图图像阴影检测方法 | |
Tian et al. | Haze removal of single remote sensing image by combining dark channel prior with superpixel | |
Khan et al. | Shadow removal from digital images using multi-channel binarization and shadow matting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |