라벨이 python인 게시물 표시

optical flow with opencv python 연습

이미지
기본적인 전제는 동영상이 한 프레임에서 다음 프레임으로 넘어갈 때 pixel intensity 가 빠르게 변하지 않는다는 것이다. 그렇기에 물론 지나치게 빠르게 이동하는 물체는 잡아내기 힘들다. 사실 지나칠 것까지도 없고 슝- 하는 정도기만 해도 못잡지만... 그러므로 기본 등식을 다음과 같이 쓸 수 있다. I(x, y, t) = I(x + dx, y + dy, t + dt)  시간에 따라 x, y 좌표가 살짝씩 움직여도 intensity 즉 명도에는 차이가 없다는 뜻이다. 우변을 테일러 전개로 풀어주면 다음과 같이 된다. I(x + dx, y + dy, t + dt) = I(x) + dx* dI/dx +I(y) + dy * dI/dy + I(z) + dt* dI/dt 그러면 좌변에서 소거해 줄 수 있고, 남는 식은 이것 뿐이다. dx* dI/dx + dy* dI/dy + dt* dI/dt = 0 좌변을 dt로 나누고 Intensity function I 의 dI/dx, dI/dy, dI/dt를 알아보기 쉽게 f_x, f_y, f_t로 바꿔주자(진작부터 f로 할걸...) dx/dt *f_x + dy/dt * f_y + f_t = 0 마지막으로 dx/dt, dy/dt를 u, v로 치환해주면 optical flow equation 완성! u*f_x + v*f_y + f_t = 0  여기서 f_x와 f_y는 한 프레임 내에서 이미지의 명도가 어떻게 변하는지 확인하면 구할 수 있는 변수이고, f_t 역시 프레임이 다음 프레임으로 넘어갈 때 명도가 어떻게 변하는지 확인하면 구할 수 있다. 그러므로 총 미지수는 u, v 로 두 개이다. u와 v는 x,y가 시간에 따라 어떻게 변하는지에 대한 변수이므로, '속도'라고 보면 되겠지?  어쨌든 변수는 두 개, 방정식은 하나이므로 식을 하나 더 만들어야 한다. 그건 Lucas Kanade Method를 사용해서 세워줄 수 있다. 3x3 행렬을 사용하여 픽셀의...

python 활용 카카오 주가 분석 2탄

 지난 금요일에는 7500원 하락했다. 한순간도 오르는 일이 없이 끝없는 하락을 보면서, 아 141000원일때 팔걸 그랬구나 했다. 아무래도 돈이 걸려있으니, 우량주 묻어 놓는 일은 잘 안되는 듯 하다.  그래 내게는 파이썬이 있잖아, 하는 마음으로 단타 매매 전략을 세워보았다. 원리는 똑같다. 단지 지난 번에 7일을 기준으로 분석했다면 이번에는 10분을 기준으로 분석하는 것 뿐이다.  지난 주 월요일의 분석 결과는 다음과 같았다. lowerband에 도달했던 136000원 정도에 사서 upperband에 도달하는 139000원에 팔았더라면 충분한 수익을 냈을 것이다. 또한 매도, 매수 기준의 등락폭은 1500원 정도가 되어 보인다. 3월 20일의 분석은 다음과 같다. 이날은 초반의 급상승을 제외하면 고만고만 했다. 매도 매수의 등락 기준은 1000원이었다. 3월 21일의 분석은 다음과 같다. 이때는 더욱 고만고만하다. 700원 정도가 기준폭이 된다. 1,268,500원을 투자했고, 4294원이 수수료와 세금으로 빠져나갔다. 단타는 사고 파는 과정이 존재하므로, 1주 당 860원 정도의 거래비용이 든다고 생각하면 1000원의 수익은 조금 모자르는 듯하다. 3일밖에 분석을 하지 않았지만, 등락폭에 대해서는 충분한 정보를 얻었다. 내일은 5주 정도를 사놓고 테스트 용으로 써먹을 심산이다. 그렇다면 7500원 하락한 지난 금요일은 어땠는지 마지막으로 확인을 해보자. 아....안타깝게도 지금까지의 분석이 헛수고로 돌아가는 참이다. lowerband에 여러 차례 도달하였으나 하락하기만 했다. 굳이 upperband에 닿지 않고서도 꾸준히 큰 폭으로 하락해갔다. 다만 y 축 단위가 커진만큼 실제로 lowerband에서 매수해서는 10분만에 갈아 치웠다면 큰 수익은 아니더라도 벌기는 했을 것이다. 도대체 금요일에 무슨 일이 있었던 것인지 모르겠다. 원래 주말을 앞두고는 매도를 하는 것인지, 실제로 무슨 일이 ...