Category: python

  • python plaka tanıma kodları

    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.

  • python mysql insert komutu , python mysql veri ekleme

    Python’da MySQL veritabanına veri eklemek için INSERT komutunu kullanabilirsiniz. İşte basit bir örnek:

    import mysql.connector
    
    # MySQL bağlantısını oluşturun
    db = mysql.connector.connect(
        host="localhost",
        user="kullanici_adi",
        password="parola",
        database="veritabani_adi"
    )
    
    # Veritabanı üzerinde bir işlem gerçekleştirecek bir cursor oluşturun
    cursor = db.cursor()
    
    # Ekleme sorgusu
    sql = "INSERT INTO tablo_adi (sutun1, sutun2) VALUES (%s, %s)"
    veriler = ("deger1", "deger2")  # Eklenecek değerler
    
    # Sorguyu çalıştırın
    cursor.execute(sql, veriler)
    
    # Değişiklikleri veritabanına kaydedin
    db.commit()
    
    # Bağlantıyı kapatın
    db.close()
    

    Yukarıdaki örnekte, tablo_adi eklemek istediğiniz tablonun adını, sutun1 ve sutun2 eklemek istediğiniz sütunların adlarını temsil eder. deger1 ve deger2 ise eklemek istediğiniz değerleri temsil eder. Veritabanına bağlandıktan sonra, cursor nesnesi üzerinden execute() yöntemini kullanarak ekleme sorgusunu çalıştırabilirsiniz. Verilerin yerine geçmesi için execute() yöntemine ikinci bir parametre olarak bir demet (tuple) geçmeniz gerekmektedir. Ardından, db.commit() ile değişiklikleri veritabanına kaydedebilirsiniz. Son olarak, db.close() ile bağlantıyı kapatmayı unutmayın.

  • Python Selenium multi threading | Python Selenium Çoklu Tarayıcı Açma

    Python’da Selenium ile çoklu iş parçacığı (multi-threading) kullanarak paralel web otomasyonu gerçekleştirebilirsiniz. Bu, aynı anda birden fazla tarayıcı örneği oluşturarak işleri eşzamanlı olarak yürütmenizi sağlar. İşte basit bir örnek:

    import threading
    from selenium import webdriver
    
    # İş parçacığı işlevi
    def thread_func():
        # Tarayıcı örneği oluştur
        driver = webdriver.Chrome()
    
        # Otomasyon işlemlerini burada gerçekleştir
        # Örnek olarak, bir web sitesini açalım
        driver.get("https://www.example.com")
    
        # İşlemler tamamlandıktan sonra tarayıcıyı kapat
        driver.quit()
    
    # İş parçacıkları listesi
    threads = []
    
    # İstediğiniz kadar iş parçacığı oluşturabilirsiniz
    thread_count = 5
    
    # İş parçacıklarını oluştur ve başlat
    for _ in range(thread_count):
        thread = threading.Thread(target=thread_func)
        thread.start()
        threads.append(thread)
    
    # Tüm iş parçacıklarının tamamlanmasını bekle
    for thread in threads:
        thread.join()
    

    Yukarıdaki örnekte, thread_func() adlı bir iş parçacığı işlevi tanımladık. Bu işlev, her iş parçacığı için ayrı bir tarayıcı örneği oluşturacak ve otomasyon işlemlerini gerçekleştirecektir. İşlemler tamamlandığında, tarayıcıyı kapatır.

    Ana programda, istediğiniz sayıda iş parçacığı oluşturabilir ve başlatabilirsiniz. Bu örnekte, thread_count değişkeni 5 olarak ayarlandı. Daha sonra, for döngüsüyle iş parçacıklarını oluşturduk, başlattık ve threads listesine ekledik.

    Son olarak, for döngüsüyle oluşturulan tüm iş parçacıklarının tamamlanmasını bekledik (join() yöntemi).

    Kodu ihtiyaçlarınıza göre uyarlayabilir ve otomasyon işlemlerini thread_func() içinde gerçekleştirebilirsiniz. Ancak, Selenium’un çoklu iş parçacık desteği sınırlıdır ve bazı durumlarda tarayıcıların eşzamanlı kullanımı sorunlara neden olabilir. Bu nedenle, çoklu iş parçacığı kullanırken dikkatli olmanız ve tarayıcıların doğru şekilde senkronize edildiğinden emin olmanız önemlidir.

  • Python Mysql Update Komutu

    Python’da MySQL veritabanında veri güncellemek için UPDATE sorgusunu kullanabilirsiniz. İşte basit bir örnek:

    import mysql.connector
    
    # MySQL bağlantısını oluşturun
    db = mysql.connector.connect(
        host="localhost",
        user="kullanici_adi",
        password="parola",
        database="veritabani_adi"
    )
    
    # Veritabanı üzerinde bir işlem gerçekleştirecek bir cursor oluşturun
    cursor = db.cursor()
    
    # Güncelleme sorgusu
    sql = "UPDATE tablo_adi SET sutun_adi = %s WHERE kosul = %s"
    veriler = ("yeni_deger", "kosul_degeri")  # Güncel değer ve koşul değeri
    
    # Sorguyu çalıştırın
    cursor.execute(sql, veriler)
    
    # Değişiklikleri veritabanına kaydedin
    db.commit()
    
    # Bağlantıyı kapatın
    db.close()
    

    Yukarıdaki örnekte tablo_adi güncellenmek istenen tablonun adını, sutun_adi güncellenecek sütunun adını, kosul ise güncelleme yapılacak kaydı belirlemek için kullanılacak koşulu temsil eder. yeni_deger ise güncellenen değeri temsil eder. Veritabanına bağlandıktan sonra, cursor nesnesi üzerinden execute() yöntemini kullanarak güncelleme sorgusunu çalıştırabilirsiniz. Ardından, db.commit() ile değişiklikleri veritabanına kaydedebilirsiniz. Son olarak, db.close() ile bağlantıyı kapatmayı unutmayın.