The Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: more non-singleton rhs dimensions than non-singleton?
Replies: 9   Last Post: Jul 1, 2013 2:18 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Jimmy

Posts: 39
Registered: 9/17/09
Re: more non-singleton rhs dimensions than non-singleton?
Posted: Mar 7, 2010 8:48 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

>> Ok I did that, it says that error is in:
sequence(:,:,:,p) = imread(fullfile(fileFolder,fileNames{p}));

I checked a) and b) and it's :
a) size(sequence(:,:,:,p)) - 220 220 99
b) size(imread(fullfile(fileFolder,fileNames{p}))) - 220 220 3

Not too sure what's the problem

"Sadik " <sadik.hava@gmail.com> wrote in message <hn1k4h$l8b$1@fred.mathworks.com>...
> You can easily solve the problem this way:
>
> 1. Please check if you have modified the following for loop:
>
> for j=1:size(sequence,3)
> ....
>
> Here, it must be j = 1:size(sequence,4)
>
> 2. In the Command Window, type
>
> dbstop if error
>
> This will stop right at the line of error. There, you will have the chance to check the dimensions of both sides. Once it gives the error and stops, you will see the following in the command window:
>
> K>>
>
> This is where you can go ahead and use keyboard input. Once you get to this point, please check the following two:
>
> a) size(sequence(:,:,:,p))
> b) size(imread(fullfile(fileFolder,fileNames{p})))
>
> This should give you lots of insight as to what is causing the error.
>
> Best.
>
>
> "Jimmy " <testbest1@yahoo.com> wrote in message <hn1jhp$f4i$1@fred.mathworks.com>...

> > > Yeh, I tried it without brackets but still same error. May be I need to change something else in the code as well?
> >
> > Thanks
> >
> > "Sadik " <sadik.hava@gmail.com> wrote in message <hn1it6$5qi$1@fred.mathworks.com>...

> > > Oh, I put the square brackets for explanation only, as in:
> > >
> > > ... apple [which is a delicious fruit] ...
> > >
> > > Sorry for the confusion.
> > >
> > > Best.
> > >
> > >
> > >
> > > "Jimmy " <testbest1@yahoo.com> wrote in message <hn1inh$oes$1@fred.mathworks.com>...

> > > > "Sadik " <sadik.hava@gmail.com> wrote in message <hn1hno$nda$1@fred.mathworks.com>...
> > > > > Please check the dimensions of I by typing
> > > > >
> > > > > size(I) %without a semicolon or any other input, just size(I)
> > > > >
> > > > > If it is an rgb image that you are reading, it will have 3 dimensions. I think this is why you are getting that error. If you are working with such images, it is a good idea to have a 4D variable [sequence(:,:,:,p)] rather than a 3D one.
> > > > >
> > > > > Best.
> > > > >
> > > > > "Jimmy " <testbest1@yahoo.com> wrote in message <hn1feh$18f$1@fred.mathworks.com>...

> > > > > > Hi all,
> > > > > >
> > > > > > I am trying to compile a video from a sequence of images but I am getting the following error: Assignment has more non-singleton rhs dimensions than non-singleton
> > > > > > subscripts. The code is:
> > > > > >
> > > > > > fileFolder = fullfile('C:\Users\Dimitar\Documents\MATLAB\Plot');
> > > > > > path=fullfile(fileFolder,'data*.tif');
> > > > > > dirOutput = dir(path);
> > > > > > fileNames ={dirOutput.name};
> > > > > > numFrames = numel(fileNames);
> > > > > > I = imread(fullfile(fileFolder,fileNames{+1}));
> > > > > > rmax=size(I,1);
> > > > > > cmax=size(I,2);
> > > > > >
> > > > > > sequence = zeros([size(I,1) size(I,2) numFrames], class(I));
> > > > > >
> > > > > > % load in array
> > > > > >
> > > > > > for p = 1:numFrames
> > > > > > sequence(:,:,p) = imread(fullfile(fileFolder,fileNames{p}));
> > > > > > end
> > > > > >
> > > > > > mov = avifile('test.avi','Compression','None','fps',8);
> > > > > >
> > > > > > for j=1:size(sequence,3)
> > > > > > imshow(sequence(:,:,j));
> > > > > > f=getframe;
> > > > > > mov = addframe(mov, f);
> > > > > > end
> > > > > >
> > > > > > mov = close(mov);
> > > > > > close all;
> > > > > >
> > > > > > The error is in line: sequence(:,:,p) = imread(fullfile(fileFolder,fileNames{p}));
> > > > > >
> > > > > > Does anyone have any idea?
> > > > > >
> > > > > > Thank you
> > > > > > Jimmy

> > > >
> > > > >> Hi Sadik,
> > > > thank you for your reply, I checked the dimenssions and I have 3 dimenssions indeed.
> > > > I changed it to [sequence(:,:,:,p)] but I have another error saying:
> > > > Subscripted assignment dimension mismatch
> > > >
> > > > Thanks
> > > > Jimmy




Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2017. All Rights Reserved.