Operator '+' is not supported for operands of type 'matlab.graphics.primitive.Image'
48 views (last 30 days)
Show older comments
I try to append image from tvec_json to 'tvec' array but I face this problem. Please anyone help. Here is my code below:
input_name = "output_wp2camera.json";
raw = fileread(input_name);
input_params = jsondecode(raw);
camera_matrix = input_params.camera_matrix;
dist = input_params.dist_coefs;
tvec_json = input_params.translational_vectors;
rvec_json = input_params.rotational_vectors;
tvec = [];
rvec = [];
len = length(tvec_json);
for i = 1:len
tvec.append(array(tvec_json(image + string(i))))
rvec.append(array(rvec_json(image + string(i))))
end
0 Comments
Answers (1)
Walter Roberson
on 14 Aug 2021
You did not assign a value to a variable named image, so image is being found as a function. Your line
tvec.append(array(tvec_json(image + string(i))))
is equivalent to
tvec.append(array(tvec_json(image() + string(i))))
We recommend that you avoid using image as the name of a variable to prevent running into this kind of problem.
4 Comments
Walter Roberson
on 14 Aug 2021
It appears that image is intended to be a constant there, rather than a variable name.
tvec.append(array(tvec_json("image" + string(i))))
See Also
Categories
Find more on JSON Format in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!