Essai d'apprentissage sur le traitement d'image Opencv-python: comprendre le nombre d'éléments avec le même nombre d'éléments dans l'ajout de l'image et du scalaire ADD

☞ ░ au vieux singe répertoire Python Bowen

Il y a le paragraphe suivant dans la description de l'image et de la fonction d'addition scalaire ajouter:

Insérez la description de l'image ici
La partie marquée en jaune indique que l'image et le scalaire sont additionnés, et l'une des phrases en anglais est:

Somme d'un tableau et d'un scalaire lorsque src2 est construit à partir de Scalar ou a le même nombre d'éléments que src1.channels ()

L'ancienne traduction de singe comprend que
lorsque src2 est un scalaire ou a le même nombre d'éléments que le numéro de canal src1 (tel qu'un tuple ou un objet de liste), ajoutez le tableau d'image et le scalaire.

Parmi eux, le vieux singe a testé à plusieurs reprises la phrase "le même nombre d'éléments que le nombre de canaux src1" et a constaté qu'il y avait un problème avec cette phrase, que le nombre de canaux src1 soit BGR trois canaux ou BGRA quatre canaux, il est en fait traité en opencv Les deux sont forcés d'être considérés comme quatre canaux, donc la liste ou le tuple qui doit être ajouté doit avoir 4 éléments.

Cas:

>>> import cv2
>>> imgBeauty = cv2.imread(r'F:\pic\beauty.jpg')
>>> img = imgBeauty[0:5, 0:5]
>>> img.shape #结果表明图像是3通道
(5,5,3)
>>> import cv2
>>> import numpy as np
>>> imgBeauty = cv2.imread(r'F:\pic\beauty.jpg')
>>> img = imgBeauty[0:5, 0:5]
>>> mask = np.zeros([5, 5], dtype=np.uint8)
>>> cv2.add(img,(1,1,1,1))
array([[[231, 226, 225],
        [231, 226, 225],
        [231, 226, 225],
        [230, 225, 224],
        [228, 223, 222]],

       [[232, 227, 226],
        [231, 226, 225],
        [231, 226, 225],
        [231, 226, 225],
        [230, 225, 224]],

       [[232, 227, 226],
        [232, 227, 226],
        [232, 227, 226],
        [232, 227, 226],
        [231, 226, 225]],

       [[231, 226, 225],
        [232, 227, 226],
        [232, 227, 226],
        [232, 227, 226],
        [231, 226, 225]],

       [[232, 227, 226],
        [233, 228, 227],
        [232, 227, 226],
        [232, 227, 226],
        [231, 226, 225]]], dtype=uint8)

Si ce qui précède cv2.add(img,(1,1,1,1))dans cv2.add(img,(1,1,1))l'erreur.

Pour plus d'informations sur OpenCV-Python, veuillez vous référer à l' article correspondant dans la colonne " OpenCV-Python Graphics and Image Processing ".

Colonne payée sur le vieux singe

La colonne payante de Lao Yuan " Utilisation de PyQt pour développer des applications Python d'interface graphique " présente spécifiquement le didacticiel de base du développement d'interface graphique PyQt basé sur Python, et la colonne payante " Moviepy Audio and Video Development Column " détaille les méthodes et l'utilisation associées du traitement de synthèse et d'édition audio et vidéo moviepy Méthode pour traiter les scènes d'édition et de synthèse associées. Les deux colonnes conviennent aux lecteurs novices qui ont une certaine base Python mais aucune connaissance pertinente.

Répertoire d'articles de colonne payants : " Répertoire d'articles de colonne de développement audio et vidéo Moviepy ", " Utilisez PyQt pour développer le répertoire de colonnes d'application Python d'interface graphique ".

Pour ceux qui n'ont pas de base Python, vous pouvez apprendre Python à partir de zéro grâce à la colonne gratuite de Lao Yuan " Colonne: Répertoire des didacticiels de base Python ".

Si vous êtes intéressé et souhaitez soutenir les lecteurs de Old Ape, n'hésitez pas à acheter des colonnes payantes.

Apprenez Python et OpenCV du vieux singe!

☞ ░ au vieux singe répertoire Python Bowen

Je suppose que tu aimes

Origine blog.csdn.net/LaoYuanPython/article/details/109017695
conseillé
Classement