Spaces:
Running
Running
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() | |