Quel est le moyen le plus rapide d’augmenter le contraste des images couleur avec OpenCV en python (cv2)?

Je suis en utilisant OpenCV pour le traitement de certaines images, et l'une des premières étapes que j'ai besoin d'effectuer augmente le contraste de l'image sur une image en couleur. La méthode la plus rapide que j'ai trouvé jusqu'à présent utilise ce code (où np est le numpy import) de se multiplier et d'ajouter, comme le suggère le C d'origine à base de cv1 docs:

    if (self.array_alpha is None):
        self.array_alpha = np.array([1.25])
        self.array_beta = np.array([-100.0])

    # add a beta value to every pixel 
    cv2.add(new_img, self.array_beta, new_img)                    

    # multiply every pixel value by alpha
    cv2.multiply(new_img, self.array_alpha, new_img)  

Est-il un moyen plus rapide de le faire en Python? J'ai essayé d'utiliser numpy du scalaire au lieu de multiplier, mais la performance est en fait pire. J'ai aussi essayé d'utiliser cv2.convertScaleAbs (OpenCV docs a suggéré d'utiliser convertTomais cv2 semble manquer d'une interface de cette fonction) mais encore une fois, la performance est de pire en phase de test.

source d'informationauteur Todd Stellanova