행동 영상을 탐지한 후에, BBOX에 한글을 출력하고자 했다. ChatGPT에게 물어봤더니, opencv-contrib-python을 설치한 후 freetype 으로 하면 된다고 아래와 같이 샘플 코드를 제시해주었다 import cv2 import numpy as np # 이미지를 불러오거나 생성합니다. image = np.zeros((500, 500, 3), dtype=np.uint8) # freetype 모듈을 불러옵니다. ft = cv2.freetype.createFreeType2() # 한글 폰트 파일의 경로를 지정합니다. font_path = 'NanumGothic.ttf' ft.loadFontData(fontFileName=font_path, id=0) # 이미지에 텍스트를 추가합니다. 위치,..
공부하는삶
Use HTTPException FAstAPI 에서 오류는 HTTPException 클래스를 사용해 예외를 발생시켜 처리한다. HPPTException 클래스는 아래 세 개의 인수를 받는다 status_code : 예외 처리시 반환할 상태코드 detail : 클라이언트에게 전달한 메시지 headers : 헤더를 요구하거나 응답을 위한 선택적 인수 from fastapi import FastAPI, HTTPException app = FastAPI() items = {"foo": "The Foo Wrestlers"} @app.get("/items-header/{item_id}") async def read_item_header(item_id: str): if item_id not in items: rais..
라우트는 HTTP 요청 메서드의 요청을 수락하고 선택적으로 인수를 받을 수 있도록 정의되는데, 특정 라우트로 요청이 전달되면 애플리케이션은 route handler가 요청을 처리하기 전에 해당 라우트가 정의 되어 있는지 확인하다. 핸들러는 서버로 전송된 요청을 처리하는 함수다. 1. FastAPI() 클래스를 사용한 라우팅 처리 from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"} 이렇게 FastAPI() 클래스를 라우팅 작업에 사용할 수는 있지만, 이 방식은 라우팅 중에 단일 경로만 고려하는 애플리케이션으로 일반적으로 사용된다. 고유한 함수를 처리하는 각각의 라..
6. Digression : The perceptron learning algorithm 이전 강의에서 결론을 Logistic Regression의 hypotheses $ h_{\theta}(x) $ 다음과 같습니다 여기서, logistic function 또는 sigmoid function이라고 부르는 g(z)는 다음과 같이 정의할 수 있습니다 Perceptron의 g(z)는 다음과 같은 임계 함수(threshold function)으로 정의할 수 있는데, 이는 sigmoid function의 hard version이라고 생각할 수 있습니다. 이는 역시 가설 함수로 이어지는데, 이를 update rule을 사용하게 되면, perceptron learning algorithm이 됩니다. 노란색 데이터와 ..
windows 10에서 pycocotools를 설치시, pip install pycocotools 라고 하면 에러가 발생한다. 나의 경우는 다음과 같은 순서로 진행을 하였다 관리자 권한으로 anaconda prompt 열기 visual studio community 설치하기 conda install git Cython pip install "git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI" 나의 경우는 Visual studio community가 설치되지 않은 상태에서 pycocotools를 설치하려고 하니까 오류가 발생했다
크롬에서 미디어를 재생시키려면 mp4 확장자로 해야하고, (avi는 다운로드가 되는 불상사가 발생) opencv에서는 mp4를 VideoWriter를 하고자 하면 보통 코덱을 'mp4v'로 아래와 같이 설정한다. fourcc = cv2.VideoWriter_fourcc(*'mp4v') 하지만 슬프게도 mp4v 코덱은 웹에서 플레이가 안 되므로, fourcc = cv2.VideoWriter_fourcc(*'h264') or fourcc = cv2.VideoWriter_fourcc(*'x264') 등으로 시도를 해서 많이들 해결 하는데, 나 같은 경우에는 OpenCV4로 버전을 다시 빌드해줘도 해결이 안 되서 아침 내내 삽질을 했다. 그래서 로그 화면이 더러워져도... ffmpeg를 설지한 다음, 영상을 변..