example - python cv2 install
Clonar una imagen en cv2 python (4)
La primera respuesta es correcta, pero usted dice que está usando cv2, que inherentemente utiliza matrices numpy. Entonces, para hacer una copia completamente diferente de decir "myImage":
newImage = myImage.copy()
Lo anterior es suficiente. No es necesario importar numpy.
Soy nuevo en opencv, he aquí una pregunta, ¿cuál es la función python que actúa igual que cv :: clone () en cpp? Solo intento obtener un rect por
rectImg = img[10:20, 10:20]
pero cuando trazo una línea, encuentro que la línea aparece tanto en img como en rectImage, entonces, ¿cómo puedo hacer esto?
Mi método favorito utiliza cv2.copyMakeBorder sin borde, como tal.
copy = cv2.copyMakeBorder(original,0,0,0,0,cv2.BORDER_REPLICATE)
Si usa cv2
, el método correcto es usar el método .copy()
en Numpy. Creará una copia de la matriz que necesita. De lo contrario, solo producirá una vista de ese objeto.
p.ej:
In [1]: import numpy as np
In [2]: x = np.arange(10*10).reshape((10,10))
In [4]: y = x[3:7,3:7].copy()
In [6]: y[2,2] = 1000
In [8]: 1000 in x
Out[8]: False # see, 1000 in y doesn''t change values in x, parent array.
Simplemente puede usar la biblioteca estándar de Python. Haga una copia superficial de la imagen original de la siguiente manera:
import copy
original_img = cv2.imread("foo.jpg")
clone_img = copy.copy(original_img)