Pee Analysis with OpenCV (Flask, Web)
์๋ฒ ๊ทธ๋ฃน ์คํฐ๋๋ฅผ ๋ง๋ฌด๋ฆฌํ ๋์ฏค ํ๊ต์ธก์์ ์๋ฒ๋ฅผ ์ ๊ณตํด์ ์ด์ฉํ ์ ์์ ๋ ๋ง์ด ์จ๋จน์ด๋ณด๊ณ ์ถ์ด์ ๋ง๋ค๊ธฐ๋ก ํ ๊ฒ์ ์๋ณ ์์ผ๋ก ๊ฑด๊ฐ์ ๋ถ์ํด์ฃผ๋ ํ๋ก๊ทธ๋จ. ํ์ฐฝ ์น์ผ๋ก ๋ญ๊ฐ๋ฅผ ์๋น์คํด๋ณด๊ณ ์ถ์๋๋ฐ ์ฌ๋ฏธ์๊ฒ ๋ค ์ถ์๋ค. ๋๋ ๋ญ๊ฐ๋ฅผ ๋ง๋ค ๋ ์ด๋ฆ๋ถํฐ ์ง๋๋ค. ์๋ณ๋ถ์๊ธฐ...๊ฐ์ ์์ํ ์ด๋ฆ๋ณด๋ค๋ Pee(์๋ณ)๋ฅผ ๋๋ฒ ๋งํด์ ์๊ทผํ ๊ท์ฌ์ด ํผํผ๋ก ์ง์ด์ ์ ์ ์๊ฒ ๊ฑฐ๋ถ๊ฐ์ ๊ทธ๋๋ง ์ ๊ฒ ์ฃผ๊ณ ์ถ์๋ค.
HTML/CSS/JS
Python
Flask
OpenCV
Nginx
Docker
NHN Toast Cloud
-
- main.py์์ flask ๊ธฐ๋ฐ์ ์น์ ๊ตฌ๋ํ๊ณ index.html์ผ๋ก ๋ฉ์ธํ๋ฉด์ ๋ ๋๋งํ๋ค.
-
- ๋ฉ์ธํ๋ฉด์์ ์ฌ์ง์ ์ ๋ก๋ํ๋ฉด ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ opencv๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์ ์์์ ์ถ์ถํ๋ค.
-
- ํฝ์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์๋ณ์ ํ์ ์ ๋๋๋ค.
-
- ์๋ณ์ ํ์ ์ result.html๋ก ๋ฐ์ดํฐ์ ํจ๊ป ๋ ๋๋งํ๋ค.
-
Dockerfile
์ ์์ฑํด์ ๋์ปค๋ก ๋ฐฐํฌ๋ ์ฝ๊ฒ ํด๋ณด๊ณ ์ถ์๋ค.
-
- html์ด๋ python์ ๋ฐ์ดํฐ(ํจ์์ ๋ฆฌํด๊ฐ)๋ฅผ ์ด๋ป๊ฒ ์ฃผ๊ณ ๋ฐ์๊ฑด๋ฐ?
-
- ์ฌ์ง๋ง๋ค ์๋ณ ์์ญ์ ๋ถ๋ถ์ด ๋ค๋ฅผํ ๋ฐ ์ด๋ป๊ฒ ๋ง์ถ๊ฑด๋ฐ?
-
- ์๋ณ ์์์ ํ์ ์ ์ด๋ป๊ฒ ๋๋๊ฑด๋ฐ?
-
- json ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ ๋๋ง, ํจ์ ํธ์ถ ์ ์ฌ์ฉํ๋ค.
-
- ์ฌ์ง์ ์ค๊ฐ 100px * 100px ๋ถ๋ถ๋ง ์ถ์ถํ์ฌ opencv ์ฒ๋ฆฌํ๋ค.
-
- "11๊ฐ์ง ์๋ณ์ ์์ผ๋ก ์์๋ณด๋ ๋ด ๊ฑด๊ฐ์ํ"๋ผ๋ ๊ธฐ์ฌ๊ฐ ์๋ค.
๊ฒฐ๊ตญ ํต์ฌ์ ์ธ ์ฝ๋๋ opencv ์ฒ๋ฆฌ์ ์ด๋ฏธ์ง rgb๊ฐ๋ง๋ค ํ์ ์ ๋๋๋ ์ฝ๋์ด๋ค.
FROM tiangolo/uwsgi-nginx-flask:python3.7
COPY ./app /app
RUN pip install -r requirements.txt
docker build -t pp-app .
docker run -d --name pp-app -p 80:80 pp-app:latest
๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋ง๋ค์๊ณ ํธ์คํธ์ 80ํฌํธ์ ๋์ปค์ 80ํฌํธ(nginx ํ๋ ์์ํฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก 80ํฌํธ ์ฌ์ฉ)๋ฅผ ์ฐ๊ฒฐํ๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํํ๋ค.