17. ์ง์ ํ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด๋ณด์. ์นํฐ/์ฝ๋ฏน์ค ์ด๋ฏธ์ง ์ ์ธ๊ตญ์ด, ํด๋ฆญ ํ ๋ฒ์ ์๋ ๋ฒ์ญ๊ธฐ ๋ง๋ค๊ธฐ (๊ธฐํ ํธ)
์๋ ํ์ธ์. ํ์ด์ฌ์ ๋งค๋ ฅ์ ํน ๋น ์ ธ ์ผ์์ ๋ถํธํจ์ ์ฝ๋๋ก ํ๋์ฉ ํด๊ฒฐํด ๋๊ฐ๊ณ ์๋ ์ด๋ณด ๊ฐ๋ฐ์์ ๋๋ค. ์ฝ๋ฉ์ ๋ฐฐ์ฐ๋ฉด์ ๊ฐ์ฅ ์ข์ ์ ์, ํ์์ "์, ์ด๊ฑฐ ๋๊ฐ ๋์ ์ข ํด์คฌ์ผ๋ฉด ์ข๊ฒ ๋ค" ์ถ์๋ ๋จ์ ๋ฐ๋ณต ์์ ๋ค์ ์ ์์ผ๋ก ์ง์ ์๋ํํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
์ด๋ฒ์ ์ ๊ฐ ๊ธฐํํ๊ณ ๋์ ํ๊ฒ ๋ ํ์ด์ฌ ํ ์ด ํ๋ก์ ํธ๋ ๋ฐ๋ก '์ด๋ฏธ์ง ์ ํ ์คํธ ์๋ ๋ฒ์ญ ๋ฐ ๊ต์ฒด ํ๋ก๊ทธ๋จ'์ ๋๋ค.
๋ฒ๊ฑฐ๋ก์ด ์์์ ์ ๊ทธ๋ง, ํ์ด์ฌ์ผ๋ก ์๋ํ๋ฅผ ๊ฟ๊พธ๋ค
์ธํฐ๋ท์์ ํด์ธ ์นํฐ์ด๋ ๋งํ, ํน์ ์ ์ฉํ ์ธ๊ตญ IT ์ธํฌ๊ทธ๋ํฝ ์๋ฃ๋ฅผ ๋ณด๋ค ๋ณด๋ฉด ์ธ์ด์ ์ฅ๋ฒฝ์ ๋ถ๋ชํ ๋๊ฐ ๋ง์ต๋๋ค. ํนํ ํ ์คํธ๊ฐ ๋ณต์ฌ๋์ง ์๋ ์ด๋ฏธ์ง ํ์ผ(.jpg, .png, ์ฌ์ง์ด ์์ฆ ๋ง์ด ์ฐ์ด๋ .webp ํฌ๋งท๊น์ง)์ธ ๊ฒฝ์ฐ์ ์ ๋ง ๋๊ฐํ์ฃ . ์ค๋งํธํฐ ๋ฒ์ญ๊ธฐ ์ฑ์ ์ผ์ ์ฌ์ง์ ์ฐ๊ฑฐ๋, ๋ชจ๋ํฐ์ ๋๊ณ ํ ๋ ํ ๋ ๊ธ์๋ฅผ ๋ฌธ์ง๋ฌ์ ๋ฒ์ญ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํด์ผ ํฉ๋๋ค. ์ผ๋ณธ์ด, ์์ด, ์ค๊ตญ์ด ๋ฑ ์ธ์ด๊ฐ ๋ฐ๋ ๋๋ง๋ค ์ค์ ๋ ๋ง์ ธ์ค์ผ ํ๊ณ ์.
ํนํ ์ฝ๋ฏน์ค๋ ๋งํ์ฑ ์ฒ๋ผ ์์ญ ์ฅ์ ์ด๋ฏธ์ง๊ฐ ํ๋์ ZIP ํ์ผ๋ก ์์ถ๋์ด ์๋ ๊ฒฝ์ฐ์๋ ์ด ์์์ ์ด ์์ฒญ๋ ์ค๋ ธ๋์ด ๋ฉ๋๋ค. ๋งํ์ ์์ ๊ธ์๋ค์ ํฐํธ๋ ์ ๊ฐ๊ฐ์ด๊ณ , ์ธ๋ก๋ก ์ ํ ์๊ฑฐ๋ ํฌ๊ธฐ๋ ๋ค์ญ๋ ์ญํด์ ๊ธฐ์กด ๋ฒ์ญ๊ธฐ๋ค๋ก๋ ํ๊ณ๊ฐ ๋ช ํํ์ต๋๋ค. ๊ทธ๋์ ๊ฒฐ์ฌํ์ต๋๋ค. "ํ์ด์ฌ์ผ๋ก ์์ถ ํ์ผ๋ง ํญ ๋์ ธ์ฃผ๋ฉด, ์์์ ์ด๋ฏธ์ง๋ฅผ ์ฝ๊ณ ๋ฒ์ญํด์ ๊ธ์๋ฅผ ๋ฎ์ด์์ ์ฃผ๋ ๋๋ง์ ๋ฒ์ญ๊ธฐ๋ฅผ ๋ง๋ค์ด๋ณด์!"
ํต์ฌ ๊ธฐ์ 3๋์ฅ: OCR, ๋ฒ์ญ API, ๊ทธ๋ฆฌ๊ณ ์ด๋ฏธ์ง ์ฒ๋ฆฌ
์ด ๊ฑฐ์ฐฝํ(?) ์์ด๋์ด๋ฅผ ์คํํ๊ธฐ ์ํด ๊ตฌ๊ธ๋ง์ ๊ฑฐ๋ญํ๋ฉฐ ํ์ํ ๊ธฐ์ ๋ค์ ์ค๊ณํด ๋ณด์์ต๋๋ค. ํฌ๊ฒ ์ธ ๊ฐ์ง์ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํ์ต๋๋ค.
์ฒซ ๋ฒ์งธ๋ ์ด๋ฏธ์ง์์ ๊ธ์๋ง ์์ ๋ฝ์๋ด๋ ๊ธฐ์ , ๋ฐ๋ก ๊ดํ ๋ฌธ์ ์ธ์(OCR)์ ๋๋ค. ๊ตฌ๊ธ์ 'Tesseract(ํ ์๋ํธ)'๋ ๋ค์ด๋ฒ ํด๋ก๋ฐ ๋ฑ์ API๋ฅผ ํ์ฉํ๋ฉด ์ด๋ฏธ์ง ์์ ๋ค์ํ ํฐํธ์ ๊ธฐ์ธ์ด์ง ๊ธ์จ๋ค๊น์ง ํ ์คํธ ๋ฐ์ดํฐ๋ก ์ถ์ถํ ์ ์์ต๋๋ค.
๋ ๋ฒ์งธ๋ ๋ฝ์๋ธ ์ธ๊ตญ์ด(์ผ๋ณธ์ด, ์์ด, ์ค๊ตญ์ด ๋ฑ)๋ฅผ ์์ฐ์ค๋ฌ์ด ํ๊ตญ์ด๋ก ๋ฐ๊ฟ์ค '๋ฒ์ญ ๋ชจ๋'์ ๋๋ค. ๊ตฌ๊ธ ๋ฒ์ญ API๋ ํํ๊ณ , ํน์ DeepL(๋ฅ์) ๊ฐ์ ํ๋ฅญํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ๋ํ๋ฉด ํ ์คํธ๋ฅผ ๋์ ธ์ฃผ๋ ์ฆ์ ๊ณ ํ์ง์ ๋ฒ์ญ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค๋ฐ์ ์ ์์ต๋๋ค.
์ธ ๋ฒ์งธ๋ ์ด ํ๋ก์ ํธ์ ํ์ด๋ผ์ดํธ์ธ '์ด๋ฏธ์ง ์ฒ๋ฆฌ(OpenCV, Pillow)'์ ๋๋ค. ๋จ์ํ ๋ฒ์ญ๋ง ํ๋ ๊ฒ์ด ์๋๋ผ, ์๋ณธ ์ด๋ฏธ์ง์์ ์๋ ๊ธ์๊ฐ ์๋ ๋งํ์ ์์น๋ฅผ ์ฐพ์ ๋ฐฐ๊ฒฝ์์ผ๋ก ๊น๋ํ๊ฒ ์ง์๋ฒ๋ฆฌ๊ณ , ๊ทธ ์์ ๋ฐฉ๊ธ ๋ฒ์ญ๋ ํ๊ตญ์ด ํ ์คํธ๋ฅผ ์ด์ํ์ง ์๊ฒ ๋ค์ ๊ทธ๋ ค ๋ฃ๋ ์์ ์ ๋๋ค.
์ฌ์ฉ์ ํธ์์ฑ์ ์ํ ๋์๋ ์์ฌ: GUI์ ์คํ ํ์ผ(.exe) ๋ฐฐํฌ
์ฒ์์๋ ๊น๋ง ํฐ๋ฏธ๋ ์ฐฝ(CMD)์์ ๋ช ๋ น์ด๋ฅผ ์ณ์ ์๋ํ๋ ํฌ๋ฐํ ์คํฌ๋ฆฝํธ๋ก ์์ํ๋ ค ํ์ต๋๋ค. ํ์ง๋ง ๊ธฐ์ ๋ง๋๋ ๊น์ ์ฝ๋ฉ์ ๋ชจ๋ฅด๋ ์ ์น๊ตฌ๋ค๋ ํธํ๊ฒ ์ธ ์ ์๋ ๋ฒ๋ฏํ 'ํ๋ก๊ทธ๋จ'์ผ๋ก ๋ง๋ค๊ณ ์ถ์ด์ก์ต๋๋ค.
๊ทธ๋์ PyQt๋ Tkinter ๊ฐ์ ํ์ด์ฌ GUI ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋์ ํ์ฌ ์์ ํ๋ฉด๊ณผ ๋ฒํผ๋ค์ ๋ง๋ค๊ธฐ๋ก ๊ธฐํํ์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๋ง์ฐ์ค๋ก ZIP ํ์ผ์ ๋์ด๋ค ๋๊ธฐ๋ง ํ๋ฉด(Drag & Drop), ํ๋ก๊ทธ๋จ์ด ์์์ ์์ถ์ ํ๊ณ , ์์ญ ์ฅ์ Webp ์ด๋ฏธ์ง๋ค์ ์ฐจ๋ก๋๋ก ๋ฒ์ญํ ๋ค, ๋ค์ ์๋ก์ด ZIP ํ์ผ๋ก ์์๊ฒ ํฌ์ฅํด ์ฃผ๋ ์๋ฒฝํ ์๋ํ ํ์ดํ๋ผ์ธ์ด์ฃ . ์ต์ข ์ ์ผ๋ก๋ PyInstaller๋ฅผ ์ด์ฉํด ํ์ด์ฌ์ด ์ค์น๋์ด ์์ง ์์ ์๋์ฐ PC์์๋ ๋๋ธ ํด๋ฆญ ํ ๋ฒ์ผ๋ก ์คํ๋๋ ๋จ์ผ ์คํ ํ์ผ(.exe)๋ก ๋ฝ์๋ด๋ ๊ฒ์ด ์ด๋ฒ ํ๋ก์ ํธ์ ์ต์ข ๋ชฉํ์ ๋๋ค.
๋งบ์๋ง: ๋งจ๋ ์ ํค๋ฉํ๋ ์ฆ๊ฑฐ์
๋ฌผ๋ก ๋จธ๋ฆฟ์์ ๊ธฐํ์ ์ค์ ์ฝ๋๋ก ๊ตฌํํ๋ ๊ณผ์ ์ ์ํ์น ์์ ๊ฒ์ ๋๋ค. ๋งํ์ ์ ๋ฐฐ๊ฒฝ์์ ์๋ฒฝํ๊ฒ ์ง์ฐ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ง๋ค๊ฐ ๋ฐค์ ์์ธ ์๋ ์๊ณ , OCR์ด ์ด์ํ ํฐํธ๋ฅผ ์ธ์ํ์ง ๋ชปํด ์ฉ์ฉ๋งฌ ์๋ ์๊ฒ ์ฃ .
ํ์ง๋ง ๊ธฐํ์์ ์ง๋ ์ง๊ธ ์ด ์๊ฐ๋งํผ์ ์ธ์์ ๋ค ๊ฐ์ง ๊ฒ ๊ฐ์ด ๊ฐ์ด์ด ๋๋๋ค. ๊ฐ๋ฐ์๋ ๊ฒฐ๊ตญ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ฌ๋์ด๋๊น์. ๋ค์ ํฌ์คํ ๋ถํฐ๋ ์ด ๊ธฐํ์์ ๋ฐํ์ผ๋ก ์ค์ ๋ก ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธํ ํ๊ณ , OCR ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ ์คํธํ๋ฉฐ ๋ถ๋ชํ ์๋ง์ ์๋ฌ์ ํธ๋ฌ๋ธ์ํ ๊ณผ์ ์ ์์ํ๊ฒ ๋ณด์ฌ์ค ์ ์๋๋ก ๋ ธ๋ ฅํด๋ณด๊ฒ ์ต๋๋ค.
๐ฌ ๋๊ธ 0๊ฐ