─░├žeri─če ge├ž

Ultralytics kullanarak Mesafe HesaplamaYOLOv8 ­čÜÇ

Mesafe Hesaplama Nedir?

─░ki nesne aras─▒ndaki bo┼člu─čun ├Âl├ž├╝lmesi, belirli bir alan i├žinde mesafe hesaplamas─▒ olarak bilinir. Bu durumda Ultralytics YOLOv8s─▒n─▒rlay─▒c─▒ kutu merkezi, kullan─▒c─▒ taraf─▒ndan vurgulanan s─▒n─▒rlay─▒c─▒ kutular─▒n mesafesini hesaplamak i├žin kullan─▒l─▒r.



─░zle: Kullanarak Mesafe Hesaplama Ultralytics YOLOv8

G├Ârseller

Kullanarak Mesafe Hesaplama Ultralytics YOLOv8
Ultralytics YOLOv8 Mesafe Hesaplama

Mesafe Hesaplaman─▒n Avantajlar─▒?

  • Yerelle┼čtirme Hassasiyeti: Bilgisayarla g├Ârme g├Ârevlerinde do─čru uzamsal konumland─▒rmay─▒ geli┼čtirir.
  • Boyut Tahmini: Daha iyi ba─člamsal anlay─▒┼č i├žin fiziksel boyutlar─▒n tahmin edilmesini sa─člar.
  • Sahne Anlay─▒┼č─▒: Geli┼čmi┼č karar verme i├žin ├ževrenin 3 boyutlu olarak anla┼č─▒lmas─▒na katk─▒da bulunur.
Mesafe Hesaplama
  • Mesafe hesaplamas─▒ i├žin herhangi iki s─▒n─▒rlay─▒c─▒ kutuya Sol Fare t─▒klamas─▒ ile t─▒klay─▒n

YOLOv8 Kullanarak Mesafe Hesaplama ├ľrnek

import cv2

from ultralytics import YOLO, solutions

model = YOLO("yolov8n.pt")
names = model.model.names

cap = cv2.VideoCapture("path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Video writer
video_writer = cv2.VideoWriter("distance_calculation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init distance-calculation obj
dist_obj = solutions.DistanceCalculation(names=names, view_img=True)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break

    tracks = model.track(im0, persist=True, show=False)
    im0 = dist_obj.start_process(im0, tracks)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()
Not
  • Fare Sa─č T─▒klamas─▒ ├žizilen t├╝m noktalar─▒ silecektir
  • Fare Sol T─▒klamas─▒ nokta ├žizmek i├žin kullan─▒labilir

Arg├╝manlar DistanceCalculation()

Name Type Default A├ž─▒klama
names dict None S─▒n─▒f indekslerini s─▒n─▒f adlar─▒yla e┼čleyen s├Âzl├╝k.
pixels_per_meter int 10 Pikselden metreye d├Ân├╝┼čt├╝rme fakt├Âr├╝.
view_img bool False Video ak─▒┼č─▒n─▒n g├Âr├╝nt├╝lenmesi gerekip gerekmedi─čini belirten bayrak.
line_thickness int 2 G├Âr├╝nt├╝ ├╝zerine ├žizilen ├žizgilerin kal─▒nl─▒─č─▒.
line_color tuple (255, 255, 0) G├Âr├╝nt├╝ ├╝zerine ├žizilen ├žizgilerin rengi (BGR format─▒).
centroid_color tuple (255, 0, 255) ├çizilen merkez noktalar─▒n─▒n rengi (BGR bi├žimi).

Arg├╝manlar model.track

─░sim Tip Varsay─▒lan A├ž─▒klama
source im0 None resimler veya videolar i├žin kaynak dizin
persist bool False kareler aras─▒nda kal─▒c─▒ izler
tracker str botsort.yaml ─░zleme y├Ântemi 'bytetrack' veya 'botsort'
conf float 0.3 G├╝ven E┼či─či
iou float 0.5 IOU E┼či─či
classes list None sonu├žlar─▒ s─▒n─▒fa g├Âre filtreleyin, yani classes=0 veya classes=[0,2,3]
verbose bool True Nesne izleme sonu├žlar─▒n─▒ g├Âr├╝nt├╝leme


Created 2024-01-05, Updated 2024-06-10
Authors: glenn-jocher (6), IvorZhu331 (1), RizwanMunawar (5), AyushExel (1)

Yorumlar