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

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

opencv利用霍夫變換檢測直線進行圖片校正

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

利用霍夫變換檢測直線,校正拍攝傾斜的圖片

#include<opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;#define ERROR 1234//度數轉換double DegreeTrans(double theta){ double res = theta / CV_PI * 180; return res;}//逆時針旋轉圖像degree角度(原尺寸) void rotateImage(Mat src, Mat& img_rotate, double degree){ //旋轉中心為圖像中心  Point2f center; center.x = float(src.cols / 2.0); center.y = float(src.rows / 2.0); int length = 0; length = sqrt(src.cols*src.cols + src.rows*src.rows); //計算二維旋轉的仿射變換矩陣  Mat M = getRotationMatrix2D(center, degree, 1); warpAffine(src, img_rotate, M, Size(length, length), 1, 0, Scalar(255, 255, 255));//仿射變換,背景色填充為白色 }//通過霍夫變換計算角度double CalcDegree(const Mat &srcImage, Mat &dst){ Mat midImage, dstImage; Canny(srcImage, midImage, 50, 200, 3); cvtColor(midImage, dstImage, CV_GRAY2BGR); //通過霍夫變換檢測直線 vector<Vec2f> lines; HoughLines(midImage, lines, 1, CV_PI / 180, 300, 0, 0);//第5個參數就是閾值,閾值越大,檢測精度越高 //cout << lines.size() << endl; //由于圖像不同,閾值不好設定,因為閾值設定過高導致無法檢測直線,閾值過低直線太多,速度很慢 //所以根據閾值由大到小設置了三個閾值,如果經過大量試驗后,可以固定一個適合的閾值。 if (!lines.size()) {  HoughLines(midImage, lines, 1, CV_PI / 180, 200, 0, 0); } //cout << lines.size() << endl; if (!lines.size()) {  HoughLines(midImage, lines, 1, CV_PI / 180, 150, 0, 0); } //cout << lines.size() << endl; if (!lines.size()) {  cout << "沒有檢測到直線!" << endl;  return ERROR; } float sum = 0; //依次畫出每條線段 for (size_t i = 0; i < lines.size(); i++) {  float rho = lines[i][0];  float theta = lines[i][1];  Point pt1, pt2;  //cout << theta << endl;  double a = cos(theta), b = sin(theta);  double x0 = a*rho, y0 = b*rho;  pt1.x = cvRound(x0 + 1000 * (-b));  pt1.y = cvRound(y0 + 1000 * (a));  pt2.x = cvRound(x0 - 1000 * (-b));  pt2.y = cvRound(y0 - 1000 * (a));  //只選角度最小的作為旋轉角度  sum += theta;  line(dstImage, pt1, pt2, Scalar(55, 100, 195), 1, CV_AA); //Scalar函數用于調節線段顏色  imshow("直線探測效果圖", dstImage); } float average = sum / lines.size(); //對所有角度求平均,這樣做旋轉效果會更好 cout << "average theta:" << average << endl; double angle = DegreeTrans(average) - 90; rotateImage(dstImage, dst, angle); //imshow("直線探測效果圖2", dstImage); return angle;}void ImageRecify(const char* pInFileName, const char* pOutFileName){ double degree; Mat src = imread(pInFileName); imshow("原始圖", src); int srcWidth, srcHight; srcWidth = src.cols; srcHight = src.rows; cout << srcWidth << " " << srcHight << endl; Mat dst; src.copyTo(dst); //傾斜角度矯正 degree = CalcDegree(src, dst); if (degree == ERROR) {  cout << "矯正失敗!" << endl;  return; } rotateImage(src, dst, degree); cout << "angle:" << degree << endl; imshow("旋轉調整后", dst); Mat resulyImage = dst(Rect(0, 0, srcWidth, srcHight)); //根據先驗知識,估計好文本的長寬,再裁剪下來 imshow("裁剪之后", resulyImage); imwrite("recified.jpg", resulyImage);}int main(){ ImageRecify("jiao.jpg", "FinalImage.jpg"); waitKey(); return 0;}

效果圖如下所示:

opencv,霍夫變換,檢測直線,圖片校正

opencv,霍夫變換,檢測直線,圖片校正

opencv,霍夫變換,檢測直線,圖片校正

opencv,霍夫變換,檢測直線,圖片校正

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
免费av一区二区| 国产成人精品电影| 日韩欧美在线第一页| 91欧美激情另类亚洲| 国产成人精品视频在线观看| 日韩av在线不卡| 97免费中文视频在线观看| 91精品国产高清久久久久久91| 亚洲最大av在线| 久久视频国产精品免费视频在线| 亚洲品质视频自拍网| 亚洲国产精品字幕| 国产精品高潮粉嫩av| 成人av色在线观看| 日韩小视频在线观看| 亚洲欧美精品一区二区| 亚洲视频日韩精品| 久久福利视频导航| 亚洲精品乱码久久久久久金桔影视| 国产日韩在线视频| 亚洲黄页视频免费观看| 亚洲视频网站在线观看| 亚洲女同性videos| 亚洲视频在线免费观看| 亚洲女在线观看| 国产精品久久9| 久久精品国产亚洲精品2020| 国内揄拍国内精品少妇国语| 久久久亚洲成人| 国产精品18久久久久久麻辣| 北条麻妃99精品青青久久| 日韩精品免费综合视频在线播放| 欧美在线一区二区三区四| 精品激情国产视频| 国内精品久久久久久中文字幕| 国产精品成人av性教育| 亚洲人成网站免费播放| 亚洲欧美国产一区二区三区| 欧美日韩一区二区三区| 中文字幕精品在线视频| 亚洲最大av网站| 2019国产精品自在线拍国产不卡| 亚洲综合社区网| xxx欧美精品| 国模gogo一区二区大胆私拍| 青青草成人在线| 国产精品免费久久久| 国产欧美韩国高清| 国自产精品手机在线观看视频| 日本91av在线播放| 中文日韩在线观看| 精品美女国产在线| 成人精品网站在线观看| 久久精品在线播放| 成人亲热视频网站| 国模视频一区二区三区| 亚洲四色影视在线观看| 91成人在线观看国产| 4388成人网| 97免费中文视频在线观看| 18一19gay欧美视频网站| 亚洲综合在线中文字幕| 国产视频精品久久久| 久久精品欧美视频| 亚洲精品国产欧美| 91视频8mav| 国产欧美va欧美va香蕉在线| 精品国产91久久久| 在线日韩欧美视频| 美女国内精品自产拍在线播放| 中文字幕在线看视频国产欧美| 国产精品久在线观看| 亚洲国产精品国自产拍av秋霞| 亚洲风情亚aⅴ在线发布| 国产91精品久久久久| 91国偷自产一区二区三区的观看方式| 亚洲欧美激情在线视频| 亚洲性视频网址| 91国偷自产一区二区三区的观看方式| 91精品国产91久久久久久最新| 精品丝袜一区二区三区| 亚洲一区美女视频在线观看免费| 69av在线视频| 91网站在线免费观看| 欧美日韩日本国产| 欧美黑人极品猛少妇色xxxxx| 久久综合电影一区| 日韩在线观看精品| 久久躁狠狠躁夜夜爽| 日韩精品高清在线观看| 欧美激情精品久久久久久| 亚洲性生活视频在线观看| 亚洲一区二区国产| 成人激情视频在线| 久久亚洲影音av资源网| 久久久亚洲精品视频| 一区国产精品视频| 国产精品毛片a∨一区二区三区|国| 国产一区二区三区毛片| 成人国产精品免费视频| 91色p视频在线| 日韩欧美中文字幕在线观看| 亚洲午夜未满十八勿入免费观看全集| 亚洲精品国产精品国产自| 日韩动漫免费观看电视剧高清| 亚洲第一精品自拍| 亚洲国产天堂久久国产91| 亚洲高清福利视频| 日韩精品免费在线观看| 91av福利视频| 国产一区二区三区在线免费观看| 亚洲天堂一区二区三区| 亚洲丝袜在线视频| 国内精品久久久久久久| 88xx成人精品| 国产精品入口日韩视频大尺度| xxxxx成人.com| 欧美性xxxxx极品| 91精品国产91久久久久| 亚洲第一av网| 国产区亚洲区欧美区| 久久激情五月丁香伊人| 国产精品美女在线| 亚洲日本中文字幕| 亚洲在线一区二区| 亚洲高清不卡av| 国产精品久久久久av| 亚洲激情视频在线观看| 亚洲国产日韩一区| 日本成人免费在线| 夜夜嗨av一区二区三区四区| 欧美丝袜第一区| 色偷偷偷综合中文字幕;dd| 国产日本欧美一区二区三区| 亚洲欧美自拍一区| 亚洲一区二区三区久久| 国产三级精品网站| 亚洲福利视频专区| 国产一区二区视频在线观看| 欧美大片免费观看在线观看网站推荐| 91精品国产综合久久男男| 国内精久久久久久久久久人| 久久精品中文字幕| 欧美精品午夜视频| 奇门遁甲1982国语版免费观看高清| 精品久久久久久久久久久久久久| 色先锋久久影院av| 欧美激情视频在线| 欧美亚洲一级片| 日韩av手机在线看| 欧美片一区二区三区| 日韩精品在线私人| 91地址最新发布| 国产日韩在线亚洲字幕中文| 欧美国产日韩一区二区三区| 日韩美女视频免费看| 欧美国产日韩视频| 97国产精品免费视频| 欧美黄网免费在线观看| 亚洲国产精品高清久久久| 成人中心免费视频| 91中文在线视频| 91久久久久久久久久久久久| 一道本无吗dⅴd在线播放一区|