how to sparse represent a image?

hi,
i'm trying to create a sparse matrix for an image.
i've given the command as,
a=imread('imagename.format')
b=sparse(a)
i'm getting the output for the first command and for the second command i'm getting a error as mentioned below,
Undefined function 'sparse' for input arguments of type 'uint8'
please help thanks in advance

 Respuesta aceptada

Shoaibur Rahman
Shoaibur Rahman el 27 de Dic. de 2014
Convert a to double first, and the use that in sparse. Make sure that a is not in 3D, if so, then make it 2D before using in sparse.
a = double(a);
b = sparse(a); % for 3D a, you may use b = sparse(a(:,:,1)); or 2 or 3 instead of 1 here.
spy(b) % see the sparsity pattern

4 comentarios

lohith
lohith el 27 de Dic. de 2014
thank you very much :)
Isra Anwar
Isra Anwar el 17 de Mzo. de 2016
This code is not working on pgm (greymap images) what should I be changing in this code to get a sparse representation of a grey image?
Guillaume
Guillaume el 17 de Mzo. de 2016
Editada: Guillaume el 17 de Mzo. de 2016
@Isra, I suggest you start your own question posting the exact code you're using and explaining what 'not working' means exactly (you get an error? if so, which? no error but not the output you want? if so what output do you want? etc.)
Snigdha KN
Snigdha KN el 26 de En. de 2017
This code shows an error when executed. It shows undefined function 'sparse' for argument type 'double'

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Sparse Matrices en Centro de ayuda y File Exchange.

Preguntada:

el 27 de Dic. de 2014

Comentada:

el 26 de En. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by