日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV亚像素角点检测

發布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV亚像素角点检测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

我在做圍棋盤的的四個角點檢測時,試了幾種角點檢測,用來得到棋盤四個角的初始點,試了幾種角點檢測的方法,但在我所使用的環境下,亞像素的角點檢測得到的結果比較理想。

代碼

//亞像素角點檢測 void cornerDetectorPixel(Mat &src, Mat &dst) {Mat src_img, gray;//讀取圖像src_img = src.clone();//把原圖像轉換成灰度圖cvtColor(src_img, gray, COLOR_BGR2GRAY);vector<Point2f> corners;dst = src_img.clone();//進行角點檢測goodFeaturesToTrack(gray, corners, 4, 0.01, 10, Mat(), 3, false, 0.04);//輸出檢測到的角點的數量cout << "輸出檢測到的角點的數量: " << corners.size() << endl;//參數設置Size winSize = Size(5, 5);Size zeroZone = Size(-1, -1);TermCriteria criteria = TermCriteria(TermCriteria::EPS + TermCriteria::MAX_ITER, 40, 0.001);//計算亞像素級角點位置cornerSubPix(gray, corners, winSize, zeroZone, criteria);//輸出精準角點坐標信息for (int i = 0; i < corners.size(); i++){cout << "[" << i << "]" << "號角點坐標:" << "(" << corners[i].x << ", " << corners[i].y << ")" << endl;}//繪制出被檢測的角點for (size_t i = 0; i < corners.size(); i++){circle(dst, corners[i], 6, Scalar(0, 0, 255), -2, 8, 0);}imshow("dst", dst); }

運行結果:

還是有角點沒有檢測到,要使用可以自己試著優化下參數。

總結

以上是生活随笔為你收集整理的OpenCV亚像素角点检测的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。