Python’da videodan plaka tanıma yapmak için OpenCV, NumPy ve bir plaka tanıma kütüphanesi kullanabilirsiniz. İşte basit bir örnek:
import cv2
import numpy as np
from openalpr import Alpr
# OpenALPR'nin konfigürasyon dosyası
alpr = Alpr("eu", "/path/to/openalpr.conf", "/path/to/runtime_data")
# Plaka tanıma başarılı bir şekilde başlatıldıysa devam edin
if not alpr.is_loaded():
print("Plaka tanıma başlatılamadı!")
exit(1)
# Plakaları tanımak için kullanılacak video dosyası veya kamera akışı
video = cv2.VideoCapture("/path/to/video.mp4")
while True:
# Video akışından bir kare al
ret, frame = video.read()
if not ret:
break
# Gerekli işlemler için frame'i dönüştür
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Plakaları tanı
results = alpr.recognize_ndarray(gray)
# Tanınan plakaları çerçeve üzerinde göster
for plate in results['results']:
for candidate in plate['candidates']:
plate_str = candidate['plate']
confidence = candidate['confidence']
cv2.putText(frame, plate_str, (plate['coordinates'][0]['x'], plate['coordinates'][0]['y']), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
cv2.putText(frame, f"Confidence: {confidence}", (plate['coordinates'][0]['x'], plate['coordinates'][0]['y'] + 30), cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 255, 0), 2)
# Çıktıyı görüntüle
cv2.imshow("Plaka Tanıma", frame)
# 'q' tuşuna basıldığında döngüyü sonlandır
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Video akışını ve plaka tanıma nesnesini serbest bırak
video.release()
cv2.destroyAllWindows()
alpr.unload()
Yukarıdaki örnekte, öncelikle OpenALPR kütüphanesini ve gerekli konfigürasyon dosyalarını yüklemeli ve plaka tanıma nesnesini başlatmalısınız. Ardından, belirtilen video dosyasını veya kamera akışını VideoCapture
ile okuyabilir ve her bir kare üzerinde plaka tanıma işlemlerini gerçekleştirebilirsiniz.
Tanınan plakalar, results
değişkenindeki sonuçlardan elde edilebilir. Bu örnekte, her bir tanınan plakayı çerçeve üzerinde metin olarak ve güvenlik düzeyi ile birlikte görüntüleriz.
Son olarak, cv2.imshow()
ile çıktıyı görüntüleyebilir ve ‘q’ tuşuna basıldığında döngüyü sonlandırabilirsiniz.
Bir yanıt yazın