how to sparse represent a image?

15 views (last 30 days)
lohith
lohith on 27 Dec 2014
Commented: Snigdha KN on 26 Jan 2017
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

Accepted Answer

Shoaibur Rahman
Shoaibur Rahman on 27 Dec 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 Comments
Guillaume
Guillaume on 17 Mar 2016
Edited: Guillaume on 17 Mar 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 on 26 Jan 2017
This code shows an error when executed. It shows undefined function 'sparse' for argument type 'double'

Sign in to comment.

More Answers (0)

Categories

Find more on Sparse Matrices 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!