es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

AttributeError: El objeto ‘NoneType’ no tiene el atributo ‘copy’ en OpenCV.

Estoy intentando evitar el captcha de tiktok usando openCV ejecutando el siguiente código:

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt
img = cv.imread(‘test.png’,0)
img2 = img.copy()
template = cv.imread(‘lol.png’,0)
w, h = template.shape[::-1]
methods = [‘cv.TM_CCOEFF’, ‘cv.TM_CCOEFF_NORMED’, ‘cv.TM_CCORR’, ‘cv.TM_CCORR_NORMED’, ‘cv.TM_SQDIFF’, ‘cv.TM_SQDIFF_NORMED’]
for meth in methods:
img = img2.copy()
method = eval(meth)
res = cv.matchTemplate(img,template,method)
min_val, max_val, min_loc, max_loc = cv.minMaxLoc(res)
if method in [cv.TM_SQDIFF, cv.TM_SQDIFF_NORMED]:
top_left = min_loc
else:
top_left = max_loc
bottom_right = (top_left[0] + w, top_left[1] + h)
cv.rectangle(img,top_left, bottom_right, 255, 2)
plt.subplot(121),plt.imshow(res,cmap = ‘gray’)
plt.title(‘Resultado de coincidencia’), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(img,cmap = ‘gray’)
plt.title(‘Punto detectado’), plt.xticks([]), plt.yticks([])
plt.suptitle(meth)

plt.show()

Sigo recibiendo el error AttributeError: ‘NoneType’ object has no attribute ‘copy’

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error “AttributeError: el objeto ‘NoneType’ no tiene el atributo ‘copy'” significa que la variable img2 es del tipo NoneType, lo que significa que está vacía o nula. Esto podría ser causado porque la función imread no puede leer correctamente el archivo de imagen o la ruta del archivo es incorrecta.

    Para solucionar este error, debes asegurarte de que los archivos de imagen “test.png” y “lol.png” estén ubicados en el directorio correcto y que los nombres de archivo estén escritos correctamente. Además, verifica que las imágenes tengan el formato correcto y que puedan ser leídas por OpenCV. También puedes intentar cargar la imagen utilizando una ruta completa para asegurarte de que el sistema pueda ubicar el archivo.

    Además, debes asegurarte de que las versiones de OpenCV, numpy y matplotlib sean compatibles entre sí y con la configuración de tu sistema. Actualizar o degradar las bibliotecas a versiones compatibles también podría solucionar el problema.

Comments are closed.