本文主要是介绍【OpenCV基础】形态学操作应用-提取图片中文字、水平与垂直线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处
文章目录
- 一、提取图片中的文字
- 1.步骤
- 2.全部代码
- 3.效果展示
- 二、提取水平与垂直线
- 1.转化为灰度图像
- 2.转化为二值图像
- 3.定义结构元素
- 4.开操作 (腐蚀+膨胀)
- 5.代码演示
- 6.效果展示
一、提取图片中的文字
1.步骤
1.读取原图
2.灰度化
3.二值化
4.膨胀
5.腐蚀
6.像素值取反
2.全部代码
#include<iostream>
#include<opencv2/opencv.hpp>using namespace std;
using namespace cv;int main(){ Mat src, src_gray, src_bin, src_erode, kernerl, src_dilate, src_bitwise;src = imread("D:/images/morph02.png");if (src.empty()){cout << "could not load image..." << endl;return -1;}imshow("原图", src);cvtColor(src, src_gray, COLOR_BGR2GRAY);imshow("src_gray", src_gray);threshold(src_gray, src_bin,150,255,THRESH_BINARY);imshow("src_bin", src_bin);kernerl = getStructuringElement(MORPH_RECT, Size(3, 3), Point(-1, -1));dilate(src_bin, src_dilate, kernerl);imshow("src_dilate", src_dilate);erode(src_dilate, src_erode, kernerl);imshow("src_erode", src_erode);bitwise_not(src_erode, src_bitwise);imshow("src_bitwise", src_bitwise);waitKey(0);return 0;
}
3.效果展示
二、提取水平与垂直线
1.转化为灰度图像
cvtColor(src,dst,color_BGR2GRAY)
2.转化为二值图像
adaptiveThreshold
3.定义结构元素
4.开操作 (腐蚀+膨胀)
5.代码演示
#include <opencv2\opencv.hpp>
#include<iostream>using namespace std;
using namespace cv;int main()
{Mat src, grayImg, binImg, dest,dest1;//1、读取和显示图片src = imread("D:/images/morph01.png");if (src.empty()) {cout << "图片打开失败!" << endl;return -1;}imshow("原图像", src);//2、转为灰度图cvtColor(src, grayImg, COLOR_BGR2GRAY);imshow("灰度图", grayImg);//3、转为二值图像adaptiveThreshold(grayImg, binImg, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, 15, -2);imshow("二值图像", binImg);//4、构建结构元素Mat kernel = getStructuringElement(MORPH_RECT, Size(1, 20),Point(-1,-1));//5、开操作erode(binImg, dest, kernel);imshow("腐蚀后", dest);dilate(dest, dest1, kernel);//或是:morphologyEx(binImg, dest, MORPH_OPEN, kernel)等同于上面的先腐蚀和后膨胀;imshow("最终结果", dest1);waitKey(0);}
6.效果展示
这篇关于【OpenCV基础】形态学操作应用-提取图片中文字、水平与垂直线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!