manage.py
#!/usr/bin/env python
Shebang(쉬뱅) 라인: 이 파일을 실행할 때 어떤 프로그램(python)을 사용할지 시스템에 알려주는 설정
from setproctitle import setproctitle
실행 중인 프로세스의 이름을 변경하는 라이브러리
진입
@csrf_exempt
보안 검사(CSRF)를 이 함수에서만 제외
fs = FileSystemStorage(...)
파일을 저장할 도구(저장소)를 준비
OpenCV(이미지 처리 라이브러리)
| 코드 내용 | |
| cv2.imread / cvtColor | 이미지 파일을 읽어오고, 처리 속도를 높이기 위해 색상을 **그레이스케일(회색)**로 변환합니다. |
| cv2.threshold(..., OTSU) | 이진화: 아주 밝은 회색은 흰색으로, 어두운 회색은 검은색으로 딱 나누어 글자를 도드라지게 합니다. |
| sobel / filter2D | 에지(테두리) 검출: 글자의 외곽선을 따서 글자 덩어리가 어디 있는지 찾기 쉽게 만듭니다. |
| cv2.findContours(...) | 윤곽선 찾기: 이미지 안에서 연결된 덩어리(글자나 표의 칸)들의 좌표를 찾아냅니다. |
| 코드 내용 | 상세 설명 |
| cv2.boundingRect(contour) | 찾아낸 윤곽선을 감싸는 **직사각형 박스 좌표(x, y, 가로, 세로)**를 계산합니다. |
| if w > img.shape[1] / 8... | 너무 작은 점이나 노이즈는 무시하고, 일정 크기 이상의 "글자 덩어리"만 골라냅니다. |
| cv2.resize(..., INTER_CUBIC) | 이미지 확대: 글자가 너무 작으면 잘 안 읽히기 때문에 2배로 키워주는 전처리를 합니다. |
| cv2.imwrite(...) | 잘라낸 박스 이미지를 파일로 저장합니다. (나중에 OCR 엔진에 보낼 용도) |
'스터디' 카테고리의 다른 글
| 파이썬 스터디 - nonlocal (0) | 2026.01.10 |
|---|