detectCheckerboardPoints

检测图像中的棋盘格图案

说明

[imagePointsboardSize]=检测点(一世检测二维真彩色或灰度图像中大小大于4×4正方形的黑白棋盘。函数返回检测到的棋盘格点和尺寸。

[imagePointsboardSize图像使用]=检测点(imageFileNames检测作为文件名数组提供的一组输入图像中的棋盘格图案。

[imagePointsboardSize图像使用]=检测点(图片检测一组输入图像中的棋盘格图案,该图像作为灰度或真彩色图像的数组提供。

[imagePointsboardSize成对]=检测点(imageFileNames1imageFileNames2检测立体图像对,作为文件名的单元阵列提供的棋盘图案。

[imagePointsboardSize成对]=检测点(图像1图像2检测立体图像对中的棋盘格图案,以灰度或真彩色图像阵列的形式提供。

[imagePointsboardSize成对]=检测点(___, 'MinCornerMetric',0.15)设置角度量阈值,指定为非负标量。当图像有噪声或高纹理时,增加该值可减少虚假角点的数量。

实例

全部折叠

创建校准图像的文件名的单元阵列。

对于I = 1:5映像文件名称=的sprintf('图像%d.tif', 一世);imageFileNames {I} =完整文件(matlabroot,'工具箱''视力'...'visiondata''校准''网络摄像头',图像文件名);结束

检测图像中的校准图案。

[imagePoints,boardSize,imagesUsed]=检测点(ImageFileName);

显示检测到的点。

imageFileNames = imageFileNames(imagesUsed);对于i=1:numel(imageFileNames)i=imread(imageFileNames{i});子块(2,2,i);imshow(i);保持;情节(imagePoints(:,1,i)中,imagePoints(:,2,i)中,'RO');结束

阅读立体图像。

numImages = 4;images1 =细胞(1,numImages);images2 =细胞(1,numImages);对于I = 1:numImages images1 {I} =完整文件(matlabroot,'工具箱''视力'...'visiondata''校准''立体声''左',短跑('左边%02d.png',i));图像2{i}=fullfile(matlabroot,'工具箱''视力'...'visiondata''校准''立体声''对',短跑('右侧%02d.png',一世));结束

检测图像中的棋盘格。

[图像点、板大小、成对使用]=...检测卡氏点(图像1、图像2);

从images1显示点。

images1 = images1(pairsUsed);数字;对于I = 1:numel(images1)I = imread(images1 {I});副区(2,2,i)的;imshow(I);保持;情节(imagePoints(:,1,I,1),imagePoints(:,2,I,1),'RO');结束注解('文本框',[0 0.9 1 0.1],'串'“摄像机1”...'EdgeColor''没有''水平对齐''中央'

从images2显示点。

images2 = images2(pairsUsed);数字;对于i=1:numel(images2)i=imread(images2{i});子块(2,2,i);imshow(i);保持;情节(imagePoints(:,1,I,2),imagePoints(:,2,I,2),'RO');结束注解('文本框',[0 0.9 1 0.1],'串'“摄像头2”...'EdgeColor''没有''水平对齐''中央'

输入参数

全部折叠

输入图像,在中号-由-ñ-by-3真彩或中号-由-ñ2-d灰度。输入图像必须是真实的和非稀疏。该函数可以检测棋盘具有4乘4个方格的最小尺寸。

数据类型:||国际16|UINT8|uint16标准|合乎逻辑

图像文件名,指定为ñ-元素单元格数组ñ文件名。

相机1图像的文件名,指定为ñ-元素单元格数组ñ文件名。此数组中包含的图像必须与imageFileNames2中,形成立体像对。

文件名摄像机2个图像,指定为ñ-元素单元格数组ñ文件名。此数组中包含的图像必须与imageFileNames1中,形成立体像对。

图像,指定为H-由-w ^-由--由-F包含一组灰度或真彩色图像的数组。输入尺寸为:

H表示图像高度。
w ^表示图像的宽度。
表示颜色通道。价值1表示灰度图像,和的值3表示真彩色图像。
F表示图像帧的数目。

图像,指定为H-由-w ^-由--由-F包含一组灰度或真彩色图像的数组。输入尺寸为:

H表示图像高度。
w ^表示图像的宽度。
表示颜色通道。价值1表示灰度图像,和的值3表示真彩色图像。
F表示图像帧的数目。

图像,指定为H-由-w ^-由--由-F包含一组灰度或真彩色图像的数组。输入尺寸为:

H表示图像高度。
w ^表示图像的宽度。
表示颜色通道。价值1表示灰度图像,和的值3表示真彩色图像。
F表示图像帧的数目。

输出参数

全部折叠

检测棋盘角坐标,返回一个中号-一个图像的by-2矩阵。对于多个图像,点作为中号-by-2逐图像数数组,对于立体图像对,函数返回点作为中号-by-2逐对的数量-由-摄像机数量阵列。

对于立体声对,imagePoints(:,:,:,1)是从所述第一组图像的点,并imagePoints(:,:,:,2)是从第二组的图像的点。输出包含中号[数Xÿ]坐标。每个坐标表示在棋盘上检测到直角的点。函数返回的点数取决于boardSize,表示检测到的方块数。该函数以亚像素精度检测点。

该函数计算点的数量,中号,如下所示:

中号=产品boardSize-1) 是的。

如果无法检测到棋盘格:
imagePoints=[]
boardSize=[0,0]

当您指定imageFileNames输入,函数可以返回imagePoints作为中号-by-2逐ñ阵列。在此阵列中ñ表示在其中检测到棋盘的图像的数量。

棋盘尺寸,返回作为2元件[高度宽度]矢量。棋盘的尺寸是用正方形的数量来表示的。

模式检测标志,返回一个ñ-by-1逻辑向量ñ逻辑值。因为有输入图像的函数输出相同数量的逻辑值的。一个真的值指示已在相应图像中检测到该图案。一个值表示函数未检测到模式。

立体声对图案检测标志,返回作为ñ-by-1逻辑向量ñ逻辑值。因为有输入图像的函数输出相同数量的逻辑值的。一个真的值表示在相应的立体图像对中检测到该图案。一个值表示该函数不检测的图案。

工具书类

[1]盖革,A.,F. Moosmann,O.汽车,和B.舒斯特。“自动摄像机和范围传感器校准使用单发射击,”国际会议机器人与自动化(ICRA),圣保罗,美国,2012年5月。

扩展功能

在R2014a中引入