ํ๋์ ์ ์ฅ์์์ 3๊ฐ์ง ์ ์์๋ช ๊ด๋ จ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ Python GUI ์ ํ๋ฆฌ์ผ์ด์ ๋ชจ์์ ๋๋ค.
ํ์ ๋ฐฐ๊ฒฝ์ ์๋ช
์ด๋ ๋์ฅ ์ฌ์ง์์ ๋ฐฐ๊ฒฝ์ ์ ๊ฑฐํ์ฌ ํฌ๋ช
ํ ์ ์ ์๋ช
์ ๋ง๋๋ ๋๊ตฌ

๋ง์ฐ์ค๋ ํฐ์นํจ๋๋ก ์ง์ ์๋ช
์ ๊ทธ๋ ค ๋์งํธ ์๋ช
์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๋๊ตฌ

- Python 3.7 ์ด์
- Windows, macOS, Linux ์ง์
git clone https://github.com/dusvlf111/digital_signature.gitpip install -r requirements.txt๋๋ ๊ฐ๋ณ ์ค์น:
pip install pillow numpy scipy tkinter# 1. ๋๋ผ๋ฐ๊ธฐ ์ ์์๋ช
/๋์ฅ ์์ฑ๊ธฐ
python background_remover.py
# 2. ์๊ธ์จ ์๋ช
์์ฑ๊ธฐ
python handwritten_signature.py
# 3. ์ง์ ๊ทธ๋ฆฌ๋ ๋์ฅ ์์ฑ๊ธฐ
python stamp_maker.py- ์๋ ๋ฐฐ๊ฒฝ ์ ๊ฑฐ: ํ์ ๋ฐฐ๊ฒฝ์ ์๋์ผ๋ก ๊ฐ์งํ๊ณ ์ ๊ฑฐ
- ๊ทธ๋ฆผ์ ์ ๊ฑฐ: ์ข ์ด๋ ์ค์บ ์ ์๊ธฐ๋ ๊ทธ๋ฆผ์ ์๋ ์ ๊ฑฐ
- ์ ๋ง ์ถ์ถ: ์๋ช ์ด๋ ๋์ฅ์ ์ ๋ง ๊น๋ํ๊ฒ ์ถ์ถ
- ์ค์๊ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ: ์ค์ ๋ณ๊ฒฝ ์ ์ฆ์ ๊ฒฐ๊ณผ ํ์ธ
- ์๋ ์ต์ ํ: ์ด๋ฏธ์ง ํน์ฑ์ ๋ง๋ ์๋ ์ค์
- ์ด๋ฏธ์ง ์ ๋ก๋: ํ์ ๋ฐฐ๊ฒฝ์ ์๋ช /๋์ฅ ์ฌ์ง ์ ํ
- ์๋ ์ฒ๋ฆฌ: ์ ๋ก๋ ์ ์๋์ผ๋ก ๋ฐฐ๊ฒฝ ์ ๊ฑฐ ์คํ
- ์ค์ ์กฐ์ : ํ์์ ๋ฐฐ๊ฒฝ ์ ๊ฑฐ ๊ฐ๋, ๋๋น ๋ฑ ์ธ๋ถ ์กฐ์
- ์ ์ฅ: PNG(ํฌ๋ช ) ๋๋ JPG(ํฐ์ ๋ฐฐ๊ฒฝ)๋ก ์ ์ฅ
- ๋ฐฐ๊ฒฝ ์ ๊ฑฐ ๊ฐ๋ (150-250): ๋์์๋ก ๋ ๋ง์ ๋ฐฐ๊ฒฝ ์ ๊ฑฐ
- ๊ทธ๋ฆผ์ ์ ๊ฑฐ ๊ฐ๋ (100-200): ๋ฎ์์๋ก ๋ ๋ง์ ๊ทธ๋ฆผ์ ์ ๊ฑฐ
- ๋๋น ๊ฐํ (1.0-4.0): ๋์์๋ก ์ ๋ช ํ๊ฒ
- ์ ๋ง ์ถ์ถ ๋ชจ๋: ์๋ช /๋์ฅ์ ์ ๋ง ๊น๋ํ๊ฒ ์ถ์ถ
- ์์ ๋ก์ด ๊ทธ๋ฆฌ๊ธฐ: ๋ง์ฐ์ค๋ก ์์ฐ์ค๋ฌ์ด ์๊ธ์จ ์๋ช ์์ฑ
- ํ ์ค์ ์กฐ์ : ์์, ๊ตต๊ธฐ ์์ ์์ฌ๋ก ๋ณ๊ฒฝ
- ์ค์๊ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ: ๊ทธ๋ฆฐ ์๋ช ์ ์ฆ์ ํ์ธ
- ๋งค๋๋ฌ์ด ์ : ๋ฅ๊ทผ ๋์ ๊ณผ ๋ถ๋๋ฌ์ด ๊ณก์ ์ง์
- ํ ์ค์ : ๊ตต๊ธฐ(1-15px)์ ์์ ์ ํ
- ์๋ช ๊ทธ๋ฆฌ๊ธฐ: ํฐ์ ์บ๋ฒ์ค์์ ๋ง์ฐ์ค๋ก ์๋ช ์์ฑ
- ๋ฏธ๋ฆฌ๋ณด๊ธฐ: '๋ฏธ๋ฆฌ๋ณด๊ธฐ' ๋ฒํผ์ผ๋ก ๊ฒฐ๊ณผ ํ์ธ
- ์ ์ฅ: PNG(ํฌ๋ช ) ๋๋ JPG(ํฐ์ ๋ฐฐ๊ฒฝ)๋ก ์ ์ฅ
| ์๋ช ์คํ์ผ | ๊ตต๊ธฐ | ์์ | ํน์ง |
|---|---|---|---|
| ์ ์ ์๋ช | 3-4px | ๊ฒ์์ | ๊ณต์ ๋ฌธ์์ฉ |
| ์ผ๋ฐ ์๋ช | 2-3px | ์งํ ํ๋์ | ์ผ์์ ์ฌ์ฉ |
| ๊ฐ์กฐ ์๋ช | 5-7px | ๊ฒ์์ | ์ค์ ๋ฌธ์์ฉ |
- ๋ค์ํ ๋์ฅ ๋ชจ์: ์ฌ๊ฐํ, ์ํ, ํ์ํ, ๋ฅ๊ทผ์ฌ๊ฐํ ๋ฑ
- ๊ฐ์ด๋ ๊ทธ๋ฆฌ๋: ํ๊ธ์ญ์, 1x1~4x4 ๋ค์ํ ๋ถํ
- ์กฐ๊ฐ ํจ๊ณผ: ์๊ฐ(์ผ๋ฐ), ์๊ฐ(์คํ ์ค) ํจ๊ณผ
- ๊ธฐ๋ณธ ์ค์ ํ๋ฆฌ์ : ๊ฐ์ธ๋์ฅ, ํ์ฌ๋์ฅ, ์๋ช ๋์ฅ
- ๊ธฐ๋ณธ ์ค์ ์ ํ: ๊ฐ์ธ/ํ์ฌ/์๋ช ๋์ฅ ํ๋ฆฌ์ ์ค ์ ํ
- ์ธ๋ถ ์ค์ : ํ ๋๋ฆฌ ๋ชจ์, ๊ฐ์ด๋ ๊ทธ๋ฆฌ๋, ์กฐ๊ฐ ํจ๊ณผ ์กฐ์
- ๋์ฅ ๊ทธ๋ฆฌ๊ธฐ: ๊ฐ์ด๋๋ฅผ ์ฐธ๊ณ ํ์ฌ ๊ธ์๋ ๊ทธ๋ฆผ ์์ฑ
- ์ต์ข ์์ฑ: ๋์ฅ ์์ ์ ํ ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์์ฑ ๋ฐ ์ ์ฅ
- ์๊ฐ: ๊ธ์์ ํ ๋๋ฆฌ๊ฐ ์์์ผ๋ก ์ฐํ๋ ์ผ๋ฐ ๋์ฅ
- ์๊ฐ: ๊ธ์์ ํ ๋๋ฆฌ๊ฐ ํฌ๋ช ํ๊ฒ ๋ซ๋ฆฌ๋ ์คํ ์ค ๋์ฅ
- PNG, JPG
- PNG: ํฌ๋ช ๋ฐฐ๊ฒฝ (๊ถ์ฅ)
- JPG/JPEG: ํฐ์ ๋ฐฐ๊ฒฝ
-
๊ณ์ฝ์ ์ ์ ์๋ช
- ์๊ธ์จ ์๋ช ์์ฑ๊ธฐ๋ก ๋์งํธ ์๋ช ์์ฑ
- ๋๋ผ๋ฐ๊ธฐ ๋๊ตฌ๋ก ๊ธฐ์กด ์๋ช ๋์งํธํ
-
ํ์ฌ ๋์ฅ/๋ก๊ณ
- ๋์ฅ ์์ฑ๊ธฐ๋ก ํ์ฌ ๋ก๊ณ ์ ์
- ๋๋ผ๋ฐ๊ธฐ ๋๊ตฌ๋ก ๊ธฐ์กด ๋์ฅ ๋์งํธํ
-
๊ฐ์ธ ์ธ๊ฐ/๋์ฅ
- ๋์ฅ ์์ฑ๊ธฐ๋ก ๊ฐ์ธ ๋์ฅ ๋์์ธ
- ๋ค์ํ ์คํ์ผ๊ณผ ํจ๊ณผ ์ ์ฉ
-
๋์งํธ ์ํธ์ํฌ
- ๋ชจ๋ ๋๊ตฌ๋ฅผ ํ์ฉํ ์ฐฝ์ ํ๋
- ๋ธ๋ก๊ทธ, SNS ์๋ช ์ ์
# PIL/Pillow ์ค์น ์ค๋ฅ
pip install --upgrade pillow
# tkinter ๋ชจ๋ ์์ (Linux)
sudo apt-get install python3-tk
# scipy ์ค์น (์ ํ์ฌํญ)
pip install scipy| ๋ฌธ์ | ํด๊ฒฐ ๋ฐฉ๋ฒ |
|---|---|
| ๋ฐฐ๊ฒฝ ์ ๊ฑฐ๊ฐ ์๋จ | ๋ฐฐ๊ฒฝ ์ ๊ฑฐ ๊ฐ๋ ์กฐ์ , ๊ทธ๋ฆผ์ ์ ๊ฑฐ ํ์ฑํ |
| ์๋ช ์ด ๋์ด์ง | ๋ง์ฐ์ค๋ฅผ ์ฒ์ฒํ ์์ง์ด๊ธฐ |
| ๋์ฅ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์์ฑ ์๋จ | ๋จผ์ ๊ทธ๋ฆฌ๊ธฐ ์์ญ์ ๋ด์ฉ ์์ฑ |
| ์ ์ฅ์ด ์๋จ | ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๋จผ์ ์์ฑํ ํ ์ ์ฅ |
- ์ด ๋๊ตฌ๋ค๋ก ๋ง๋ ์๋ช /๋์ฅ์ ๋์์ธ ๋ฐ ๊ฐ์ธ ์ฉ๋์ ๋๋ค
- ๊ณต์์ ์ธ ๋ฒ์ ๋ฌธ์๋ ์ธ๊ฐ ์ฉ๋๋ก ์ฌ์ฉํ์ง ๋ง์ธ์
- ์ค์ ์ธ๊ฐ์ด๋ ๊ณต์ ์๋ช ์ด ํ์ํ ๊ฒฝ์ฐ ์ ๋ฌธ ๊ธฐ๊ด์ ์ด์ฉํ์ธ์
- ํ์ธ์ ์๋ช ์ด๋ ๋์ฅ์ ๋ฌด๋จ์ผ๋ก ๋ณต์ ํ์ง ๋ง์ธ์
- ์ด ์ ์ฅ์๋ฅผ ํฌํฌํ์ธ์
- ์๋ก์ด ๊ธฐ๋ฅ ๋ธ๋์น๋ฅผ ๋ง๋์ธ์ (
git checkout -b feature/์๊ธฐ๋ฅ) - ๋ณ๊ฒฝ์ฌํญ์ ์ปค๋ฐํ์ธ์ (
git commit -am '์ ๊ธฐ๋ฅ ์ถ๊ฐ') - ๋ธ๋์น์ ํธ์ํ์ธ์ (
git push origin feature/์๊ธฐ๋ฅ) - Pull Request๋ฅผ ์์ฑํ์ธ์
- ์ด์ ํญ์์ ๋ฒ๊ทธ๋ฅผ ์ ๊ณ ํด์ฃผ์ธ์
- ๊ฐ๋ฅํ ํ ์์ธํ ์ ๋ณด์ ์คํฌ๋ฆฐ์ท์ ํฌํจํด์ฃผ์ธ์
- ์๋ก์ด ๊ธฐ๋ฅ ์์ด๋์ด๊ฐ ์์ผ์๋ฉด ์ด์๋ก ์ ์ํด์ฃผ์ธ์
- ์ฌ์ฉ์ ํผ๋๋ฐฑ์ ๋ฐํ์ผ๋ก ์ง์์ ์ผ๋ก ๊ฐ์ ํ๊ณ ์์ต๋๋ค
์ด ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ ์ค ํ์ ์ ๊ณต๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ LICENSE ํ์ผ์ ์ฐธ์กฐํ์ธ์.
- ์ผ๊ด ์ฒ๋ฆฌ ๊ธฐ๋ฅ (์ฌ๋ฌ ์ด๋ฏธ์ง ๋์ ์ฒ๋ฆฌ)
- ์๋ช ํ ํ๋ฆฟ ์ ์ฅ/๋ถ๋ฌ์ค๊ธฐ
- ๋ ๋ง์ ๋์ฅ ์คํ์ผ๊ณผ ํจ๊ณผ
- ํ๋ธ๋ฆฟ ํ์ ๊ฐ์ง ์ง์
- ์น ๋ฒ์ ์ ๊ณต
- API ์๋น์ค ์ ๊ณต
- ์ด์: GitHub Issues
- ํ ๋ก : GitHub Discussions
- ์ค์ํ ๋ฌธ์์ฌํญ์ด ์์ผ์๋ฉด ์ด๋ฉ์ผ๋ก ์ฐ๋ฝ์ฃผ์ธ์
์ด ํ๋ก์ ํธ๊ฐ ๋์์ด ๋์ จ๋ค๋ฉด โญ ์คํ๋ฅผ ๋๋ฌ์ฃผ์ธ์! ์ฌ๋ฌ๋ถ์ ๊ด์ฌ๊ณผ ํผ๋๋ฐฑ์ด ํ๋ก์ ํธ ๋ฐ์ ์ ํฐ ๋์์ด ๋ฉ๋๋ค.
๐จ ์ฆ๊ฑฐ์ด ์ ์์๋ช ๋๊ตฌ ์ฌ์ฉ๋์ธ์!










