from skimage.measure import structural_similarity as ssim
import matplotlib.pyplot as plt
import numpy as np
import cv2
import time
img_counter=0
flag=False
def mse(imageA, imageB):
# the 'Mean Squared Error' between the two images is the
err = np.sum((imageA.astype("float") - imageB.astype("float")) ** 2)
err /= float(imageA.shape[0] * imageA.shape[1])
return err
def compare_images(imageA, imageB):
# compute the mean squared error and structural similarity
# index for the images
m = mse(imageA, imageB)
s = ssim(imageA, imageB)
if m > 150 or s < 0.90:
print "object is detected"
flag=True
while True:
original = cv2.imread("/home/lingesh/last_try/images/0.jpg")
shopped = cv2.imread("/home/lingesh/last_try/images/{}.jpg".format(img_counter+1))
# convert the images to grayscale
original = cv2.cvtColor(original, cv2.COLOR_BGR2GRAY)
shopped = cv2.cvtColor(shopped, cv2.COLOR_BGR2GRAY)
compare_images(original, shopped)
if flag==True
break
0
A
Antwort
0
Ihr Problem ist in compare_images
denken Sie, dass es Ihre globale Variable flag
ändern wird, aber das ist nicht der Fall, wenn Sie flag=True
Inneren tun Sie wirklich eine neue Variable mit dem gleichen Namen im Inneren zu schaffen, verwenden, um eine Rückkehr statt
def compare_images(imageA, imageB):
# compute the mean squared error and structural similarity
# index for the images
m = mse(imageA, imageB)
s = ssim(imageA, imageB)
if m > 150 or s < 0.90:
print "object is detected"
return True
return False
und in der Schleife
while True:
#code
if compare_images(original, shopped):
break
oder wenn Sie die Flagge, was Sie brauchen später tun
while True:
#code
flag = compare_images(original, shopped)
if flag:
break
es auch so aussehen wie Sie nicht img_counter
oder original
oder shopped
oder irgendetwas tun ändern sonst, so dass Sie immer die gleiche Sache immer und immer wieder tun, wenn sie unterschiedlich vergleichen
Verwandte Themen
- 1. Was ist los mit Gulp?
- 2. Was ist los mit dem folgenden Code, der sich mit Zeigern beschäftigt?
- 3. Groovy: Was ist los mit diesem "Hello World" Programm?
- 4. Was ist mit dem folgenden Code falsch?
- 5. Was ist los mit meinem einfachen Java-Programm?
- 6. In dem folgenden pl sql Programm, was ist der Fehler? Ist es ein Kompilierungsfehler?
- 7. Was ist los mit der Logik in meinem Programm?
- 8. slowquery was ist los?
- 9. Was ist los mit der folgenden Lösung zum Ändern eines Arrays, so dass es nicht abnimmt?
- 10. Was ist los mit Realloc?
- 11. Was ist los mit dem folgenden PHP Simple Watermark Maker? Es wird kein Bild in der POST-Methode
- 12. Was mit dem Programm falsch ist, ich
- 13. Was ist los mit meinem Timer-Thread?
- 14. Was ist los mit meinem Stapelcode?
- 15. Was ist los mit dem Schreiben von "@ARGV || = '.';"?
- 16. Was ist los mit den Zeigern
- 17. Was ist mit JavaScript Scope hier los?
- 18. Was ist los mit meiner Diashow CSS?
- 19. Was ist der Fehler im folgenden Flex- und Bison-Programm?
- 20. Was ist los mit dieser While-Schleife?
- 21. Was ist los mit dieser for-Schleife?
- 22. Was ist los mit meiner Auswahl Sortieralgorithmus?
- 23. Was ist los mit diesem Image Cropper?
- 24. Was ist los mit der folgenden Lösung für die "Dining Philosophers"?
- 25. Was ist los mit meiner Checkbox-Zeichnung?
- 26. Was ist los mit meiner RewriteRule?
- 27. Was ist los mit diesem C++ Code?
- 28. Was ist los mit diesem Zufallszahl-Ratespiel?
- 29. Was ist los mit diesen Heroku Logs
- 30. Was ist los mit Bohnen verbindlich