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/converted2/
případně alternativně
http://147.228.240.61/zdo/2015/converted/
Základ pro semestrální práci http://github.com/neduchal/ZDO2015_sem_prace/
vstupem odevzdávané aplikace bude skript, který je možné volat z příkazové řádky následujícím způsobem
python kvasinky.py -i adresar_s_jpg_soubory -dt 0.020 -o vystupni.csv -d
První argument označuje vstupní data, druhý označuje časový posun mezi jednotlivými framy. Třetí parametr popisuje výstupní soubor. Poslední parametr je volitelný. Pokud je použit. Bude spuštěn debugovací režim s vykreslením jednotlivých kroků.
Výstupní soubor obsahuje informace o detekovaných kvasinkách. Je ve formátu csv
a musí obsahovat následující sloupce:
* time
čas události
* id
číselný identifikátor objektu
* x_px
x-ová souřadnice objektu v pixelech
* y_px
y-ová souřadnice objektu v pixelech
Volitelně pak lze přidat i sloupce popisující směr pohybu objektu a jeho rychlost
* `angle` úhlel pohybu
* `speed_px` rychlost pohybu v pixelech za sekundu
##
%pylab inline
Populating the interactive namespace from numpy and matplotlib
WARNING: pylab import has clobbered these variables: ['f'] `%matplotlib` prevents importing * from pylab and numpy
# http://147.228.240.61/zdo/2015/converted/
import scipy
import scipy.misc
import glob
import numpy as np
import cv2
import matplotlib.pyplot as plt
# 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()
ukázková data lze stáhnout zde:
import h5py
import matplotlib.pyplot as plt
f = h5py.File('jatra_5mm.hdf5','r')
data3d = f['data3d']
metadata = f['metadata']
plt.imshow(data3d[30, :, :])
plt.show()
print 'size of voxel: ', np.asarray(metadata['voxelsize_mm']), ' mm'
size of voxel: [ 5. 0.75 0.75] mm
Úkolem v této semestrální práci je vytvořit dataset obrázků, které by sloužily k natrénování klasifikátoru schopného rozlišit obraz dle jeho obsahu na text/netext. Cílem není zjistit jaké znaky případný text obsahuje (OCR), pouze přinést informaci o tom zda se na obrázku text nachází.