Используя Python-интерфейс для OpenCV, можно легко получить доступ к пикселю изображения с помощью оператора [], например:
img = cv.LoadImage('test.jpg')
pixel = img[10,10]
переменная пиксель здесь это питонкортеж объект типа (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).