欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

opencv實現棋盤格檢測

 更新時間:2022年08月01日 14:19:46   作者:老王隔壁的禿頭大寶貝  
這篇文章主要為大家詳細介紹了opencv實現棋盤格檢測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了opencv實現棋盤格檢測的具體代碼,供大家參考,具體內容如下

代碼:

#include <iostream>
#include <vector>
#include <opencv2/opencv.hpp> ?
#include <opencv2/xfeatures2d.hpp>
#include <opencv2/optflow/motempl.hpp>
using namespace cv; ?
using namespace std;
/*
棋盤格角點檢測應用
*/
?
int main()
{
?? ?//*********************************** ?1 ?****************************************************************
?? ?/*Mat img = imread("C:\\Users\\H\\Desktop\\13.png", IMREAD_GRAYSCALE);
?? ?vector<Point2f> corner;
?? ?bool result = findChessboardCorners(img, Size(5, 7), corner, CALIB_CB_ADAPTIVE_THRESH | CALIB_CB_NORMALIZE_IMAGE);
?? ?cornerSubPix(img, corner, Size(11, 11), Size(-1, -1), TermCriteria(TermCriteria::EPS | TermCriteria::MAX_ITER, 20, 0.03));
?? ?drawChessboardCorners(img, Size(5, 7), corner, result);
?? ?imshow("src", img);*/
?? ?//**********************************************************************************************************
?
?
?? ?// ********************************** ?2 ?**************************************************
?? ?//讀入圖像
?? ?Mat src = imread("C:\\Users\\H\\Desktop\\13.png", IMREAD_COLOR);
?? ?Mat image_gray;
?? ?cvtColor(src, image_gray, COLOR_BGR2GRAY);
?? ?//定義存儲角點的容器
?? ?vector<Point2f> corners;
?? ?//進行角點檢測
?? ?bool ret = findChessboardCorners(image_gray,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?Size(5, 7), // 棋盤格每列點數和每一行點數
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?corners, ? ?// 輸出檢測到角點的數組
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?CALIB_CB_ADAPTIVE_THRESH |
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?CALIB_CB_NORMALIZE_IMAGE);
?
?? ?//指定亞像素計算迭代標注
?? ?TermCriteria criteria = TermCriteria(TermCriteria::MAX_ITER + TermCriteria::EPS,
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?40, ? // 要計算的最大迭代次數或元素數
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?0.1); // 迭代算法停止時所需的精度或參數變化
?? ?//亞像素檢測
?? ?cornerSubPix(image_gray,?
?? ??? ??? ??? ??? ?corners,?
?? ??? ??? ??? ??? ?Size(5, 5), //搜索窗口大小
?? ??? ??? ??? ??? ?Size(-1, -1),?
?? ??? ??? ??? ??? ?criteria);
?? ?//角點繪制
?? ?drawChessboardCorners(src,
?? ??? ??? ??? ??? ??? ??? ?Size(5, 7), //棋盤格每列點數和每一行點數
?? ??? ??? ??? ??? ??? ??? ?corners,?
?? ??? ??? ??? ??? ??? ??? ?ret);
?? ?cout << "corner: " << corners << endl;
?
?? ?//在原圖中繪制點
?? ?Point pt;
?? ?pt.x = corners[9].x;
?? ?pt.y = corners[9].y;
?? ?circle(src, pt, 4, Scalar(0, 255, 0),-1);
?
?? ?imshow("chessboard corners", src);
?? ?// ****************************************************************************************
?
?? ?waitKey(0);
?
?? ?return 0;
}

結果展示:

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

相關文章

  • C語言中結構體struct編寫的一些要點解析

    C語言中結構體struct編寫的一些要點解析

    這篇文章主要介紹了C語言中結構體struct編寫的一些要點解析,談到了結構體的聲明和指針指向等重要知識點,需要的朋友可以參考下
    2016-04-04
  • 十個C++惡搞朋友的代碼合集

    十個C++惡搞朋友的代碼合集

    這篇文章主要為大家整理了十個C++中可以惡搞朋友的代碼合集(注意!從第五個開始為危險/永久性程序,請慎重使用),感興趣的小伙伴可以收藏一下
    2023-02-02
  • VC++實現輸出GIF到窗體并顯示GIF動畫的方法

    VC++實現輸出GIF到窗體并顯示GIF動畫的方法

    這篇文章主要介紹了VC++實現輸出GIF到窗體并顯示GIF動畫的方法,需要的朋友可以參考下
    2014-07-07
  • 詳解C++中二進制求補運算符與下標運算符的用法

    詳解C++中二進制求補運算符與下標運算符的用法

    這篇文章主要介紹了C++中二進制求補運算符與下標運算符的用法,是C++入門學習中的基礎知識,需要的朋友可以參考下
    2016-01-01
  • QT5中使用SQLite的實現方法

    QT5中使用SQLite的實現方法

    SQLite是一款開源輕量級的數據庫軟件,本文主要介紹了QT5中使用SQLite的實現方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C語言文件操作的入門詳解教程

    C語言文件操作的入門詳解教程

    這篇文章主要給大家介紹了關于C語言文件操作的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • 淺談C++有理數的表達和計算

    淺談C++有理數的表達和計算

    這篇文章主要為大家詳細介紹了C++有理數的表達和計算,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 詳解C++中常用的四種類型轉換方式

    詳解C++中常用的四種類型轉換方式

    這篇文章主要為大家詳細介紹了C++中常用的四種類型轉換方式:static_cast<Type>、dynamic_cast<Type>、const_case<Type>和reinterpret_cast,感興趣的可以了解一下
    2022-08-08
  • C++并查集親戚(Relations)算法實例

    C++并查集親戚(Relations)算法實例

    這篇文章主要介紹了C++并查集親戚(Relations)算法,實例分析了并查集親戚算法的原理與實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • 數據結構之數組翻轉的實現方法

    數據結構之數組翻轉的實現方法

    這篇文章主要介紹了數據結構之數組翻轉的實現方法的相關資料,這里用幾種實現方法來實現這樣的功能,需要的朋友可以參考下
    2017-10-10

最新評論