最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

opencv檢測直線方法之形態(tài)學(xué)方法

 更新時間:2018年12月26日 10:45:36   作者:恬夢  
這篇文章主要為大家詳細介紹了opencv檢測直線方法之形態(tài)學(xué)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在閱讀文獻中,偶然發(fā)現(xiàn)使用使用形態(tài)學(xué)方法也可以檢測直線,故做實驗并記錄。

使用該方法,需要定義一個長度為L的結(jié)構(gòu)元素element,其大小應(yīng)足夠大以保留圖像中的字符筆劃,然而又恰好能檢測出圖像中最短的表格線。

定義如下兩個結(jié)構(gòu)element用以檢測圖中水平、豎直的表格線:

Mat element1 = getStructuringElement(MORPH_RECT, Size(70, 1));// size的width應(yīng)大于圖像中的橫向筆劃

Mat element3 = getStructuringElement(MORPH_RECT, Size(1, 55));//size的height應(yīng)大于圖像中的豎直筆劃

之后分別用以上結(jié)構(gòu)元素對圖像的水平以及豎直方向做閉運算以抹去水平或豎直表格線以外的細節(jié):

morphologyEx(image, imageF1, MORPH_CLOSE, element1);

morphologyEx(image, imageF4, MORPH_CLOSE, element3);

下面附上整體代碼:

#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);//自適應(yīng)閾值
 
 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;
}

實驗結(jié)果如下:

記錄內(nèi)容如有不妥之處,望指正!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于C語言實現(xiàn)靜態(tài)通訊錄的示例代碼

    基于C語言實現(xiàn)靜態(tài)通訊錄的示例代碼

    這篇文章主要為大家詳細介紹了如何利用C語言實現(xiàn)一個簡單的靜態(tài)通訊錄,文中的示例代碼講解詳細,對我們學(xué)習(xí)C語言有一定幫助,需要的可以參考一下
    2022-07-07
  • C++ 獲取dll當(dāng)前路徑下所有文件

    C++ 獲取dll當(dāng)前路徑下所有文件

    本文主要介紹了C++ 獲取dll當(dāng)前路徑下所有文件,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • Qt實現(xiàn)Slider滑塊條組件的示例代碼

    Qt實現(xiàn)Slider滑塊條組件的示例代碼

    在Qt中我們可以通過拖拽的方式將不同組件放到指定的位置,本文主要介紹了Qt實現(xiàn)Slider滑塊條組件的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • Linux下C語言實現(xiàn)貪吃蛇小游戲

    Linux下C語言實現(xiàn)貪吃蛇小游戲

    這篇文章主要為大家詳細介紹了Linux下C語言實現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • C/C++中memset,memcpy的使用及fill對數(shù)組的操作

    C/C++中memset,memcpy的使用及fill對數(shù)組的操作

    這篇文章主要介紹了C/C++中memset,memcpy的使用及fill對數(shù)組的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • C++?二進制文件讀寫方式及示例詳解

    C++?二進制文件讀寫方式及示例詳解

    這篇文章主要為大家介紹了C++?二進制文件讀寫實現(xiàn)方式及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • 淺談C++虛重載操作符 virtual operator= 的使用方法

    淺談C++虛重載操作符 virtual operator= 的使用方法

    下面小編就為大家?guī)硪黄獪\談C++虛重載操作符 virtual operator= 的使用方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • C++游戲教程基本技巧之隨機化詳解

    C++游戲教程基本技巧之隨機化詳解

    在小游戲的制作中時常常會要用到隨機數(shù),這篇文章就來和大家談?wù)凜++中這個所謂的“隨機”。文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-11-11
  • C/C++高精度運算(大整數(shù)運算)詳細講解

    C/C++高精度運算(大整數(shù)運算)詳細講解

    高精度算法的本質(zhì)是把大數(shù)拆成若干固定長度的塊,然后對每一塊進行相應(yīng)的運算,下面這篇文章主要給大家介紹了關(guān)于C/C++高精度運算(大整數(shù)運算)的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • 使用c語言輕松實現(xiàn)動態(tài)內(nèi)存管

    使用c語言輕松實現(xiàn)動態(tài)內(nèi)存管

    這篇文章主要介紹了使用c語言輕松實現(xiàn)動態(tài)內(nèi)存管,本文章內(nèi)容詳細,具有很好的參考價值,希望對大家有所幫助,需要的朋友可以參考下
    2023-01-01

最新評論

连州市| 拉孜县| 苏尼特左旗| 南安市| 平罗县| 佳木斯市| 称多县| 台东县| 阿合奇县| 宣化县| 博野县| 荃湾区| 灵台县| 同德县| 若尔盖县| 汶川县| 东阿县| 江都市| 鄄城县| 饶河县| 保亭| 盐津县| 湖北省| 沭阳县| 阳江市| 扬州市| 巴青县| 莱阳市| 鄂尔多斯市| 武清区| 远安县| 抚宁县| 莱芜市| 晋中市| 白玉县| 万荣县| 浠水县| 陵川县| 崇阳县| 丽江市| 汉沽区|