How can I eliminate the following error?

조회 수: 15 (최근 30일)
Adrian
Adrian 2014년 5월 7일
답변: Charitha Yampati 2017년 3월 24일
I am trying to read multiple images in order to generate a movie in Matlab. So, I use this code:
M = zeros(1,10);
for i = 1:10
images = sprintf('img%d.jpg',i);
ImageData = imread(images);
M(i) = im2frame(ImageData);
end
movie(M)
movie2avi(M,'sonar.avi','compression','None','fps',6,'quality',100)
But I get the following error:
"The following error occurred converting from struct to double:
Error using double
Conversion to double from struct is not possible.
Error in open83B_edited_2 (line 295)
M(i) = im2frame(ImageData);"
Could you please help me in seeing where is the error in my code? Thank you.

채택된 답변

Justin
Justin 2014년 5월 7일
The problem comes in when you are defining your M as an array of doubles before the loop. I would make sure there exists no M in the workspace or use
clear M
in place of the current M = zeros(1,10);.
The im2frame function passes a structure so M needs to be an array of structures and not doubles.

추가 답변 (3개)

Astha Ameta
Astha Ameta 2017년 1월 13일
편집: Stephen23 2017년 1월 13일
Below is the code snippet for svmtrain.m :
if plotflag
hSV = svmplotsvs(hAxis,hLines,groupString,svm_struct);
svm_struct.FigureHandles = {hAxis,hLines,hSV};
end
here, plotflag is false and following error occurs: The following error occurred converting from struct to double:
Error using double
Conversion to double from struct is not possible.
I tried to make plotflag=true but still same error occurs.
Please advise.
  댓글 수: 1
Stephen23
Stephen23 2017년 1월 13일
편집: Stephen23 2017년 1월 13일
@Astha Ameta: If plotflag is false then the code you have shown us does not get executed, and so cannot be the cause of this error. If you want help, you should show us the code where the error happens, not some different code.
Also please show us the complete error message. This means all of the red text.

댓글을 달려면 로그인하십시오.


Gourab Nandy
Gourab Nandy 2017년 3월 15일
How can I remove this error?
close all;
figure(1);
subplot(211);
plot(t,qd(:,1),'k',t,q(:,1),'r:','linewidth',2);
xlabel('time(s)');ylabel('Position tracking of link 1');
legend('Ideal position signal','Tracking position signal');
subplot(212);
plot(t,qd(:,2),'k',t,q(:,2),'r:','linewidth',2);
xlabel('time(s)');ylabel('Speed tracking of link 1');
legend('Ideal speed signal','Tracking speed signal');
??? Error using ==> plot
Conversion to double from struct is not possible.

Charitha Yampati
Charitha Yampati 2017년 3월 24일
How to eliminate the error while converting time series to double

카테고리

Help CenterFile Exchange에서 Convert Image Type에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by