Make a weight matrix sparce

2 visualizaciones (últimos 30 días)
Orr Streicher
Orr Streicher el 29 de En. de 2021
Editada: Matt J el 30 de En. de 2021
Hi,
I have an image in size of 256x256.
I would like to implement an algorithem that use graph theory on this image so i want to calculate the weights matrix: for 2 pixcels x,y i want to calculate D(x,y)= exp(-|x-y|/sigma)
By theory, the matrix D should be in size of (256^2)x(256^2), but i understaned that this is not practical.
I read a paper said that in order to make the weight matrix sparse, it is possible to truncate the matrix to the 50 nearest neighbors.
Does anyone know how can i do it in matlab?
Or maybe another way to make the weight matrix sparse?
thanks,
Or
  2 comentarios
Matt J
Matt J el 29 de En. de 2021
Editada: Matt J el 30 de En. de 2021
Do you really need D, or do you simply need an algorithm that computes D*I(:) for a given image I? The latter is just a convolution operation, and can be done efficiently with FFTs.
Matt J
Matt J el 30 de En. de 2021
Editada: Matt J el 30 de En. de 2021
Also, do you absolutely have to define D as D(x,y)= exp(-|x-y|/sigma) ? If you instead use a Mahalanobis distance, D(x,y)= exp(-|x-y|^2/sigma^2), then D can be expressed as a Kronecker product
D=kron( exp(-(xi-yi)^2/sigma) , exp(-(xj-yj)^2/sigma) )
which has a number of simplifying properties.

Iniciar sesión para comentar.

Respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by