亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

opencv檢測直線方法之投影法

2020-05-23 13:21:52
字體:
來源:轉載
供稿:網友

本文實例為大家分享了opencv檢測直線之投影法的具體代碼,供大家參考,具體內容如下

以下是我對投影法的一點認識和實驗:

投影法就是數字圖像在某個方向上進行像素累加。通過水平和垂直方向的投影,可以得到表格圖像投影的幾個特點:

(1)表格區域的水平與豎直投影分布通常出現周期性的尖峰

(2)在文字投影的行與行之間或列與列之間常會出現明顯的空白區

因此,求圖像水平以及豎直投影,根據特點分別設以閾值就可以將橫線以及豎直線所在位置確定。

  第一步:求圖像的水平投影、豎直投影

  第二步:設定合理閾值,求取大于閾值的坐標(水平投影記錄縱坐標,垂直投影記錄橫坐標)

  第三步:根據記錄縱坐標恢復水平線,根據記錄橫坐標恢復豎直線。

下面附整體代碼以及實驗結果:

#include<iostream> #include<vector>#include <cv.h> #include <highgui.h>using namespace std;using namespace cv;Mat VerticalLine(Mat srcImageBin)//垂直線條檢測 {  vector <int> array;//動態數組用來存儲投影值大于閾值的橫坐標  int *colswidth = new int[srcImageBin.cols]; //申請src.image.cols個int型的內存空間,存儲二值圖中每列的白色像素數  memset(colswidth, 0, srcImageBin.cols * 4); //數組必須賦初值為零,否則出錯。無法遍歷數組。   int value; for (int i = 0; i < srcImageBin.cols; i++) {  for (int j = 0; j < srcImageBin.rows; j++) { value = srcImageBin.at<uchar>(j, i);  if (value == 255) { colswidth[i]++; //統計每列的白色像素點   }  }  }  Mat lineImage(srcImageBin.rows, srcImageBin.cols, CV_8UC1, cv::Scalar(0, 0, 0));  //尋找投影大于閾值0.3*srcImageBin.rows的橫坐標 for (int i = 0; i < srcImageBin.cols; i++) { bool flag = true;  for (int j = 0; j < colswidth[i] && colswidth[i] >= (0.3*srcImageBin.rows); j++) {  if (flag == true) { array.push_back(i); flag = false; } } } int count = array.size(); //恢復直線 for (int n = 0; n < srcImageBin.rows; n++) { for (int w = 0; w<count; w++) { if (srcImageBin.at<uchar>(n, array[w]) == 255) { lineImage.at<uchar>(n, array[w]) = 255; }  } }    delete[] colswidth; return lineImage;}Mat HorizonLine(Mat srcImageBin)//水平線條檢測{ vector <int> array1;  int *rowswidth = new int[srcImageBin.rows];  memset(rowswidth, 0, srcImageBin.rows * 4);  int value; for (int i = 0; i < srcImageBin.rows; i++) { for (int j = 0; j < srcImageBin.cols; j++) { value = srcImageBin.at<uchar>(i, j); if (value == 255) { rowswidth[i]++; //統計每行的白色像素點  } }  }  Mat lineImage(srcImageBin.rows, srcImageBin.cols, CV_8UC1, cv::Scalar(0, 0, 0));  //尋找投影大于閾值0.525*srcImageBin.cols的縱坐標 for (int i = 0; i < srcImageBin.rows; i++) { bool flag = true; for (int j = 0; j < rowswidth[i] && rowswidth[i] >= (0.525*srcImageBin.cols); j++) { if (flag == true) { array1.push_back(i); flag = false; }  } } int count = array1.size();  //恢復水平線 for (int h = 0; h<count; h++) { for (int m = 0; m < srcImageBin.cols; m++) { if (srcImageBin.at<uchar>(array1[h], m) == 255) { lineImage.at<uchar>(array1[h], m) = 255; }  } }   delete[] rowswidth;//釋放前面申請的空間  return lineImage;}int main(){ Mat srcImage = imread("E://x.jpg"); Mat closeimage; imshow("原圖", srcImage); if (srcImage.channels() > 1) cvtColor(srcImage, srcImage, CV_RGB2GRAY); Mat srcImageBin; threshold(srcImage, srcImageBin, 140, 255, CV_THRESH_OTSU | CV_THRESH_BINARY_INV);  Mat VP; VP = VerticalLine(srcImageBin);  Mat HP; HP = HorizonLine(srcImageBin);  Mat mergelineImage;  bitwise_or(HP, VP, mergelineImage); imshow("mergelineImage", mergelineImage);  waitKey(0); return 0; }

實驗結果如下:

opencv,檢測直線,投影法

由上結果可知,如果直線中間有字會被誤檢為直線,圖中用紅色橢圓標出。

文中若有錯誤的不妥的地方,還望指出,以便共同學習。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品男女猛烈高潮激情| 91tv亚洲精品香蕉国产一区7ujn| 久久精品国产亚洲精品2020| 亚洲欧洲自拍偷拍| 日韩欧美成人免费视频| 国产精品99久久99久久久二8| 中文字幕日韩精品在线| 欧美另类69精品久久久久9999| 国产精品国产亚洲伊人久久| 成人妇女淫片aaaa视频| 日韩电影大全免费观看2023年上| 日韩高清电影免费观看完整版| 欧洲日本亚洲国产区| 啪一啪鲁一鲁2019在线视频| 久久久免费高清电视剧观看| 欧美日韩国产一区在线| 九九热精品视频在线播放| 激情成人在线视频| 国产日韩精品在线| 欧美日韩国产限制| 岛国av在线不卡| 久久久久日韩精品久久久男男| 国产精品99蜜臀久久不卡二区| 亚洲人成伊人成综合网久久久| 国产在线观看精品一区二区三区| 日韩中文字幕视频在线| 色七七影院综合| 成人在线视频网| 国产精品色午夜在线观看| 欧美中文在线视频| 奇米一区二区三区四区久久| 激情亚洲一区二区三区四区| 久久久久亚洲精品成人网小说| 国产精品第七影院| 成人免费在线视频网址| 亚洲欧洲国产精品| 欧美成在线视频| 久久精品精品电影网| 久久久精品国产网站| 欧美亚洲国产成人精品| 国产精品久久久久久亚洲影视| 国产成人亚洲综合91精品| 一本色道久久88精品综合| 欧美成人免费全部观看天天性色| 中文字幕国产亚洲| 国产一区二区成人| 久久久久久午夜| 萌白酱国产一区二区| 性视频1819p久久| 国产精品黄色影片导航在线观看| 97在线免费视频| 欧美成年人视频网站| 91免费看片网站| 日韩av免费在线播放| 亚洲午夜久久久久久久| 亚洲国产精品999| 国产精品丝袜久久久久久高清| 亚洲国产精品嫩草影院久久| 成人乱色短篇合集| 亚洲精品第一页| 亚洲福利视频网| 俺也去精品视频在线观看| 91久久国产综合久久91精品网站| 在线观看日韩专区| 欧美一性一乱一交一视频| 国产成人高潮免费观看精品| 国产综合香蕉五月婷在线| 亚洲最大福利视频| 色婷婷成人综合| 国模精品视频一区二区| 欧洲精品毛片网站| 国产精品揄拍一区二区| 国产精品中文字幕在线观看| 日韩三级成人av网| 久久久久久久久久久人体| 亚洲精品电影网在线观看| 国产精品免费一区豆花| 国产在线精品成人一区二区三区| 久99久在线视频| 日本电影亚洲天堂| 国产精品成人国产乱一区| 亚洲国产精品va在线看黑人| 国产精品高潮呻吟视频| 中国china体内裑精亚洲片| 一本一道久久a久久精品逆3p| 欧美日韩在线视频一区| 国产精品精品视频| 欧美精品激情blacked18| 成人av色在线观看| 色www亚洲国产张柏芝| 日本久久久a级免费| 日韩有码在线观看| 精品国产91乱高清在线观看| 欧洲日本亚洲国产区| 亚洲第一视频在线观看| 亚洲国产欧美自拍| 尤物九九久久国产精品的特点| 成人妇女免费播放久久久| 国产精自产拍久久久久久| 中文字幕无线精品亚洲乱码一区| 亚洲精选在线观看| 国内精品模特av私拍在线观看| 亚洲一区二区三区成人在线视频精品| 亚洲在线视频福利| 欧美激情第一页xxx| 久久久av网站| 中文精品99久久国产香蕉| 57pao国产精品一区| 91伊人影院在线播放| 国产精品伦子伦免费视频| 成人黄色av播放免费| 久久久久久久97| 欧美亚洲激情视频| 国产精品h在线观看| 欧美高清视频免费观看| 国产精品日韩欧美| 一区二区三区四区在线观看视频| 2019中文字幕免费视频| 97香蕉超级碰碰久久免费的优势| 川上优av一区二区线观看| 欧美成人三级视频网站| 成人亚洲欧美一区二区三区| 最近2019中文字幕大全第二页| 一区二区三区精品99久久| 黄网站色欧美视频| 川上优av一区二区线观看| 国产精品视频999| 久久久久久久成人| 日韩女在线观看| 日韩中文字幕在线观看| 国产美女91呻吟求| 国产偷国产偷亚洲清高网站| 欧美大全免费观看电视剧大泉洋| 狠狠操狠狠色综合网| 国产精品嫩草影院久久久| 亚洲国产黄色片| 国产丝袜精品第一页| 一区二区在线免费视频| 亚洲加勒比久久88色综合| 久久精品亚洲国产| 欧美性生活大片免费观看网址| 国产91对白在线播放| 8050国产精品久久久久久| 国产亚洲欧美视频| 亚洲成人av在线播放| 国产福利精品av综合导导航| 日韩精品高清视频| 在线看片第一页欧美| 国内揄拍国内精品少妇国语| 亚洲毛片在线免费观看| 久久精品国产久精国产一老狼| 色综合久久天天综线观看| 欧美黑人一级爽快片淫片高清| 福利精品视频在线| 久久久久久久久91| 日韩欧美国产成人| 亚洲老头老太hd| 国产精品一区二区三区成人| 国产91精品久久久久久| 91九色视频在线| 一区国产精品视频| 国产精品va在线| 69影院欧美专区视频| 国产精品美女无圣光视频|