Operator '+' is not supported for operands of type 'matlab.graphics.primitive.Image'
조회 수: 17 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Walter Roberson
2021년 8월 14일
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
Walter Roberson
2021년 8월 14일
It appears that image is intended to be a constant there, rather than a variable name.
tvec.append(array(tvec_json("image" + string(i))))
참고 항목
카테고리
Help Center 및 File Exchange에서 JSON Format에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!