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

首頁 > 編程 > C > 正文

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

2020-01-26 13:35:15
字體:
來源:轉載
供稿:網友

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

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

效果圖如下所示:

這

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线观看精品| 亚洲天堂男人天堂| 国产精品久久久久久久久久免费| 性欧美办公室18xxxxhd| 亚洲色图综合网| 欧美激情精品久久久久| 久久久亚洲国产| 亚洲综合中文字幕在线观看| 91在线高清免费观看| 日韩精品在线电影| 亚洲精品www| 亚洲自拍小视频免费观看| 国产成人在线播放| 91丨九色丨国产在线| 亚洲国产美女精品久久久久∴| 欧美色道久久88综合亚洲精品| 精品国产福利在线| 国产精品你懂得| 九九热这里只有精品6| 亚洲欧美综合图区| 欧美在线视频免费观看| 欧美日韩在线观看视频| 91精品久久久久久久久不口人| 中文字幕在线日韩| 国产亚洲精品久久久优势| 精品一区二区三区三区| 色综合伊人色综合网| 久久在线免费视频| 久久久久久国产三级电影| 欧洲亚洲在线视频| 日韩黄色高清视频| 久久精品小视频| 欧美激情网友自拍| 国产精品欧美风情| 性亚洲最疯狂xxxx高清| 日韩成人av网| 久久久亚洲国产天美传媒修理工| 久久久久久久久久久亚洲| 国产日韩欧美黄色| 黄色成人在线免费| 5252色成人免费视频| 在线视频一区二区| 91精品国产色综合| 亚洲欧美日韩第一区| 国产精品极品美女粉嫩高清在线| 精品国产视频在线| 一区二区国产精品视频| 最近更新的2019中文字幕| 久久99久国产精品黄毛片入口| 亚洲第一精品电影| 欧美怡春院一区二区三区| 日韩中文字幕在线看| 欧美国产在线视频| 欧美美女18p| 亚洲精品一区久久久久久| 亚洲国产日韩一区| 超碰精品一区二区三区乱码| 亚洲色图35p| 九九热精品视频在线播放| 日韩在线欧美在线| 精品国产区一区二区三区在线观看| 91九色国产视频| 亚洲精品动漫100p| 免费97视频在线精品国自产拍| 亚洲少妇激情视频| 最新日韩中文字幕| 亚洲福利视频专区| 欧美黑人又粗大| 中文字幕日韩av电影| 欧美高清视频在线观看| 三级精品视频久久久久| 日韩亚洲一区二区| 欧美另类极品videosbestfree| 国产精品丝袜久久久久久不卡| 国产精品美女免费| 日本国产一区二区三区| 日韩成人高清在线| 91色精品视频在线| 最近中文字幕mv在线一区二区三区四区| 91av在线看| 国内揄拍国内精品| 超碰精品一区二区三区乱码| 亚洲人精品午夜在线观看| 久久久av一区| 国产精品尤物福利片在线观看| 日韩黄在线观看| 精品一区二区三区四区在线| 国产精品女主播| 亚洲大胆美女视频| 日韩精品中文字幕在线观看| 中国china体内裑精亚洲片| 亚洲品质视频自拍网| 欧美激情精品久久久久久大尺度| 热门国产精品亚洲第一区在线| 亚洲视频在线免费观看| 亚洲变态欧美另类捆绑| 亚洲嫩模很污视频| 日韩精品视频在线免费观看| 国产欧美韩国高清| 欧美怡春院一区二区三区| 久久91超碰青草是什么| 欧美黑人极品猛少妇色xxxxx| 久热精品视频在线观看| 91精品国产色综合久久不卡98| 亚洲国产精品字幕| 综合网中文字幕| 91久久久久久久一区二区| 欧美交受高潮1| 成人福利视频网| 国产在线精品一区免费香蕉| 国产精品日韩一区| 91久久精品国产91久久| 91最新国产视频| 欧美xxxx做受欧美.88| 中文字幕亚洲一区在线观看| 欧美精品18videos性欧| 国产成人亚洲综合| 欧美性黄网官网| 26uuu日韩精品一区二区| 国产成人一区二区| 国产精品久久久久久亚洲调教| 国产va免费精品高清在线观看| 韩国19禁主播vip福利视频| 久久精品中文字幕一区| 色先锋资源久久综合5566| 在线播放亚洲激情| 欧美精品电影免费在线观看| 亚洲3p在线观看| 最新国产精品拍自在线播放| 国产一区二区美女视频| 国产精品福利无圣光在线一区| 久久久久国产一区二区三区| 国产专区欧美专区| 黑人极品videos精品欧美裸| 国产视频精品一区二区三区| 久久久久久av| 久久手机精品视频| 中文字幕日韩有码| 亚洲精品久久久久久久久| 欧美性猛交丰臀xxxxx网站| 亚洲精品自拍第一页| 日韩av资源在线播放| 亚洲日本中文字幕免费在线不卡| 欧美高清视频在线观看| 九色精品免费永久在线| 两个人的视频www国产精品| 亚洲国内精品视频| 日韩理论片久久| 国产精品6699| 日韩欧美国产网站| 色无极影院亚洲| 欧美激情在线狂野欧美精品| 亚洲国产日韩欧美在线99| 日韩免费高清在线观看| 国产欧美精品一区二区| 欧美激情一区二区三区久久久| 91国偷自产一区二区三区的观看方式| 亚洲自拍偷拍色图| 日韩综合视频在线观看| 亚洲一区二区少妇| 911国产网站尤物在线观看| 欧美日本啪啪无遮挡网站| 91免费看国产| 最新的欧美黄色|