From 56d194a4300610a17cc3c6682aaf63f039e9c4ab Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期日, 03 八月 2025 16:11:37 +0800
Subject: [PATCH] add matanyone-better auqliaty than robustvideomatting

---
 auto_media_publisher/modifiers/video_matting/robust_video_matting_converter.py |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/auto_media_publisher/modifiers/video_matting/video_matting_converter.py b/auto_media_publisher/modifiers/video_matting/robust_video_matting_converter.py
similarity index 92%
rename from auto_media_publisher/modifiers/video_matting/video_matting_converter.py
rename to auto_media_publisher/modifiers/video_matting/robust_video_matting_converter.py
index f8662d6..85b69ca 100644
--- a/auto_media_publisher/modifiers/video_matting/video_matting_converter.py
+++ b/auto_media_publisher/modifiers/video_matting/robust_video_matting_converter.py
@@ -7,7 +7,7 @@
 import time
 from pathlib import Path
 from auto_media_publisher.utils.media_input_output import VideoReader, VideoWriter, ImageSequenceReader, ImageSequenceWriter
-from .matting_model.model import MattingNetwork
+from .robustvideomatting.model import MattingNetwork
 import uuid
 
 
@@ -18,7 +18,7 @@
 CHECKPOINT_MOBILENETV3 ="./models/rvm_mobilenetv3.pth"
 
 
-class VideoMattingConverter:
+class RobustVideoMattingConverter:
     """
     瑙嗛鎶犲儚杞崲鍣�
     灏佽鍘熸潵鐨� convert_video 閫昏緫锛屾敮鎸� video / png_sequence 杈撳嚭
@@ -43,7 +43,7 @@
     def video_matting(self,
                 input: str,
                 bg_video: Optional[str] = None,
-                bg_jpg: Optional[str] = None,
+                bg_image: Optional[str] = None,
                 output_video: Optional[str] = None,
                 output_alpha: Optional[str] = None,
                 output_fore: Optional[str] = None):
@@ -52,10 +52,11 @@
         if not os.path.exists(input):
             print("input file is NOT exist.")
             return False
+        
         if bg_video and not os.path.exists(bg_video):
             print("input background video is NOT exist.")
             return False
-        if bg_jpg and not os.path.exists(bg_jpg):
+        if bg_image and not os.path.exists(bg_image):
             print("input background image is NOT exist.")
             return False
        
@@ -65,7 +66,7 @@
             downsample_ratio = None,
             output_type = 'video',
             background_video = bg_video,
-            background_jpg = bg_jpg,
+            background_jpg = bg_image,
             with_audio = True,
             output_composition = output_video,
             output_alpha = output_alpha,
@@ -116,13 +117,13 @@
 
             if output_composition:
                 if with_audio:
-                    writer_com = VideoWriter(output_composition, frame_rate, int(output_video_mbps * 1_000_000),input_source)
+                    writer_com = VideoWriter(output_composition, frame_rate, source.width,source.height,int(output_video_mbps * 1_000_000),input_source)
                 else:
-                    writer_com = VideoWriter(output_composition, frame_rate, int(output_video_mbps * 1_000_000))
+                    writer_com = VideoWriter(output_composition, frame_rate, source.width,source.height,int(output_video_mbps * 1_000_000))
             if output_alpha:
-                writer_pha = VideoWriter(output_alpha, frame_rate, int(output_video_mbps * 1_000_000))
+                writer_pha = VideoWriter(output_alpha, frame_rate, source.width,source.height,int(output_video_mbps * 1_000_000))
             if output_foreground:
-                writer_fgr = VideoWriter(output_foreground, frame_rate, int(output_video_mbps * 1_000_000))
+                writer_fgr = VideoWriter(output_foreground, frame_rate,source.width,source.height, int(output_video_mbps * 1_000_000))
 
         else:  # png_sequence
             if output_composition:
@@ -141,7 +142,8 @@
                 bgr_IMG = Image.open(background_jpg)
                 bgr = transforms.ToTensor()(bgr_IMG).to(self.device)
             else:
-                bgr = torch.tensor([155, 255, 155], device=self.device, dtype=dtype).div(255).view(1, 1, 3, 1, 1)
+                # 浣跨敤 0,200,0 鑰屼笉鏄� 0,255,0 閬垮厤杩囧害鏇濆厜
+                bgr = torch.tensor([0, 200, 0], device=self.device, dtype=dtype).div(255).view(1, 1, 3, 1, 1)   
 
         # 寮�濮嬫帹鐞�
         self.model = self.model.eval()

--
Gitblit v1.9.1