gpt4 book ai didi

opencv检测直线方法之形态学方法

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章opencv检测直线方法之形态学方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

在阅读文献中,偶然发现使用使用形态学方法也可以检测直线,故做实验并记录.

使用该方法,需要定义一个长度为L的结构元素element,其大小应足够大以保留图像中的字符笔划,然而又恰好能检测出图像中最短的表格线.

定义如下两个结构element用以检测图中水平、竖直的表格线:

Mat element1 = getStructuringElement(MORPH_RECT, Size(70, 1));// size的width应大于图像中的横向笔划 。

Mat element3 = getStructuringElement(MORPH_RECT, Size(1, 55));//size的height应大于图像中的竖直笔划 。

之后分别用以上结构元素对图像的水平以及竖直方向做闭运算以抹去水平或竖直表格线以外的细节:

morphologyEx(image, imageF1, MORPH_CLOSE, element1),

morphologyEx(image, imageF4, MORPH_CLOSE, element3),

下面附上整体代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "core/core.hpp"
#include "highgui/highgui.hpp"
#include "imgproc/imgproc.hpp"
#include <iostream>
 
using namespace std;
using namespace cv;
 
int main()
{
  Mat image = imread( "E:\\x.jpg" , 1);
  Mat imageF1, imageF2, imageF3, imageF4, imageF5, imageF6, imageF7;
  cvtColor(image, image, CV_RGB2GRAY);
  namedWindow( "原图" );
  imshow( "原图" , image);
 
  Mat element1 = getStructuringElement(MORPH_RECT, Size(73, 1));
  Mat element3 = getStructuringElement(MORPH_RECT, Size(1, 80));
 
 
  morphologyEx(image, imageF1, MORPH_CLOSE, element1);
  threshold(imageF1, imageF2, 200, 255, CV_THRESH_OTSU | CV_THRESH_BINARY_INV); //自适应阈值
 
  morphologyEx(image, imageF4, MORPH_CLOSE, element3);
  threshold(imageF4, imageF5, 200, 255, CV_THRESH_OTSU | CV_THRESH_BINARY_INV);
 
  bitwise_or(imageF2, imageF5, imageF7);
 
 
  namedWindow( "F1" );
  imshow( "F1" , imageF1);
  namedWindow( "F2" );
  imshow( "F2" , imageF2);
  namedWindow( "F4" );
  imshow( "F4" , imageF4);
  namedWindow( "F7" );
  imshow( "F7" , imageF7);
  namedWindow( "F5" );
  imshow( "F5" , imageF5);
 
 
  waitKey(0);
 
  return 0;
}

实验结果如下:

opencv检测直线方法之形态学方法

记录内容如有不妥之处,望指正! 。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:https://blog.csdn.net/u013972657/article/details/77734176 。

最后此篇关于opencv检测直线方法之形态学方法的文章就讲到这里了,如果你想了解更多关于opencv检测直线方法之形态学方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com