I have a 2D array which represents an image (376, 450)
How can I construct a new diagonal matrix (sparse matrix) which has all of the entries of the image along the diagonal and the rest zeroes? When I use for example scipy.sparse.diags
I get following error:
ValueError: Different number of diagonals and offsets.
I already checked the documentation here but for me, it is still not quite clear how to do that. Thanks a lot in advance for any tip!
Edit: If I just want to have the entries of the image (2D array) just in the zero-diagonal do I have to flatten the 2D array first into a single dimension?
That I have something like:
from scipy.sparse import diags
new_flat_array = [1,2,3,4, ...]
diags(new_flat_array, [0]).toarray()
But that way the resulting array will not be a sparse 2D matrix which I want.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…