Skip to content

leeseomin/rotate-and-merge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

14 Commits
ย 
ย 

Repository files navigation

๐ŸŸก rotate-and-merge in osx terminal

๐ŸŸฉ Perform rotate and merge operations on images within a specific folder.

๐ŸŸง The images must have equal width and height.

๐ŸŸก sh : script entry in terminal

3 x 3 rotate and merge


#!/bin/bash

# ์ž„์‹œ ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ
mkdir temp_images

# ํ˜„์žฌ ํด๋” ๋‚ด์˜ ๋ชจ๋“  ์ด๋ฏธ์ง€ ํŒŒ์ผ์— ๋Œ€ํ•ด ๋ฐ˜๋ณต
for original in *.*; do
    # ํŒŒ์ผ ํ™•์žฅ์ž ๋ฐ ์ด๋ฆ„ ์ถ”์ถœ
    filename=$(basename "$original")
    extension="${filename##*.}"
    filename="${filename%.*}"

    # ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ temp_images ๋””๋ ‰ํ† ๋ฆฌ์— ๋ณต์‚ฌ
    cp "$original" "temp_images/0.png"

    # ์ด๋ฏธ์ง€๋ฅผ ๋ณต์ œํ•˜๊ณ  90๋„์”ฉ ํšŒ์ „
    for i in {1..8}; do
        angle=$((90 * i))
        convert "temp_images/0.png" -rotate $angle "temp_images/$i.png"
    done

    # ๋ชจ๋“  ์ด๋ฏธ์ง€๋ฅผ ๋ณ‘ํ•ฉํ•˜์—ฌ ์ตœ์ข… ํŒŒ์ผ ์ €์žฅ
    montage temp_images/*.png -tile 3x3 -geometry +0+0 "${filename}_merged.${extension}"

    # ์ž„์‹œ ์ด๋ฏธ์ง€ ํŒŒ์ผ ์‚ญ์ œ
    rm temp_images/*.png
done

# ์ž„์‹œ ๋””๋ ‰ํ† ๋ฆฌ ์‚ญ์ œ
rmdir temp_images


5 x 5 rotate and merge

#!/bin/bash

# ์ž„์‹œ ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ
mkdir temp_images

# ํ˜„์žฌ ํด๋” ๋‚ด์˜ ๋ชจ๋“  ์ด๋ฏธ์ง€ ํŒŒ์ผ์— ๋Œ€ํ•ด ๋ฐ˜๋ณต
for original in *.*; do
    # ํŒŒ์ผ ํ™•์žฅ์ž ๋ฐ ์ด๋ฆ„ ์ถ”์ถœ
    filename=$(basename "$original")
    extension="${filename##*.}"
    filename="${filename%.*}"

    # ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ temp_images ๋””๋ ‰ํ† ๋ฆฌ์— ๋ณต์‚ฌ
    cp "$original" "temp_images/0.png"

    # ์ด๋ฏธ์ง€๋ฅผ ๋ณต์ œํ•˜๊ณ  90๋„์”ฉ ํšŒ์ „
    for i in {1..24}; do
        angle=$((90 * i))
        convert "temp_images/0.png" -rotate $angle "temp_images/$i.png"
    done

    # ๋ชจ๋“  ์ด๋ฏธ์ง€๋ฅผ ๋ณ‘ํ•ฉํ•˜์—ฌ ์ตœ์ข… ํŒŒ์ผ ์ €์žฅ
    montage temp_images/*.png -tile 5x5 -geometry +0+0 "${filename}_merged.${extension}"

    # ์ž„์‹œ ์ด๋ฏธ์ง€ ํŒŒ์ผ ์‚ญ์ œ
    rm temp_images/*.png
done

# ์ž„์‹œ ๋””๋ ‰ํ† ๋ฆฌ ์‚ญ์ œ
rmdir temp_images

7 x 7 rotate and merge

#!/bin/bash

# ์ž„์‹œ ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ
mkdir temp_images

# ํ˜„์žฌ ํด๋” ๋‚ด์˜ ๋ชจ๋“  ์ด๋ฏธ์ง€ ํŒŒ์ผ์— ๋Œ€ํ•ด ๋ฐ˜๋ณต
for original in *.*; do
    # ํŒŒ์ผ ํ™•์žฅ์ž ๋ฐ ์ด๋ฆ„ ์ถ”์ถœ
    filename=$(basename "$original")
    extension="${filename##*.}"
    filename="${filename%.*}"

    # ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ temp_images ๋””๋ ‰ํ† ๋ฆฌ์— ๋ณต์‚ฌ
    cp "$original" "temp_images/0.png"

    # ์ด๋ฏธ์ง€๋ฅผ ๋ณต์ œํ•˜๊ณ  90๋„์”ฉ ํšŒ์ „
    for i in {1..48}; do
        angle=$((90 * i))
        convert "temp_images/0.png" -rotate $angle "temp_images/$i.png"
    done

    # ๋ชจ๋“  ์ด๋ฏธ์ง€๋ฅผ ๋ณ‘ํ•ฉํ•˜์—ฌ ์ตœ์ข… ํŒŒ์ผ ์ €์žฅ
    montage temp_images/*.png -tile 7x7 -geometry +0+0 "${filename}_merged.${extension}"

    # ์ž„์‹œ ์ด๋ฏธ์ง€ ํŒŒ์ผ ์‚ญ์ œ
    rm temp_images/*.png
done

# ์ž„์‹œ ๋””๋ ‰ํ† ๋ฆฌ ์‚ญ์ œ
rmdir temp_images

9 x 9 rotate and merge

#!/bin/bash

# ์ž„์‹œ ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ
mkdir temp_images

# ํ˜„์žฌ ํด๋” ๋‚ด์˜ ๋ชจ๋“  ์ด๋ฏธ์ง€ ํŒŒ์ผ์— ๋Œ€ํ•ด ๋ฐ˜๋ณต
for original in *.*; do
    # ํŒŒ์ผ ํ™•์žฅ์ž ๋ฐ ์ด๋ฆ„ ์ถ”์ถœ
    filename=$(basename "$original")
    extension="${filename##*.}"
    filename="${filename%.*}"

    # ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ temp_images ๋””๋ ‰ํ† ๋ฆฌ์— ๋ณต์‚ฌ
    cp "$original" "temp_images/0.png"

    # ์ด๋ฏธ์ง€๋ฅผ ๋ณต์ œํ•˜๊ณ  90๋„์”ฉ ํšŒ์ „
    for i in {1..80}; do
        angle=$((90 * i))
        convert "temp_images/0.png" -rotate $angle "temp_images/$i.png"
    done

    # ๋ชจ๋“  ์ด๋ฏธ์ง€๋ฅผ ๋ณ‘ํ•ฉํ•˜์—ฌ ์ตœ์ข… ํŒŒ์ผ ์ €์žฅ
    montage temp_images/*.png -tile 9x9 -geometry +0+0 "${filename}_merged.${extension}"

    # ์ž„์‹œ ์ด๋ฏธ์ง€ ํŒŒ์ผ ์‚ญ์ œ
    rm temp_images/*.png
done

# ์ž„์‹œ ๋””๋ ‰ํ† ๋ฆฌ ์‚ญ์ œ
rmdir temp_images

About

rotate and merge operations on images

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages