dostlar merhaba geçenlerda arabama biri çarpıp kaçtı yakınlarda bir işyerinde aldığımız kamera kaydı ne yazıkki plakayı bulanık gösteriyor chatgbtye sorduğumda ise bunun Python ile bulunabileceği yazıyıyor işlemler şu şekilde imiş.
Videonun tamamını inceleyip plakayı tahmin etmek için mevcut teknik kısıtlamalar nedeniyle Python koduyla doğrudan çözüm sağlayamıyorum. Ancak, genel olarak video analizi ve bulanık plaka çözümü için izlenebilecek adımları açıklayabilirim. Bu adımlar, videodaki pikselleri birleştirerek plaka tahmini yapmayı içerir.

Adım Adım Plaka Tahmini

  1. Videoyu Karelere Ayırma:
    • Videodaki kareleri belirli aralıklarla çıkararak analiz için kullanın.
  2. Görüntü İşleme:
    • Her kare üzerinde görüntü işleme teknikleri uygulayarak bulanıklığı azaltın ve netliği artırın. Bu adımda, kontrast ayarlama, keskinleştirme ve filtreleme işlemleri uygulanabilir.
  3. Karelerin Birleştirilmesi:
    • Tüm karelerdeki plaka bölgelerini belirleyerek bu bölgeleri birleştirin. Bu işlem, piksellerin ortalamasını alarak veya süper çözünürlük teknikleri kullanarak yapılabilir.
  4. Optik Karakter Tanıma (OCR):
    • Birleştirilen görüntü üzerinde OCR uygulayarak plakadaki karakterleri tanımlayın. Tesseract gibi OCR araçları bu işlem için kullanılabilir.
import cv2
import numpy as np
from PIL import Image
import pytesseract

# Load the video file
video_path = "/mnt/data/0515 (2).mp4"
video = cv2.VideoCapture(video_path)

# Check if the video was opened successfully
if not video.isOpened():
    raise Exception("Could not open video.")

# Parameters
frames_to_capture = 50  # Number of frames to capture
frames_interval = 30  # Interval between frames to capture

# Capture frames at regular intervals
captured_frames = []
for i in range(frames_to_capture):
    video.set(cv2.CAP_PROP_POS_FRAMES, i * frames_interval)
    ret, frame = video.read()
    if ret:
        captured_frames.append(frame)
    else:
        break

video.release()

# Process captured frames
plaka_regions = []
for frame in captured_frames:
    # Convert to grayscale
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # Apply GaussianBlur to reduce noise and improve OCR
    blurred = cv2.GaussianBlur(gray, (5, 5), 0)
    
    # Use edge detection to find the plate region
    edges = cv2.Canny(blurred, 50, 150)
    
    # Find contours
    contours, _ = cv2.findContours(edges, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
    
    for contour in contours:
        x, y, w, h = cv2.boundingRect(contour)
        aspect_ratio = w / float(h)
        if 2 < aspect_ratio < 5:  # Typical aspect ratio of a license plate
            plaka_region = gray[y:y+h, x:x+w]
            plaka_regions.append(plaka_region)

# Combine plate regions to improve OCR accuracy
if plaka_regions:
    combined_plaka = np.mean(plaka_regions, axis=0).astype(np.uint8)
    
    # Perform OCR on the combined image
    plaka_text = pytesseract.image_to_string(combined_plaka, config='--psm 8')
    print(f"Detected Plate: {plaka_text}")
else:
    print("No plate region detected.")
Teknik kısıtlamalar nedeniyle şu an burada video dosyalarını işleyip analiz edemiyorum. Ancak, yukarıda paylaştığım Python kodunu yerel bilgisayarınızda çalıştırarak videodaki plakanın tahmin edilmesini sağlayabilirsiniz. Adımları takip ederek bu işlemi gerçekleştirebilirsiniz:

Adımlar:

  1. Python ve Gerekli Kütüphaneleri Kurun:
    • Python'u kurun.
    • Gerekli kütüphaneleri yükleyin:bashKodu kopyala
      pip install opencv-python-headless numpy pytesseract
    • Tesseract OCR aracını kurun (Tesseract'in bilgisayarınızda kurulu olması gerekmektedir):bashKodu kopyala
      sudo apt-get install tesseract-ocr
  2. Yukarıdaki Kodu Bir Python Dosyasına Yapıştırın:
    • Yukarıda paylaşılan kodu bir Python dosyasına (örneğin, plaka_tahmin.py) yapıştırın.
  3. Video Dosyasını Uygun Dizine Koyun:
    • Video dosyanızı (0515 (2).mp4) aynı dizine yerleştirin veya kodda belirtilen video_path değişkenini video dosyanızın konumuna göre güncelleyin.
  4. Python Dosyasını Çalıştırın:
    • Python dosyasını çalıştırarak plaka tahminini yapın:bashKodu kopyala
      python plaka_tahmin.py
Bu adımlar sayesinde videodaki plakayı analiz edebilir ve tahmin edebilirsiniz. Eğer yerel bilgisayarınızda bu işlemi yaparken herhangi bir sorunla karşılaşırsanız, size yardımcı olmaktan memnuniyet duyarım.