zjuJish commited on
Commit
661c4ac
·
verified ·
1 Parent(s): c6d94d9

Upload layer_diff_dataset/batch_mask.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. layer_diff_dataset/batch_mask.py +52 -0
layer_diff_dataset/batch_mask.py ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import cv2
2
+ import numpy as np
3
+ import os
4
+ from pathlib import Path
5
+
6
+ # 定义文件夹路径
7
+ image_folder = '/home/jsh/nas_jianchong/sihui.jsh/data/video_dataset/YoutubeVIS/train/JPEGImages'
8
+ mask_folder = '/home/jsh/nas_jianchong/sihui.jsh/data/video_dataset/YoutubeVOS/train/Annotations'
9
+
10
+ # 定义输出文件夹路径
11
+ output_image_folder = '/home/jsh/nas_jianchong/sihui.jsh/data/video_dataset/YoutubeVOS/train/fg'
12
+ output_mask_folder = '/home/jsh/nas_jianchong/sihui.jsh/data/video_dataset/YoutubeVOS/train/mask'
13
+
14
+ # 创建输出文件夹如果它们不存在
15
+ Path(output_image_folder).mkdir(parents=True, exist_ok=True)
16
+ Path(output_mask_folder).mkdir(parents=True, exist_ok=True)
17
+
18
+ # 遍历JPEGImages目录中的所有子目录
19
+ for subdir in next(os.walk(image_folder))[1]:
20
+ print(subdir)
21
+ subdir_path = os.path.join(image_folder, subdir)
22
+ subdir_mask_path = os.path.join(mask_folder, subdir)
23
+ output_image_subdir = os.path.join(output_image_folder, subdir)
24
+ output_mask_subdir = os.path.join(output_mask_folder, subdir)
25
+ Path(output_image_subdir).mkdir(parents=True, exist_ok=True)
26
+ Path(output_mask_subdir).mkdir(parents=True, exist_ok=True)
27
+ # 遍历子目录里的所有文件
28
+ for filename in os.listdir(subdir_path):
29
+ if filename.lower().endswith(('.jpg', '.jpeg', '.png')):
30
+ # 读入图片和对应的掩码
31
+ img_path = os.path.join(subdir_path, filename)
32
+ mask_path = os.path.join(subdir_mask_path, filename.replace('.jpg', '.png'))
33
+ img = cv2.imread(img_path)
34
+ mask = cv2.imread(mask_path, cv2.IMREAD_GRAYSCALE).clip(0, 1)
35
+
36
+ # 如果图片和掩码读取成功
37
+ if img is not None and mask is not None:
38
+ # 应用掩码
39
+ mask_image = mask * 255
40
+ result_img = img * mask[:, :, np.newaxis]
41
+
42
+ # 构建输出文件名并保存图片和掩码
43
+ # output_img_name = f"{subdir}/{filename}"
44
+ # output_mask_name = f"{subdir}/{filename}"
45
+ output_img_path = os.path.join(output_image_subdir, filename.replace('.jpg', '.png'))
46
+ output_mask_path = os.path.join(output_mask_subdir, filename.replace('.jpg', '.png'))
47
+ # print(output_img_path)
48
+ # print(output_mask_path)
49
+
50
+ cv2.imwrite(output_img_path, result_img)
51
+ cv2.imwrite(output_mask_path, mask_image)
52
+ # exit(0)