主要内容

undistortImage

正确的图像镜头失真

描述

例子

J,newOrigin= undistortion timage (,cameraParams返回一个图像,J,包含输入图像,,去除了镜头畸变。该函数还返回[x,y]输出图像原点的位置。该位置是根据中指定的输入本构坐标来设置的cameraParams

J,newOrigin= undistortion timage (,cameraParams,插值函数指定函数在输入图像上使用的插值方法。

J,newOrigin= undistortion timage (___,名称,值指定一个或多个名称,值对参数,使用前面的任何语法。未指定的属性有其默认值。

例子

全部折叠

创建一组校准图像。

图片= imageDatastore(fullfile(toolboxdir(“愿景”),“visiondata”,...“校准”,“莫诺”));

检测校准模式。

[imagePoints,boardSize] = detectCheckerboardPoints(images.Files);

生成正方形角落的世界坐标。正方形的大小以毫米为单位。

squareSize = 29;worldPoints = generateCheckerboardPoints(boardSize,squareSize);

校准相机。

I = readimage(images,1);imageSize = [size(I,1),size(I,2)];cameraParams = estimatecamerparameters (imagePoints,worldPoints,...“图象尺寸”、图象尺寸);

去除镜头失真并显示结果。

I = images.readimage(1);J1 = undistortion timage (I,cameraParams);
图;imshowpair (I, j - 1,“蒙太奇”);标题(“原始图像(左)vs.修正图像(右)”);

图中包含一个轴对象。标题为Original Image(左)和Corrected Image(右)的坐标轴对象包含一个Image类型的对象。

J2 = undistortion timage (I,cameraParams,“OutputView”,“全部”);图;imshow (J2);标题(“完整输出视图”);

图中包含一个轴对象。标题为Full Output View的axes对象包含一个image类型的对象。

输入参数

全部折叠

输入图像,在任意一个中指定——- - - - - -N-by-3真彩色或——- - - - - -N二维灰度。输入图像必须是实数且非稀疏的。

数据类型:||int16|uint8|uint16|逻辑

相机参数,指定为cameraParameterscameraIntrinsics对象。您可以返回cameraParameters对象使用estimateCameraParameters函数。的cameraParameters对象包含相机的内在、外在和镜头畸变参数。

对输入图像使用的插值方法,指定为“线性”,“最近的”,或“立方”

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:“FillValues”,0将输出像素填充值设置为0

输出像素填充值,指定为包含一个或多个填充值的数组。当输入图像中对应的逆变换位置完全位于输入图像边界之外时,您将为输出像素使用填充值。使用2-D灰度输入图像时,必须设置FillValues标量。当你使用真彩色时,FillValues可以是RGB值的标量或3元素向量。

输出图像的大小,指定为“相同”,“全部”,或“有效”.当将属性设置为时“相同”,该函数将输出图像设置为匹配输入图像的大小。当将属性设置为时“全部”,输出包含输入图像的所有像素。当将属性设置为时“有效”,该函数将输出图像裁剪为只包含有效像素。

对于输入图像:

OutputView 输出图像
“相同”

匹配输入图像的大小。

“全部”

输入图像中的所有像素。

“有效”

只有来自输入图像的有效像素。

输出参数

全部折叠

未扭曲的图像,在任意一个中返回——- - - - - -N-by-3真彩色或——- - - - - -N二维灰度。

数据类型:||int16|uint8|uint16|逻辑

输出图像原点,作为2个元素[返回x,y)向量。该函数根据输入的固有坐标设置输出原点位置。当你设置OutputView“相同”,这意味着输出图像与输入图像大小相同,该函数设置newOrigin(0,0)

newOrigin输出表示从输出图像的固有坐标进行平移J输入图像的本征坐标

让P表示输入图像I的本征坐标中的一点。
让PJ表示输出图像J本征坐标中的同一点。

P= PJ+newOrigin

扩展功能

版本历史

在R2014a中引入

Baidu
map