• 08-06-2024, 12:01:04
    #1
    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.
  • 09-06-2024, 15:42:42
    #2
    Whatsapp'dan yazarsanız yardımcı olabilirim.

  • 09-06-2024, 16:01:44
    #3
    özel mesaj gönderdim