How can i use cell array inside the imwrite?
Please help

1 commentaire

Stephen23
Stephen23 le 7 Mar 2017
@Matt Kernan: you are storing image data in a cell array? Why? That would be quite inefficient.

Connectez-vous pour commenter.

 Réponse acceptée

KSSV
KSSV le 7 Mar 2017

2 votes

K = cell(3,1) ;
K{1} = rand(100) ;
K{2} = rand(200) ;
K{3} = rand(500) ;
for i = 1:length(K)
imwrite(K{1},strcat('image_K',num2str(i),'.jpg')) ;
end

2 commentaires

Matt Kernan
Matt Kernan le 7 Mar 2017
Thanks. But it is not working. When i run it, it gives me following error
"Expected DATA to be one of these types:
double, single, uint8, uint16, uint32, uint64, int8, int16, int32, int64, logical
Instead its type was cell."
Jan
Jan le 7 Mar 2017
@Matt: No, this is not possible. If you run KSSV's code, you cannot get this error. Please post the code you run, such that an improvement can be suggested.

Connectez-vous pour commenter.

Plus de réponses (1)

Jan
Jan le 7 Mar 2017

0 votes

You cannot use a cell as input for imwrite. I cannot imagine the intention of doing this. Writing images is only useful for images, and images are either [Col x Row] or [Col x Row x 3] numerical arrays. So perhaps you want to deliver the contents of a cell element to the imwrite command. Then see KSSV's answer, which answers this question, as far as I can see.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by