Browse Source

add check arg

Xintao 3 years ago
parent
commit
2c20a354b6
2 changed files with 17 additions and 4 deletions
  1. 1 1
      Training.md
  2. 16 3
      scripts/generate_meta_info.py

+ 1 - 1
Training.md

@@ -216,7 +216,7 @@ Download pre-trained models into `experiments/pretrained_models`.
     wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.3/RealESRGAN_x4plus_netD.pth -P experiments/pretrained_models
     ```
 
-**Finetune**
+**3. Finetune**
 
 Modify [options/finetune_realesrgan_x4plus_pairdata.yml](options/finetune_realesrgan_x4plus_pairdata.yml) accordingly, especially the `datasets` part:
 

+ 16 - 3
scripts/generate_meta_info.py

@@ -1,4 +1,5 @@
 import argparse
+import cv2
 import glob
 import os
 
@@ -8,9 +9,20 @@ def main(args):
     for folder, root in zip(args.input, args.root):
         img_paths = sorted(glob.glob(os.path.join(folder, '*')))
         for img_path in img_paths:
-            img_name = os.path.relpath(img_path, root)
-            print(img_name)
-            txt_file.write(f'{img_name}\n')
+            status = True
+            if args.check:
+                try:
+                    img = cv2.imread(img_path)
+                except Exception as error:
+                    print(f'Read {img_path} error: {error}')
+                    status = False
+                if img is None:
+                    status = False
+                    print(f'Img is None: {img_path}')
+            if status:
+                img_name = os.path.relpath(img_path, root)
+                print(img_name)
+                txt_file.write(f'{img_name}\n')
 
 
 if __name__ == '__main__':
@@ -34,6 +46,7 @@ if __name__ == '__main__':
         type=str,
         default='datasets/DF2K/meta_info/meta_info_DF2Kmultiscale.txt',
         help='txt path for meta info')
+    parser.add_argument('--check', action='store_true', help='Read image to check whether it is ok')
     args = parser.parse_args()
 
     assert len(args.input) == len(args.root), ('Input folder and folder root should have the same length, but got '