Ensayo de aprendizaje de procesamiento de imágenes opencv-python: comprensión del mismo número de elementos en la adición de imagen y ADD escalar

☞ ° al directorio antiguo de simios Python Bowen .

Hay el siguiente párrafo en la descripción de la imagen y la función de adición escalar agregar:

Inserte la descripción de la imagen aquí
La parte marcada en amarillo indica que la imagen y el escalar se suman, y una de las oraciones en inglés es:

Suma de una matriz y un escalar cuando src2 se construye a partir de Scalar o tiene el mismo número de elementos que src1.channels ()

La antigua traducción del mono entiende:
cuando src2 es un escalar o tiene el mismo número de elementos que el número de canal src1 (como una tupla o un objeto de lista), agregue la matriz de imágenes y el escalar.

Entre ellos, el viejo mono probó repetidamente la oración "el mismo número de elementos que el número de canales src1" y encontró que hay un problema con esta oración, independientemente de si el número de canales src1 es BGR de tres canales o BGRA de cuatro canales, en realidad se procesa en opencv Ambos están obligados a considerarse como cuatro canales, por lo que la lista o tupla que se debe agregar debe tener 4 elementos.

Caso:

>>> 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 lo anterior cv2.add(img,(1,1,1,1))en cv2.add(img,(1,1,1))el error.

Para obtener más información sobre OpenCV-Python, consulte el artículo relacionado en la columna " Procesamiento de imágenes y gráficos OpenCV-Python ".

Columna pagada sobre el viejo simio

La columna de pago de Lao Yuan " Uso de PyQt para desarrollar aplicaciones de Python de interfaz gráfica " presenta específicamente el tutorial básico del desarrollo de interfaz gráfica de PyQt basado en Python, y la columna de pago "Columna de desarrollo de audio y video de Moviepy " detalla los métodos relacionados y el uso del procesamiento de síntesis y edición de audio y video de Moviepy. Método para procesar escenas de síntesis y edición relacionadas. Ambas columnas son adecuadas para lectores novatos que tienen cierta base de Python pero no tienen conocimientos relevantes.

Directorio de artículos de columnas pagadas : " Directorio de artículos de columnas de desarrollo de audio y video de Moviepy ", " Utilice PyQt para desarrollar el directorio de columnas de aplicaciones Python de interfaz gráfica ".

Para aquellos que carecen de la base de Python, pueden aprender Python desde cero a través de la columna gratuita de Lao Yuan " Columna: Directorio de tutoriales básicos de Python ".

Si está interesado y dispuesto a apoyar a los lectores de Old Ape, bienvenido a comprar columnas pagas.

¡Aprenda Python y OpenCV del viejo simio!

☞ ° al directorio antiguo de simios Python Bowen .

Supongo que te gusta

Origin blog.csdn.net/LaoYuanPython/article/details/109017695
Recomendado
Clasificación