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

声明:代码红色部分是标定板生成的主要代码,参考的 是别人的,具体出处找不到了。单位换算是我后来添加的,方便大家根据镜头视场生成合理的标定板。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • OpenCV实现相机标定板

    本文实例为大家分享了OpenCV实现相机标定板的具体代码,供大家参考,具体内容如下 1.代码实现 #include <opencv.hpp> #include "highgui.h" #include "cxcore.h" using namespace cv; int main0(int argc, char *argv[]) { int width = 140;//width and heigth of single square int heigh

  • OpenCV实现简易标定板

    本文实例为大家分享了OpenCV实现简易标定板的具体代码,供大家参考,具体内容如下 使用OpenCV生成标定板图片,然后找高精度打印机进行打印,贴在硬板上,就可以得到一个简易的标定板. 废话不多说,代码如下: //编程环境:VS2013, X64,OpenCV3.0.0 #include <iostream> #include <opencv2\core\core.hpp> #include <opencv2\opencv.hpp> using namespace st

  • Python+OpenCV实现寻找到圆点标定板的角点

    图像大小按原图计算 dis_mm是标定板上的实际距离,要根据真实情况计算. 示例代码 # coding:utf-8 import math import cv2 import numpy as np import xml.etree.ElementTree as ET import matplotlib.pyplot as plt global DPI DPI = 0.00245 def mainFigure(img): w = 20 h = 5 params = cv2.SimpleBlobD

  • OpenCV实现相机标定示例详解

    目录 环境准备 相机标定 棋盘格图片 实时显示相机的画面 在线标定 实时显示相机画面,按键保存能检测到角点的 棋盘格图片 离线标定 畸变矫正 环境准备 vs2015+opencv4.10安装与配置 相机标定 棋盘格图片 可以自己生成,然后打印到A4纸上.(也可以去TB买一块,平价买亚克力板的,不反光买氧化铝材质,高精度买陶瓷的) /** * 生成棋盘格图片 **/ int generateCalibrationPicture() { //Mat frame = imread("3A4.bmp&q

  • C#调用OpenCV开发简易版美图工具【推荐】

    前言 在C#调用OpenCV其实非常简单,因为C#中有很多OPenCV的开源类库. 本文主要介绍在WPF项目中使用OpenCVSharp3-AnyCPU开源类库处理图片,下面我们先来做开发前的准备工作. 准备工作 首先,我们先创建一个WPF项目. 然后,在Nuget上搜索OpenCVSharp,如下图: 接着,我们选择OpenCVSharp3-AnyCPU选项进行安装 . 安装了OpenCVSharp3-AnyCPU后,我们的项目会自动引入4个类库,如下图: 到这里,我们的准备工作就完成了,非常

  • Django开发的简易留言板案例详解

    本文实例讲述了Django开发的简易留言板.分享给大家供大家参考,具体如下: Django在线留言板小练习 环境 ubuntu16.04 + python3 + django1.11 1.创建项目 django-admin.py startproject message 进入项目message 2.创建APP python manager.py startapp guestbook 项目结构 . ├── guestbook │   ├── admin.py │   ├── apps.py │  

  • JS实现简易留言板增删功能

    本文实例为大家分享了JS实现留言板增删功能的具体代码,供大家参考,具体内容如下 ## **JS实现简易留言板的增删功能** 一个很简单的留言板,实现**增删**功能,因为没有数据库,所以只是一个静态的留言板功能. **修改**功能其实也可以添加,但是我现在技术不够,等以后可能会添加**修改**功能. 代码很简单,注释很清楚.``` <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu

  • JS实现简易留言板(节点操作)

    本文实例为大家分享了JS实现简易留言板的具体代码,供大家参考,具体内容如下 今天的案例主要是对节点进行操作 创建节点.添加节点.删除节点以及为节点添加内容的操作. 就是一个简单的留言板功能,可以发布留言,删除留言. 主要思路:两个鼠标点击事件--点击发布按钮事件和点击删除按钮事件 发布按钮事件:首先在文档中创建li节点.然后第二步,先把文本域中的内容获取出来赋给li,这里要注意,文本域是表单元素,获取表单元素的内容是使用表单的特有属性value,要与普通元素获取内容的innerHTML进行区分:

  • Opencv+Python识别PCB板图片的步骤

    任务要求: 基于模板匹配算法识别PCB板型号 使用工具: Python3.OpenCV 使用模板匹配算法,模板匹配是一种最原始.最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,模板匹配具有自身的局限性,主要表现在它只能进行平行移动,即原图像中的匹配目标不能发生旋转或大小变化. 事先准备好待检测PCB与其对应的模板: 子模版: 基本流程如下: 1.在整个图像区域发现与给定子图像匹配的小块区域 2.选取模板图像T(给定的子图像) 3.另外需要一个待检测的图像--源图

  • opencv python简易文档之图像处理算法

    目录 将图片转为灰度图 HSV 图像阈值 图像平滑 形态学-腐蚀操作 形态学-膨胀操作 开运算与闭运算 梯度运算 礼帽与黑帽 图像梯度处理 Canny边缘检测 图像金字塔 图像轮廓 直方图 直方图均衡化: 自适应均衡化: 傅里叶变换 模板匹配 总结 上一篇已经给大家介绍了opencv python图片基本操作的相关内容,这里继续介绍图像处理算法,下面来一起看看吧 将图片转为灰度图 import cv2 #opencv读取的格式是BGR img=cv2.imread('cat.jpg') # 将图

随机推荐