1
0
Fork 0
su-collab/image/run_batch.py

58 lines
1.7 KiB
Python

# ensure to use my fork https://github.com/wattapik/MagickSlicer
import os
import subprocess
import shutil
def convert_to_jpg(input_file, output_dir):
try:
file_name_without_extension = os.path.splitext(os.path.basename(input_file))[0]
output_file = os.path.join("original", "jpg", f"{file_name_without_extension}.jpg")
convert_command = ["convert", input_file, "-quality", "100", output_file]
subprocess.run(convert_command)
print(f"Converted {input_file} to JPG")
process_image(output_file, output_dir)
except Exception as e:
print(f"Error converting {input_file} to JPG: {e}")
def process_image(input_file, output_dir):
try:
file_name_without_extension = os.path.splitext(os.path.basename(input_file))[0]
output_file = os.path.join(output_dir, file_name_without_extension, f"{file_name_without_extension}")
command = ["./magick-slicer.sh", input_file, output_file]
print(command)
print(output_file)
print(os.getcwd())
subprocess.run(command)
print(f"Processed {input_file}")
except Exception as e:
print(f"Error processing {input_file}: {e}")
def main():
input_dir = "original"
output_dir = "dzi"
os.makedirs(output_dir, exist_ok=True)
os.makedirs(os.path.join(input_dir, "jpg"), exist_ok=True)
image_files = []
for root, _, files in os.walk(input_dir):
for filename in files:
if filename.lower().endswith((".jpg", ".jpeg", ".png", ".gif")):
image_files.append(os.path.join(root, filename))
for input_file in image_files:
convert_to_jpg(input_file, output_dir)
shutil.rmtree(os.path.join(input_dir, "jpg"))
if __name__ == "__main__":
main()