import gradio as gr import cv2 import torch from transformers import AutoModelForImageTranslation # Örnektir, değiştirebilirsiniz # Göz teması düzeltme modeli - model adını uygun bir modelle değiştirin model = AutoModelForImageTranslation.from_pretrained("username/gaze_correction_model") # model yolunu doğru şekilde ayarlayın # Görüntüyü modele uygun hale getirmek için yardımcı fonksiyon def preprocess_image(image): # Örneğin görüntüyü normalleştirme, yeniden boyutlandırma işlemleri burada yapılabilir # Bu örnek olarak verildi. Modelinize göre farklı işlemler gerekebilir return image # Video işlemi fonksiyonu def correct_gaze_in_video(video_path): # Video dosyasını aç cap = cv2.VideoCapture(video_path) fps = cap.get(cv2.CAP_PROP_FPS) width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) # Çıkış videosu için ayarlar output_path = "corrected_gaze_output.mp4" fourcc = cv2.VideoWriter_fourcc(*'mp4v') out = cv2.VideoWriter(output_path, fourcc, fps, (width, height)) while cap.isOpened(): ret, frame = cap.read() if not ret: break # Göz temasını düzeltmek için her kareyi işleme inputs = preprocess_image(frame) # Görüntüyü modele uygun hale getir corrected_frame = model(inputs) # Modeli kullanarak kareyi işleyin # Çıkışı video dosyasına ekleyin out.write(corrected_frame) # Kaynakları serbest bırak cap.release() out.release() return output_path # Gradio arayüzü iface = gr.Interface( fn=correct_gaze_in_video, # İşlem fonksiyonumuz inputs="file", # Kullanıcıdan video dosyası girişi outputs="file", # İşlenmiş video dosyası çıktısı title="Gaze Correction in Video", description="Upload a video to correct gaze direction." ) iface.launch()