前言

本文主要利用Matlab中的rectangle函数,绘制圆点标定板。主要描述如何理解和设计圆点的大小、数量,如何建立标定板的原点坐标系、使得标定板正中央在原点上。


正文

建立圆点参数

如何使用MATLAB画出一个个实心圆点?这里使用到的函数是retangle( )
在MATLAB上,对于 retangle() 函数的句法如下。

rectangle(‘Position’,pos)
rectangle(‘Position’,pos,‘Curvature’,cur)
rectangle(___,Name,Value)
rectangle(ax,___)
r = rectangle(___)
可通过help rectangle或doc rectangle来获得对于rectangle的详细说明。

在本文中,主要使用到的句法是rectangle(‘Position’,pos,‘Curvature’,cur)

对该函数的详细解释

% pos = [x y w h],它是一个四维的,一行四列的行向量
% x、y元素表示的是该圆的平面位置
% w、h元素表示的是该圆的宽度和高度

注意!!!
在rectangle函数中,对于pos中的[x,y]元素表达的是,以该矩形的左下角为原点,不是以矩形的平面中心点为原点。

% cur = [horizontal vertical]
% cur为双精度类型的标量,范围[0 1]内的双精度类型的1x2矢量
% 由于我们建立的是圆点标定板,因此cur=[1,1],若方形则为[0,0]

对于曲率的解释
如何简明地解释曲率(curvature)?.

由于我们要画的是黑色的圆点标定板,因此需要在该函数后面对该圆进行格式化,即,边缘颜色edgecolor 和 表面颜色facecolor

因此对于圆点标定板的主体就定下来了,MATLAB代码结构如下:

rectangle('Position',D{i,j},'Curvature',[1,1],...'edgecolor',[0,0,0],'facecolor',[0,0,0])
%其中[0,0,0]代表RGB为0,0,0的黑色
%需要什么颜色直接去查该颜色的RGB
%边缘颜色和表面颜色都设为RGB为0,0,0的黑色,因此该圆为黑色的实心圆

接下来解释D{i,j},先给出代码片D{i,j} = [X Y d/2 d/2];
X 表示圆的x轴坐标
Y 表示圆的y轴坐标
由于我们画的是圆,因此该圆的宽度和高度都为半径,即d/2

建立坐标系

建立圆点标定版主要完成以下三点

  1. 建立圆点标定板圆点的大小:设圆点的直径为2.5mm
  2. 设圆点标定板各圆点的间距:设间距为5mm
  3. 建立圆点标定板圆点的数量:设圆点有11行11列,共121个圆点。
  4. 建立圆点标定板的原点坐标:设圆点标定板的正中心为坐标原点。

以下给出标定板各点的分布和参数

设直径为d,行列为n,间隙为s,则
d = 2.5;
n = 21;
s = 5

设初始圆的x坐标为x0,y坐标为y0,在此先将x0,y0都设为0,则:
x0 = 0;
y0 = 0;

由于各圆点间有5mm的间隙,为了直观地看出各坐标系是如何分步的,因此将分布的各圆点坐标给出:

for i = 1:nx(i) = x0 + s*(i-1);y(i) = y0 + s*(i-1);
end

该[ x(i),y(i) ]坐标表示的是各圆点的坐标

下面开始画标定板

figure(1)
for i = 1:nX = x(i);for j = 1:nY = y(j);D{i,j} = [X Y d/2 d/2];% 使用rectangle来画实心圆rectangle('Position',D{i,j},'Curvature',[1,1],...'edgecolor',[0,0,0],'facecolor',[0,0,0])hold onend
end

呈现的效果如下:

由于需要将标定板中心设为坐标原点,因此需要平移一段距离,经过计算后,得出起始坐标设为
x0 = -(n-1)*d-d/4;
y0 = -(n-1)*d-d/4;

呈现的效果如下:

代码如下:

clear
clc
close all
warning off
% 画圆点标定板,以标定板中心为原点
d = 2.5;
n = 21;
s = 5;
x0 = -(n-1)*d-d/4;%
y0 = -(n-1)*d-d/4;%
for i = 1:nx(i) = x0 + s*(i-1);y(i) = y0 + s*(i-1);
end
figure(1)
for i = 1:nX = x(i);for j = 1:nY = y(j);D{i,j} = [X Y d/2 d/2];% 使用rectangle来画实心圆rectangle('Position',D{i,j},'Curvature',[1,1],...'edgecolor',[0,0,0],'facecolor',[0,0,0])hold onend
endgrid on %加网格
xlabel('x轴')
ylabel('y轴')
axis equal

提供压缩包链接:绘制圆点标定板.


参考资料

MATLAB rectangle函数.

Matlab中rectangle函数使用.

MATLAB 绘制圆点标定板相关推荐

  1. matlab创建圆点标定板,Halcon标定板,网格标定板,机器视觉圆点标定板

    本产品介绍: 产品名称 产品型号 外形尺寸 (mm) 图形精度 (μm) 机器视觉 标定板 HBM03-2010-3Y 122*67*3 1 应用领域 宏诚光学玻璃系列标定板和陶瓷系列标定板是专为高校 ...

  2. matlab创建圆点标定板,Halcon学习(十八)如何制作标定板

    下面我具体介绍一下,如何制作halcon的标准标定板 方法一:用halcon软件自动生成的.ps文件来制作标定板. 这个也是最简单有效的方法. XNum 每行黑色标志圆点的数量. YNum 每列黑色标 ...

  3. matlab创建圆点标定板,(halcon实例)一种蜂窝圆点标定板校准CCD并测量的例子

    这个不是hlacon的标准标定板. 勇哥想知道这个+-0.009mm是怎么整出来了.这个例子值得研究一下. ImgPath := '3d_machine_vision/calib/' dev_clos ...

  4. 圆点标定板的标志点提取、标定实验总结

    〇.环境 OpenCV 3.4+https://opencv.org/releases/ Matlab 带有Matlab calib toolbox:http://www.vision.caltech ...

  5. 圆形标定板_机器视觉学习笔记(2)--如何检测圆点标定板

    摄像机标定常用的标定板除了棋盘格,还有圆点标定板,圆点标定板如图1所示. 图1:圆点标定板 众所周知的是,OpenCV和Matlab没有现成的圆点标定板的检测算法,只有Halcon有该检测算子,遗憾的 ...

  6. halcon 圆点标定板相关算法说明及使用方法

    很多文章都介绍过这个创建标定板的算子,这里做个补充,说明一下注意事项以及细节. Halcon标定板生成算子: gen_caltab( : :XNum,YNum,MarkDist,DiameterRat ...

  7. matlab生成棋盘标定板,勇哥的视觉实验:棋盘格标定板标定

    勇哥手里这块标定板的参数如下: (一)使用GML Camera Calibration进行标定 新建任务后,发现这个软件不让行列数量相同. 必须行列一个为奇数一个就为偶数. 由于勇哥手里的标定板就是9 ...

  8. Halcon——使用标定板标定像素当量

    使用标定板标定像素当量 1. 了解标定板的参数 2. 确定标定的方法 3. Halcon代码示例 1. 了解标定板的参数 拿到一块标定板,我们应该如何使用它,或者说该如何了解它的相关参数呢?如果你使用 ...

  9. Opencv 圆形标定板相机标定

    首先,需要拍摄一定数量的标定图,尽量从各个角度拍摄,尽可能遍布相机图像画面的所有角落,所用标定板为圆点标定板,我拍摄的图片数量是17幅,分别命名为"image1"到"im ...

最新文章

  1. 获取ServerManager
  2. TCP/IP总结(4)TCP 之最大消息长度
  3. codeforces1454 F. Array Partition
  4. fastapi PUT更新数据 / PATCH部分更新
  5. 如何去掉DataTable中的重复行(新增.net 2.0中最新解决方法---简便)
  6. VMware配置额外内存设置
  7. jsp文件放在WebRoot下还是WebInfo下
  8. pop3 c语言,VisualC#编写实现POP3的程序
  9. Adobe CS3 Keygens
  10. 中国大学MOOC电影鉴赏题库(含答案)
  11. 带你了解Hook技术
  12. 台式电脑怎么组装步骤_台式机组装教程,详细教您台式机怎么组装
  13. 关于a标签 中特有的tilte属性 和 字符串文字换行
  14. 小福利,杨格(Young)不等式验证之用python里面的matplotlib和numpy模块画图
  15. 五分钟看懂vue路由守卫
  16. 英语不规则动词变化时态变化表
  17. Photoshop 2023 支持 M1 Mac下载
  18. Android主线程耗时方法监控
  19. Imagination 推出最先进的光线追踪图形处理器(GPU)
  20. 公式图片转latex神器Mathpix以及latex公式与word公式的相互转换

热门文章

  1. Andriod 显式启动、隐式启动练习简析
  2. 《统计学》黄良文—思维导图
  3. java实现简单数独游戏
  4. C# EF框架基础(非MVC)使用笔记
  5. 计算机在小学学科中的应用,计算机在小学教学中的应用.pdf
  6. 日IP100如何月赚2000,半分不假
  7. linux解压命令rar,Linux下压缩与解压命令详解
  8. 如何更改电脑的IP地址
  9. Carsim+MATLAB/Simulink多版本联合仿真设置matlab版本的问题
  10. 有关于Mem函数的实用总结