Python - эффективное представление пикселей и связанных значений

I ' Боюсь, что немного новичок в матричной арифметике, но я рассмотрел ряд возможных решений, включая различные разновидности scipy разреженных матриц. Матрицы координат (COO) пока выглядят наиболее многообещающими. Так, например, когда я хочу увеличить одну форму блока, мне нужно будет сделать что-то вроде:

>>> from scipy import sparse
>>> from numpy import array
>>> I = array([0,0,0,0])
>>> J = array([0,1,2,3])
>>> V = array([1,1,1,1])
>>> incr_matrix = sparse.coo_matrix((V,(I,J)),shape=(100,100))
>>> main_matrix += incr_matrix  #where main_matrix was previously defined

В будущем я хотел бы иметь более богатое представление значений пикселей в любом случае (кортежи для представления RGB и т. Д. ), то, что массив numpy не поддерживает из коробки (или, возможно, мне нужно использовать this ).

В конечном итоге у меня будет ряд этих матриц, с которыми мне нужно будет выполнять простую арифметику, и мне понадобится код, который будет максимально эффективным и распространяемым, поэтому мне нужно будет иметь возможность сохраняйте и обменивайте эти объекты в небольшом представлении без существенных штрафов. Мне интересно, правильный ли это путь, или мне следует искать собственные структуры с использованием dicts и т. д.?

6
задан malangi 6 February 2011 в 08:19
поделиться