@Override public void beforeUpdate(MBFImage frame) { if(frame==null)return; FImage gframe = frame.flatten(); frames ++; // FImage hband = trans.getBand(1).normalise(); // frame = frame.process(new Disk(20)); CannyEdgeDetector d = new CannyEdgeDetector(); ResizeProcessor resize = new ResizeProcessor(0.3f); FImage resized = gframe.process(resize); // FImage canny = resized.process(new FSobelMagnitude()).threshold(0.8f); FImage canny = resized.process(d); if(this.circles == null) this.circles = new HoughCircles(canny.width/15,canny.width/4,5,360); canny.analyseWith(circles); // if(frames % 2 == 0){ // f = f.process(circles); // f.drawPoints(circles.accum, 1.f, 10); // f.drawShape(new Circle(10,10,10), 1f); // } MBFImage colResized = new MBFImage(resized.clone(),resized.clone(),resized.clone()); for (WeightedCircle circ : circles.getBest(5)) { System.out.println(circ.weight); colResized.drawShape(circ, new Float[]{circ.weight,0f,0f}); } DisplayUtilities.displayName(canny,"circles"); DisplayUtilities.displayName(colResized,"wang"); }
@Override public void beforeUpdate(MBFImage frame) { if(frame==null)return; FImage gframe = frame.flatten(); frames ++; // FImage hband = trans.getBand(1).normalise(); // frame = frame.process(new Disk(20)); CannyEdgeDetector d = new CannyEdgeDetector(); ResizeProcessor resize = new ResizeProcessor(0.3f); FImage resized = gframe.process(resize); // FImage canny = resized.process(new FSobelMagnitude()).threshold(0.8f); FImage canny = resized.process(d); if(this.circles == null) this.circles = new HoughCircles(canny.width/15,canny.width/4,5,360); canny.analyseWith(circles); // if(frames % 2 == 0){ // f = f.process(circles); // f.drawPoints(circles.accum, 1.f, 10); // f.drawShape(new Circle(10,10,10), 1f); // } MBFImage colResized = new MBFImage(resized.clone(),resized.clone(),resized.clone()); for (WeightedCircle circ : circles.getBest(5)) { System.out.println(circ.weight); colResized.drawShape(circ, new Float[]{circ.weight,0f,0f}); } DisplayUtilities.displayName(canny,"circles"); DisplayUtilities.displayName(colResized,"wang"); }