41 lines
1.1 KiB
Plaintext
41 lines
1.1 KiB
Plaintext
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
input="$1" # Replace with your input directory path
|
||
|
|
output_dir="$2" # Replace with your output directory path
|
||
|
|
|
||
|
|
# Ensure the output directory exists or create it
|
||
|
|
mkdir -p "$output_dir"
|
||
|
|
|
||
|
|
split_img() {
|
||
|
|
file=$1
|
||
|
|
filename=$(basename "$file")
|
||
|
|
filename_without_extension="${filename%.*}"
|
||
|
|
extension="${filename##$filename_without_extension}"
|
||
|
|
output_file1="$output_dir/${filename_without_extension}_left${extension}"
|
||
|
|
output_file2="$output_dir/${filename_without_extension}_right${extension}"
|
||
|
|
|
||
|
|
# Get the width of the image
|
||
|
|
width=$(identify -format "%w" "$file")
|
||
|
|
|
||
|
|
# Use ImageMagick to split the image in half
|
||
|
|
magick "$file" -crop "50%x100%+0+0" "$output_file1"
|
||
|
|
magick "$file" -crop "50%x100%+$((width / 2))+0" "$output_file2"
|
||
|
|
|
||
|
|
echo "Split $filename into $output_file1 and $output_file2"
|
||
|
|
}
|
||
|
|
|
||
|
|
# Loop through all JPEG files in the input directory
|
||
|
|
if [[ -d $input ]]; then
|
||
|
|
echo "Processing images in directory: $input"
|
||
|
|
for file in "$input/*.(jpg|jpeg|png)"; do
|
||
|
|
if [ -e "$file" ]; then
|
||
|
|
split_img "$file"
|
||
|
|
fi
|
||
|
|
done
|
||
|
|
else
|
||
|
|
split_img $input
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "Splitting completed."
|
||
|
|
|