GazeCorrection / app.py
mbesinci's picture
Create app.py
fee888e verified
raw
history blame
2 kB
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()