Skip to content

zinirun/peepee-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

peepee-app

Pee Analysis with OpenCV (Flask, Web)

ํ”ผํ”ผ ๊ฐœ๋ฐœ์˜ ์‹œ์ž‘

์ธ๊ณต์ง€๋Šฅ ์†Œ๋ณ€๋ถ„์„ ์›น์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ

์„œ๋ฒ„ ๊ทธ๋ฃน ์Šคํ„ฐ๋””๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•  ๋•Œ์ฏค ํ•™๊ต์ธก์—์„œ ์„œ๋ฒ„๋ฅผ ์ œ๊ณตํ•ด์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ์„ ๋•Œ ๋งŽ์ด ์จ๋จน์–ด๋ณด๊ณ  ์‹ถ์–ด์„œ ๋งŒ๋“ค๊ธฐ๋กœ ํ•œ ๊ฒƒ์€ ์†Œ๋ณ€ ์ƒ‰์œผ๋กœ ๊ฑด๊ฐ•์„ ๋ถ„์„ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ. ํ•œ์ฐฝ ์›น์œผ๋กœ ๋ญ”๊ฐ€๋ฅผ ์„œ๋น„์Šคํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ ์žฌ๋ฏธ์žˆ๊ฒ ๋‹ค ์‹ถ์—ˆ๋‹ค. ๋‚˜๋Š” ๋ญ”๊ฐ€๋ฅผ ๋งŒ๋“ค ๋•Œ ์ด๋ฆ„๋ถ€ํ„ฐ ์ง“๋Š”๋‹ค. ์†Œ๋ณ€๋ถ„์„๊ธฐ...๊ฐ™์€ ์‹์ƒํ•œ ์ด๋ฆ„๋ณด๋‹ค๋Š” Pee(์†Œ๋ณ€)๋ฅผ ๋‘๋ฒˆ ๋งํ•ด์„œ ์€๊ทผํžˆ ๊ท€์—ฌ์šด ํ”ผํ”ผ๋กœ ์ง€์–ด์„œ ์œ ์ €์—๊ฒŒ ๊ฑฐ๋ถ€๊ฐ์„ ๊ทธ๋‚˜๋งˆ ์ ๊ฒŒ ์ฃผ๊ณ  ์‹ถ์—ˆ๋‹ค.

๊ธฐ์ˆ  ์Šคํƒ

HTML/CSS/JS Python Flask OpenCV Nginx Docker NHN Toast Cloud

์•Œ๊ณ ๋ฆฌ์ฆ˜

    1. main.py์—์„œ flask ๊ธฐ๋ฐ˜์˜ ์›น์„ ๊ตฌ๋™ํ•˜๊ณ  index.html์œผ๋กœ ๋ฉ”์ธํ™”๋ฉด์„ ๋ Œ๋”๋งํ•œ๋‹ค.
    1. ๋ฉ”์ธํ™”๋ฉด์—์„œ ์‚ฌ์ง„์„ ์—…๋กœ๋“œํ•˜๋ฉด ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ opencv๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€์˜ ์ƒ‰์ƒ์„ ์ถ”์ถœํ•œ๋‹ค.
    1. ํ”ฝ์…€ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์†Œ๋ณ€์˜ ํƒ€์ž…์„ ๋‚˜๋ˆˆ๋‹ค.
    1. ์†Œ๋ณ€์˜ ํƒ€์ž…์„ result.html๋กœ ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ๋ Œ๋”๋งํ•œ๋‹ค.
    • Dockerfile์„ ์ž‘์„ฑํ•ด์„œ ๋„์ปค๋กœ ๋ฐฐํฌ๋„ ์‰ฝ๊ฒŒ ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋‹ค.

๊ตฌํ˜„ ์ „์˜ ์˜๋ฌธ์ 

    1. html์ด๋ž‘ python์˜ ๋ฐ์ดํ„ฐ(ํ•จ์ˆ˜์˜ ๋ฆฌํ„ด๊ฐ’)๋ฅผ ์–ด๋–ป๊ฒŒ ์ฃผ๊ณ  ๋ฐ›์„๊ฑด๋ฐ?
    1. ์‚ฌ์ง„๋งˆ๋‹ค ์†Œ๋ณ€ ์˜์—ญ์˜ ๋ถ€๋ถ„์ด ๋‹ค๋ฅผํ…๋ฐ ์–ด๋–ป๊ฒŒ ๋งž์ถœ๊ฑด๋ฐ?
    1. ์†Œ๋ณ€ ์ƒ‰์ƒ์˜ ํƒ€์ž…์€ ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆŒ๊ฑด๋ฐ?

์˜๋ฌธ์ ์— ๋Œ€ํ•œ ๊ฒฐ๋ก 

๊ฒฐ๊ตญ ํ•ต์‹ฌ์ ์ธ ์ฝ”๋“œ๋Š” opencv ์ฒ˜๋ฆฌ์™€ ์ด๋ฏธ์ง€ rgb๊ฐ’๋งˆ๋‹ค ํƒ€์ž…์„ ๋‚˜๋ˆ„๋Š” ์ฝ”๋“œ์ด๋‹ค.

๊ตฌํ˜„ ์™„๋ฃŒ ํ›„ Dockerfile ์ž‘์„ฑํ•˜๊ธฐ

FROM tiangolo/uwsgi-nginx-flask:python3.7
COPY ./app /app
RUN pip install -r requirements.txt

Docker Service

docker build -t pp-app .
docker run -d --name pp-app -p 80:80 pp-app:latest

๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๋งŒ๋“ค์—ˆ๊ณ  ํ˜ธ์ŠคํŠธ์˜ 80ํฌํŠธ์™€ ๋„์ปค์˜ 80ํฌํŠธ(nginx ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 80ํฌํŠธ ์‚ฌ์šฉ)๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ์‹คํ–‰ํ•œ๋‹ค.