void init(){ int masksize = 10; int thresh = 2; float gamma = 0; if(pa("-config")){ ConfigFile f(*pa("-config")); masksize = f["config.masksize"]; thresh = f["config.threshold"]; gamma = f["config.gammaslope"]; } gui << Draw().minSize(16,12).handle("orig").label("original image") << Image().minSize(16,12).handle("prev").label("preview image") << ( VBox().label("controls") << Slider(2,200,masksize).label("mask size").out("masksize").minSize(15,2).handle("a") << FSlider(-30,40,thresh).label("threshold").out("threshold").minSize(15,2).handle("b") << FSlider(0,15,gamma).label("gamma slope").out("gamma").minSize(15,2).handle("c") << Button("next image").handle("next") << Button("stopped","running").out("loop").handle("d") << Button("no clip","clip to roi").out("clipToROI").handle("e") << Button("save params").handle("save") << Combo("region mean,tiledNN,tiledLIN").handle("algorithm").label("algorithm") << ( HBox() << Label("..ms").handle("time").label("apply time").minSize(2,3) << Fps(10).handle("fps").minSize(4,3).label("fps") ) ) << Show(); grabber.init(pa("-i")); if(grabber.getType() != "file"){ grabber.useDesired<Size>(pa("-s")); if(!pa("-color")){ grabber.useDesired(formatGray); }else{ grabber.useDesired(formatRGB); } grabber.useDesired(depth8u); } gui.registerCallback(step,"a,b,c,d,e,next,algorithm"); gui["orig"].install(new MouseHandler(mouse)); step(); }