Advertisement
cybereq

dron po lini

Dec 9th, 2022
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.83 KB | Source Code | 0 0
  1. import cv2
  2.  
  3. # Użyj OpenCV do wczytania obrazu z kamery
  4. camera = cv2.VideoCapture(0)
  5. ret, frame = camera.read()
  6.  
  7. # Konwertuj obraz na odcienie szarości
  8. gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
  9.  
  10. # Użyj wyostrzenia obrazu, aby wzmocnić kontrast linii
  11. sharpened = cv2.GaussianBlur(gray, (0, 0), 3)
  12. sharpened = cv2.addWeighted(gray, 1.5, sharpened, -0.5, 0)
  13.  
  14. # Wykryj linie za pomocą metody Canny
  15. edges = cv2.Canny(sharpened, 50, 200)
  16.  
  17. # Znajdź linie za pomocą metody Hough
  18. lines = cv2.HoughLinesP(edges, 1, math.pi/180, 50, minLineLength=50, maxLineGap=10)
  19.  
  20. # Dla każdej wykrytej linii oblicz środek ciężkości
  21. for line in lines:
  22.     x1, y1, x2, y2 = line[0]
  23.     cx = int((x1 + x2) / 2)
  24.     cy = int((y1 + y2) / 2)
  25.    
  26.     # Użyj obliczonego środka ciężkości do sterowania dronem
  27.     drone.move(cx, cy)
  28.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement