1、概述
案例:对图形验证码进行降噪,去除非阿拉伯数字和英文字母的噪声
算法步骤:
1.加载Mat原图
2.使用高斯滤波进行降噪
3.转为为灰度图像
4.二值分割
5.膨胀(用局部极大值替换中心点像素)
6.腐蚀(用局部极小值替换中心点像素)
7.显示最终的结果
2、示例代码
Mat src = imread(filePath);
Mat dst;
//使用高斯滤波降噪
GaussianBlur(src,dst,Size(5,5),0);
//将图片转换为灰度图像
cvtColor(src,dst,COLOR_BGR2GRAY);
imshow("src",src);
imshow("gray",dst);
threshold(dst,dst,160,255,THRESH_BINARY);
imshow("threshold",dst);
//使用结构元素进行膨胀
Mat structureElement = getStructuringElement(MORPH_RECT, Size(3, 3), Point(-1, -1));
dilate(dst,dst,structureElement,Point(-1,-1));
imshow("dilate",dst);
//腐蚀,用局部最小值替换锚点的值
Mat structureElement2 = getStructuringElement(MORPH_RECT, Size(7, 7), Point(-1, -1));
erode(dst,dst,structureElement2,Point(-1,-1));
imshow("erode",dst);
3、示例图片
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓