Cílem práce je sledování pohybu kvasinek v obrazu z mikroskopu. Úloha je rozdělena na dvě části:
V první části jde o nalezení pozadí. To je ve videích poměrně neměnné. Prakticky je nutné naimplementovat třídu BackgroundModel
.
Druhá část řeší vlastní sledování kvasinek. Tam je úkolem nalezení pohybující se kvasinky, určení její polohy v pixelech a směru jejího pohybu (předpokládanou polohu v následujícím framu).
Data:
http://147.228.240.61/zdo/2015/converted/
případně alternativně
http://147.228.240.61/zdo/2015/converted2/
Základ pro semestrální práci http://github.com/neduchal/ZDO2015_sem_prace/
Využijte již připraveného základu pro semestrální práci a doplňte modul cast_1/src/model.py
Funkce add_frame
může být volána například pro každý snímek videa a můžete ji využívat pro zadávání dat pro trénování a zpřesňování modelu.
Funkce get_model
vrací model - obrázek pozadí.
%pylab inline
Populating the interactive namespace from numpy and matplotlib
# http://147.228.240.61/zdo/2015/converted/
import numpy as np
import cv2
import matplotlib.pyplot as plt
cap = cv2.VideoCapture('/home/mjirik/Stažené/kvasinky1')
# prostor pro inicializaci
while(cap.isOpened()):
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# zde místo pro práci s každým snímkem
# cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# plt.imshow(frame)
cap.release()
cv2.destroyAllWindows()
import scipy
import scipy.misc
import glob
# import model
# import tracker
# prostor pro inicializaci
# 1.část
# bm = model.BackgroundModel()
# 2.část
# tr = tracker.Tracker()
files = sorted(glob.glob('/home/mjirik/tmp/kvasinky1/*.jpg'))
for filename in files:
img = scipy.misc.imread(filename)
# zde místo pro práci s každým snímkem
# 1.část
# bm.add_frame(gray_img)
# model = bm.get_model()
# img_without_background = img - model
# 2.část
# tr.track_in_frame(gray_img)
# ulož výsledky
# tr.saveCsvFile()