opencv学习-形态学操作应用-提取水平与垂直线

Posted 殇堼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv学习-形态学操作应用-提取水平与垂直线相关的知识,希望对你有一定的参考价值。

提取步骤

1.转化为灰度图像

cvtColor(src,dst,color_BGR2GRAY)

2.转化为二值图像

adaptiveThreshold

3.定义结构元素

4.开操作 (腐蚀+膨胀)提取 水平与垂直线

代码

#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);
	}

在这里插入图片描述

以上是关于opencv学习-形态学操作应用-提取水平与垂直线的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV 形态学操作应用——提取水平与垂直线

opencv 形态学操作应用-提取水平与垂直线

youcans 的 OpenCV 例程200篇130. 形态学之提取水平和垂直线

youcans 的 OpenCV 例程200篇130. 形态学之提取水平和垂直线

基于形态学操作提取水平和垂直线条

opencv学习-形态学操作应用-开操作提取图片中的文字