preallocation of structure array for MATLAB coder

4 views (last 30 days)
Hi, I'm using MATLAB coder to convert my image processing routine in MATLAB.
I read several articles here about structure array preallocation.
Here is my MATLAB code snippet. im1, im2 have size of 480 x 640 x 128.
ptemp.im1 = im1;
ptemp.im2 = im2;
[sx, sy, sz] = size(im1);
picturesque(1:nlevels) = struct('im1',zeros(sx,sy,sz),'im2', zeros(sx,sy,sz));
picturesque(1) = ptemp;
But the MATLAB coder tells me picturesque is not defined.
Undefined function or variable 'picturesque'. The first assignment to a local variable determines its class.
I tried many times, changing preallocation methods. But I didn't find any clue.
Do you have a good solution to preallocate the structure array for MATLAB coder?

Accepted Answer

Sean de Wolski
Sean de Wolski on 24 Aug 2015
picturesque = struct('im1',zeros(sx,sy,sz),'im2', zeros(sx,sy,sz));
picturesque = repmat(picturesque,1,nlevels)
Perhaps?

More Answers (1)

JangHo Cho
JangHo Cho on 24 Aug 2015
Thank you. It works! That's what I wanted. :)

Categories

Find more on MATLAB Coder 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!