быстрая обработка пикселей изображения opencv с использованием интерфейса python

Используя python-интерфейс для OpenCV, можно легко получить доступ к пикселю изображения с помощью оператора [], например:

img = cv.LoadImage('test.jpg')
pixel = img[10,10]

variable pixel здесь кортеж python объект вроде (10,20,30) (например, 3 канала), обрабатывать вычисления не очень удобно, так как кортеж Тип не поддерживает операторы «-» или «+» . Если я надеюсь создать субструкцию на пикселе вроде 255 - (10,20,30) , я должен код вроде этого:

import numpy as np
pixel = tuple( np.array([255,255,255]) - np.array(pixel) )

есть ли более быстрое и простое решение?
Другой вопрос: есть ли способ сделать вычитание для всех пикселей, например, используя вычитание матрицы в Matlab: 255 - img (не используйте встроенную функцию OpenCV).

5
задан PinkyJie 23 April 2011 в 07:28
поделиться