91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenCV實現簡易標定板的方法

發布時間:2021-04-16 14:18:29 來源:億速云 閱讀:381 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關OpenCV實現簡易標定板的方法的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

本文實例為大家分享了OpenCV實現簡易標定板的具體代碼,供大家參考,具體內容如下

使用OpenCV生成標定板圖片,然后找高精度打印機進行打印,貼在硬板上,就可以得到一個簡易的標定板。

廢話不多說,代碼如下:

//編程環境:VS2013, X64,OpenCV3.0.0
#include <iostream>
#include <opencv2\core\core.hpp>
#include <opencv2\opencv.hpp>
 
using namespace std;
using namespace cv;
 
int main(){ 
        //單位轉換
 int dot_per_inch = 96;  //我的電腦是96DPI(dot per inch)
 double cm_to_inch = 0.3937; //1cm=0.3937inch
 double inch_to_cm = 2.54;   //1inch = 2.54cm
 double inch_per_dot = 1.0 / 96.0;
 
        //自定義標定板
 double blockSize_cm = 1.3; //方格尺寸:邊長1.3cm的正方形
        int blockNum = 8; //8*8個方格
 
 
 int blockSize = (int)(blockSize_cm /inch_to_cm *dot_per_inch);
 cout << blockSize << endl;
 
 int imageSize = blockSize * blockNum;
 cout << imageSize << endl;
 Mat chessBoard(imageSize, imageSize, CV_8UC3, Scalar::all(0));
 unsigned char color = 0;
 
 for (int i = 0; i < imageSize; i = i + blockSize){
  color = ~color;
  for (int j = 0; j < imageSize; j = j + blockSize){
   Mat ROI = chessBoard(Rect(i, j, blockSize, blockSize));
   ROI.setTo(Scalar::all(color));
   color = ~color;
  }
 }
 imshow("Chess board", chessBoard);
        imwrite("C:\\Users\\ComputerName\\Pictures\\chessBoard.jpg",chessBoard);
 cvWaitKey(3000);
        return 0;
}

OpenCV實現簡易標定板的方法

聲明:代碼紅色部分是標定板生成的主要代碼,參考的 是別人的,具體出處找不到了。單位換算是我后來添加的,方便大家根據鏡頭視場生成合理的標定板。

感謝各位的閱讀!關于“OpenCV實現簡易標定板的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

锡林郭勒盟| 凉山| 乐亭县| 屯昌县| 亚东县| 边坝县| 偃师市| 凉山| 淮阳县| 穆棱市| 静海县| 武隆县| 阜康市| 马鞍山市| 陕西省| 丹阳市| 高唐县| 浏阳市| 渝北区| 石渠县| 南开区| 北京市| 新巴尔虎右旗| 开平市| 天峻县| 称多县| 外汇| 中西区| 江永县| 灌阳县| 日照市| 德钦县| 荣昌县| 武乡县| 水城县| 南城县| 苗栗市| 荆门市| 黄骅市| 汝城县| 沅陵县|