Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. # importowanie OpenCV
  2. import cv2 # pip install opencv-python
  3.  
  4. # string ze ścieżką do pliku konfiguracyjnego XML
  5. # jeśli jest w głównym folderze to po prostu nazwa pliku
  6. rawPathToHaar = "haarcascade_frontalcatface.xml"
  7.  
  8.  
  9. def Process_image(image):
  10. # Konwersja obrazka na czarno-biały kolor
  11. grayCat = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
  12. # załadowanie pliku konfiguracyjnego XML
  13. detector = cv2.CascadeClassifier(rawPathToHaar)
  14. # rozpoznawanie czarnobiałego obrazka
  15. rects = detector.detectMultiScale(grayCat, scaleFactor=1.3, minNeighbors=10, minSize=(75, 75))
  16. # zwracamy liste z tuplami (miejsca na obrazku gdzie mają być narysowane kwadraty)
  17. return rects
  18.  
  19.  
  20. def is_cat(cats):
  21. if len(cats): # len(cats) != 0
  22. output = 'Pomyślnie wykryto koty na zdjęciu. Liczba kotów: {}.'.format(len(cats))
  23. print(output)
  24. return True
  25. else: # len(cats) == 0
  26. output = 'Nie wykryto żadnego kota na zdjęciu'
  27. print(output)
  28. return False
  29.  
  30.  
  31. def draw(catImage, rects):
  32. for (i, (x, y, w, h)) in enumerate(rects):
  33. cv2.rectangle(catImage, (x, y), (x + w, y + h), (0, 0, 255), 2)
  34. cv2.putText(catImage, "Cat #{}".format(i + 1), (x, y - 10),
  35. cv2.FONT_HERSHEY_SIMPLEX, 0.55, (0, 0, 255), 2)
  36.  
  37.  
  38. def replaceChar(source):
  39. path = source.replace("\\", "/")
  40. return path
  41.  
  42.  
  43. def main(path):
  44. # path = "images\cat_1.jpg"
  45. rawPathToImage = replaceChar(path)
  46. image = cv2.imread(rawPathToImage)
  47. cats = Process_image(image)
  48. result = is_cat(cats)
  49. return result
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement