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?
cameraIntrinsics expects 'abcd' to be type double, single.
조회 수: 2 (최근 30일)
이전 댓글 표시
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?
댓글 수: 0
채택된 답변
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 MATLAB Support Package for USB Webcams에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!