利用不变矩识别风扇桨叶

我们识别别风扇桨叶主要是在一幅图中将桨叶的部分识别出来,再在识别出来的桨叶的基础上识别出风扇故障。

1.因为图片的背景较为简单,所以我们先对图像进行预处理,因为图像较大,所以先用imresize(image,'bilinear')将图像缩小为一半,然后用im2bw()对其二值化,我设的阈值为0.65,(不同的图,可以设不同的阈值,我这0.65效果最好),效果如下:二值化后的图
2.接下来我们再利用3*3的laplacian滤波器对图像进行滤波,这主要是为了后面对图像hough变换做准备,以去除竖直杆的部分,效果如下:这里写图片描述
3.对第一步骤处理后的桨叶进行形态学开运算,先腐蚀后膨胀,在对其划分连通域,将所得的连通域与桨叶模板进行比较,将最相似的两个连通域给标记出来,再用hough直线检测,若有连通域中的直线与0度相近,就认为其含有竖直杆,故把其去掉,留下桨叶部分。效果如下:未进行hough直线检测的图像
进行hough直线检测后的图像

其实第3部分存在一些小细节,比如模板的选取,以及不变矩的使用,以及如何先剔除明显不是桨叶的连通域,接下来再来详细说一说:其实选模板就是将图片中的桨叶框出来,然后对模板求其不变矩的特征,在这我用了两种不变矩,一种是”hu“矩,另一种是”zernike“矩。利用hu矩得到的是一组长度为7的行向量,因为我们要求待测图像与模板图像的相似度,所以我们就利用欧式距离来衡量。zernike矩得到就是一个复数,所以之差取绝对值就行了。
最后的终极效果如下(从一副图中框出桨叶):
这里写图片描述 这里写图片描述

这里写图片描述 这里写图片描述

猜你喜欢

转载自blog.csdn.net/liu14lang/article/details/49560233