ich diesen Code verwenden zu laden/Show/schreiben Bilder (opencv_python-3.3.0-cp36-cp36m-win32):imshow scheint das falsche Bild zu zeigen
import cv2
img0 = cv2.imread('original.jpg',1)
img1=img0
for i in range(img0.shape[0]):
for j in range(img0.shape[1]):
img1[i,j]=[0,0,255]
cv2.imshow('original',img0)
cv2.waitKey(0)
cv2.destroyAllWindows()
Beachten Sie, dass die Leitung 7 sollte zeige das Originalbild img0, aber es zeigt stattdessen das modifizierte Bild img1 (dh ein rotes Rechteck). Zeile 3 soll eine temporäre Kopie von img0 erstellen, nicht um img0 zu ändern. Was ist hier falsch?
Ihre Erklärung ergibt Sinn. Aber da ich Python (nicht C++) verwende, habe ich Zeile 3 durch img1 = img0.copy() ersetzt und jetzt funktioniert es. Vielen Dank. – NP1
Gut zu wissen :) –