MATLAB 绘制圆点标定板
前言
本文主要利用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
建立坐标系
建立圆点标定版主要完成以下三点
- 建立圆点标定板圆点的大小:设圆点的直径为2.5mm。
- 设圆点标定板各圆点的间距:设间距为5mm。
- 建立圆点标定板圆点的数量:设圆点有11行11列,共121个圆点。
- 建立圆点标定板的原点坐标:设圆点标定板的正中心为坐标原点。
以下给出标定板各点的分布和参数
设直径为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 绘制圆点标定板相关推荐
- matlab创建圆点标定板,Halcon标定板,网格标定板,机器视觉圆点标定板
本产品介绍: 产品名称 产品型号 外形尺寸 (mm) 图形精度 (μm) 机器视觉 标定板 HBM03-2010-3Y 122*67*3 1 应用领域 宏诚光学玻璃系列标定板和陶瓷系列标定板是专为高校 ...
- matlab创建圆点标定板,Halcon学习(十八)如何制作标定板
下面我具体介绍一下,如何制作halcon的标准标定板 方法一:用halcon软件自动生成的.ps文件来制作标定板. 这个也是最简单有效的方法. XNum 每行黑色标志圆点的数量. YNum 每列黑色标 ...
- matlab创建圆点标定板,(halcon实例)一种蜂窝圆点标定板校准CCD并测量的例子
这个不是hlacon的标准标定板. 勇哥想知道这个+-0.009mm是怎么整出来了.这个例子值得研究一下. ImgPath := '3d_machine_vision/calib/' dev_clos ...
- 圆点标定板的标志点提取、标定实验总结
〇.环境 OpenCV 3.4+https://opencv.org/releases/ Matlab 带有Matlab calib toolbox:http://www.vision.caltech ...
- 圆形标定板_机器视觉学习笔记(2)--如何检测圆点标定板
摄像机标定常用的标定板除了棋盘格,还有圆点标定板,圆点标定板如图1所示. 图1:圆点标定板 众所周知的是,OpenCV和Matlab没有现成的圆点标定板的检测算法,只有Halcon有该检测算子,遗憾的 ...
- halcon 圆点标定板相关算法说明及使用方法
很多文章都介绍过这个创建标定板的算子,这里做个补充,说明一下注意事项以及细节. Halcon标定板生成算子: gen_caltab( : :XNum,YNum,MarkDist,DiameterRat ...
- matlab生成棋盘标定板,勇哥的视觉实验:棋盘格标定板标定
勇哥手里这块标定板的参数如下: (一)使用GML Camera Calibration进行标定 新建任务后,发现这个软件不让行列数量相同. 必须行列一个为奇数一个就为偶数. 由于勇哥手里的标定板就是9 ...
- Halcon——使用标定板标定像素当量
使用标定板标定像素当量 1. 了解标定板的参数 2. 确定标定的方法 3. Halcon代码示例 1. 了解标定板的参数 拿到一块标定板,我们应该如何使用它,或者说该如何了解它的相关参数呢?如果你使用 ...
- Opencv 圆形标定板相机标定
首先,需要拍摄一定数量的标定图,尽量从各个角度拍摄,尽可能遍布相机图像画面的所有角落,所用标定板为圆点标定板,我拍摄的图片数量是17幅,分别命名为"image1"到"im ...
最新文章
- 获取ServerManager
- TCP/IP总结(4)TCP 之最大消息长度
- codeforces1454 F. Array Partition
- fastapi PUT更新数据 / PATCH部分更新
- 如何去掉DataTable中的重复行(新增.net 2.0中最新解决方法---简便)
- VMware配置额外内存设置
- jsp文件放在WebRoot下还是WebInfo下
- pop3 c语言,VisualC#编写实现POP3的程序
- Adobe CS3 Keygens
- 中国大学MOOC电影鉴赏题库(含答案)
- 带你了解Hook技术
- 台式电脑怎么组装步骤_台式机组装教程,详细教您台式机怎么组装
- 关于a标签 中特有的tilte属性 和 字符串文字换行
- 小福利,杨格(Young)不等式验证之用python里面的matplotlib和numpy模块画图
- 五分钟看懂vue路由守卫
- 英语不规则动词变化时态变化表
- Photoshop 2023 支持 M1 Mac下载
- Android主线程耗时方法监控
- Imagination 推出最先进的光线追踪图形处理器(GPU)
- 公式图片转latex神器Mathpix以及latex公式与word公式的相互转换