cameraIntrinsics expects 'abcd' to be type double, single.

1 visualización (últimos 30 días)
I need to specify camera Intrinsics.
For this i wrote:
KameraInnereien=cameraIntrinsics('focalLength',[0 0] ,'ImageSize',[1440 2560],'PrincipalPoint',[720 1280]);
When executing i get the Error:
Error using cameraIntrinsics
Expected abcd to be one of these types:
double, single
Error in vision.internal.cameraIntrinsicsImpl>parseInputsSimulation (line 223)
validateattributes(focalLength, {'double', 'single'}, ...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error in vision.internal.cameraIntrinsicsImpl>parseInputs (line 213)
r = parseInputsSimulation(defaultParams,varargin{:});
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error in vision.internal.cameraIntrinsicsImpl (line 82)
r = parseInputs(varargin{:});
^^^^^^^^^^^^^^^^^^^^^^^^
Error in cameraIntrinsics (line 17)
this = this@vision.internal.cameraIntrinsicsImpl(varargin{:});
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error in CV (line 134)
KameraInnereien=cameraIntrinsics('abcd',1 ,'focalLength',[0 0] ,'ImageSize',[1440 2560],'PrincipalPoint',[720 1280]); %'focalLength',[0 0] ,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Looking into the function that throws the Error shows the variable 'abcd', (which is kinda weird it looks like a Placeholder):
function r = parseInputsSimulation(defaultParams,varargin)
parser = inputParser;
focalLength = varargin{1};
validateattributes(focalLength, {'double', 'single'}, ...
{'vector','real', 'nonsparse', 'finite', 'positive'}, ...
'cameraIntrinsics', 'abcd');
filename = 'cameraIntrinsics';
parser.addRequired('focalLength', @(f)vision.internal.inputValidation.validateFocalLength(f,filename));
parser.addRequired('principalPoint', @(p)vision.internal.inputValidation.validatePrincipalPoint(p,filename));
parser.addRequired('imageSize', @(sz)vision.internal.inputValidation.validateImageSize(sz,filename));
parser.addParameter('RadialDistortion', defaultParams.RadialDistortion, ...
@vision.internal.calibration.CameraParametersImpl.checkRadialDistortion);
parser.addParameter('TangentialDistortion', defaultParams.TangentialDistortion,...
@vision.internal.calibration.CameraParametersImpl.checkTangentialDistortion);
parser.addParameter('Skew', defaultParams.Skew, @cameraIntrinsics.checkSkew);
% Parse and check optional parameters
parser.parse(varargin{:});
r = parser.Results;
end
What shall i do to avoid it, i tried declaring abcd when calling cameraIntrinsics, but obviously that did not work.
KameraInnereien=cameraIntrinsics('abcd',1 ,'focalLength',[0 0] ,'ImageSize',[1440 2560],'PrincipalPoint',[720 1280]);
Doing it with string Names " " instead of char ' ' does obviously not change the outcome.
Is abcd a Placeholder that is not implemented right or is the error on my part?

Respuesta aceptada

Alexander Szambor
Alexander Szambor el 20 de En. de 2025
Ah my Error was that the Focal Length is not Positive, you can not use 0, 0 which is hindering, what if i want to use a virtual image/ a pinhole camera, so without distortion?

Más respuestas (0)

Categorías

Más información sobre MATLAB Support Package for USB Webcams en Help Center y File Exchange.

Productos


Versión

R2024b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by