本帖最后由 cepoly 于 2020-8-5 09:52 编辑
背景:电子厂的电子元器件生产流水线,特别是插件散装的器件,可以用电子称称量计算出个数,但误差还是不能接受,尝试图像识别方案,目测能解决这个问题!
其实拍出来的照片更多的是元器件相互接触,要准确计算元器件个数还是有些难度,通过图像形态学开闭操作,腐蚀等手段尝试以后效果不是很好。最终发现一种简单明了,但是有微小误差的计数,算法思路如下:
主要是利用连通区域发现算法,发现所有连通区域,获取最小部分的连通区域集合(图片预处理很关键),根据此连通区域面积,
作为单个器件大小,从而求取出粘连部分的个数,完成对整个元器件的计算,准确率相当的高,目测可达99%以上
效果展示
代码下载:https://github.com/polyGithub/opencv_twoPass.git
代码编译
g++ demo.cpp twoPass.cpp -o test `pkg-config --cflags --libs opencv`
运行
./test 5.png
|