Skip to content

minglet/img_cut_and_merge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

17 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

img_cut_and_merge

Description

puzzler.py : ์ด๋ฏธ์ง€๋ฅผ M x N์œผ๋กœ ์กฐ๊ฐ๋‚ด์–ด mirror, flip, rotation(90๋„ ๋˜๋Š” 270๋„)์„ 0.5์˜ ํ™•๋ฅ ๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค ์…”ํ”Œํ•œ๋‹ค.
unpuzzler.py : ์„ž์ธ ์ด๋ฏธ์ง€๋ฅผ ์ƒํ•˜์ขŒ์šฐ๋ฉด์˜ ํ”ฝ์…€ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์žฌํ˜„ํ•œ๋‹ค.


Instruction

puzzling image

M, N ํฌ๊ธฐ๋กœ ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ์กฐ๊ฐ๋‚ด์„œ mirror โ†’ flip โ†’ rotation ์ˆœ์„œ๋กœ 0.5์˜ ํ™•๋ฅ ๋กœ ๋ณ€ํ™˜ ํšจ๊ณผ๋ฅผ ์ฃผ๊ณ , ์กฐ๊ฐ์˜ ์ˆœ์„œ๋ฅผ ์„ž๋Š”๋‹ค. ์ด๋ฏธ์ง€๋Š” {image_file_name}_puzzle.png์˜ ์ด๋ฆ„์œผ๋กœ ์ €์žฅ๋œ๋‹ค.


[usage]: python puzzler.py image_file_name M N
[example]: $ python puzzler.py lenna.png 3 3

puzzled_image


unpuzzling image

  1. ์กฐ๊ฐ์˜ ๋ณ€ํ™˜์€ 8๊ฐ€์ง€์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ, ๊ฐ ์กฐ๊ฐ์— 8๊ฐ€์ง€ ๊ฒฝ์šฐ์˜ ์ƒํ•˜์ขŒ์šฐ ํ”ฝ์…€๊ฐ’์„ ๋น„๊ตํ•˜๊ณ  threshold๋ฅผ ์ฃผ์–ด ๊ฐ€์žฅ ์ด์›ƒํ•œ ์กฐ๊ฐ์„ ์„ ๋ณ„ํ•œ๋‹ค.
  2. 0๋ฒˆ์งธ ์กฐ๊ฐ์„ ๊ธฐ์ค€ ์กฐ๊ฐ์œผ๋กœ ์‹œ์ž‘ํ•ด์„œ ์•ž์„œ ๊ตฌํ•œ ์ด์›ƒํ•œ ์กฐ๊ฐ ์ˆœ์„œ๋กœ ์ฐจ๋ก€๋กœ ์œ„์˜ ๊ณผ์ •์„ ํ•œ๋ฒˆ ๋” ์ง„ํ–‰ํ•œ๋‹ค.
    (์˜ˆ) 0๋ฒˆ ์กฐ๊ฐ์˜ ์ด์›ƒํ•œ ์กฐ๊ฐ์ด 3๊ณผ 5๋ฒˆ์ด๋ผ๋ฉด, ๋‹ค์Œ ๋น„๊ต ๊ธฐ์ค€์€ 3๋ฒˆ ์กฐ๊ฐ, 5๋ฒˆ ์กฐ๊ฐ ์ˆœ์„œ๋กœ ๋น„๊ต๋ฅผ ์ง„ํ–‰
  3. ๊ธฐ์ค€ ์กฐ๊ฐ๊ณผ ๋น„๊ต ์กฐ๊ฐ ๊ฐ„์˜ ๋ณ€ํ™˜ ๊ด€๊ณ„๋ฅผ ๊ตฌํ•œ ๋‹ค์Œ ๊ธฐ์ค€ ์กฐ๊ฐ์„ ์ค‘์‹ฌ์œผ๋กœ ๋น„๊ต ์กฐ๊ฐ์„ ๋ณ€ํ™˜์‹œํ‚จ๋‹ค.
  4. ๋ชจ๋“  ์กฐ๊ฐ์˜ ์ด์›ƒํ•œ ์กฐ๊ฐ์„ ๊ตฌํ•˜๋ฉด ์ขŒ์ƒ๋‹จ์˜ ์กฐ๊ฐ๋ถ€ํ„ฐ ์ •ํ•œ ๋‹ค์Œ ๊ทธ ์กฐ๊ฐ์„ ๊ธฐ์ค€์œผ๋กœ ์ด์›ƒํ•œ ์กฐ๊ฐ์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ํผ์ฆ ์กฐ๊ฐ์„ ๋งž์ถ˜๋‹ค.

[usage]: python unpuzzler.py file_name M N
[example]: $ python unpuzzler.py lenna_puzzle.png 3 3

puzzled_image


Result & Discussions

ํ˜„์žฌ 2 x 2, 3 x 3์— ๋Œ€ํ•ด์„œ๋งŒ ํ…Œ์ŠคํŠธ๋ฅผ ์™„๋ฃŒ ํ•œ ์ƒํƒœ์ด๊ณ , ์ด๋ฏธ์ง€๊ฐ€ 1:1 ๋น„์œจ์ด ์•„๋‹Œ ๋‹ค๋ฅธ ์ด๋ฏธ์ง€ ๋น„์œจ์— ๋Œ€ํ•ด์„œ๋Š” ์ •ํ™•ํ•˜๊ฒŒ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ์ƒํƒœ์ด๋‹ค.
1:1 ๋น„์œจ์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋น„์œจ์˜ ์ด๋ฏธ์ง€์— ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ชจ๋“  ์กฐ๊ฐ์˜ ๊ฐ€๋กœ ์„ธ๋กœ ํ”ฝ์…€์„ ๋™์ผํ•˜๊ฒŒ ํ•ด์•ผํ•œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” rotation ํšจ๊ณผ๊ฐ€ ์ ์šฉ๋œ ์กฐ๊ฐ๋“ค์„ ํ•œ๋ฐฉํ–ฅ์œผ๋กœ (์˜ˆ: 90๋„) ํšŒ์ „์‹œ์ผœ ๊ฐ€๋กœ ์„ธ๋กœ ํ”ฝ์…€์„ ๋™์ผํ•˜๊ฒŒ ๋งž์ถ˜ ๋’ค ์œ„์˜ ๊ณผ์ •์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.


Reference

https://github.com/hummingbird-12/image_puzzle

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages