module app; import std.stdio; import std.datetime.stopwatch; import std.format; import dlib.image; import measure.regionprops; import measure.types; void main(){ auto img = loadImage("test.png"); auto _imgbin = otsuBinarization(img); auto imgbin = Mat2D!ubyte(_imgbin.data, _imgbin.height, _imgbin.width); auto sw = StopWatch(AutoStart.no); sw.start(); auto rp = new RegionProps(imgbin); rp.calculateProps(); sw.stop(); long msecs = sw.peek.total!"msecs"; float sec = msecs/1000.0f; writefln("%f", sec); auto res = new Image!(PixelFormat.L8)(_imgbin.width, _imgbin.height); res.data[] = imgbin.data[]; foreach(i, region; rp.regions){ res[region.centroid.x, region.centroid.y] = Color4f(0, 0, 0, 255); writeln(region.ellipse); } saveImage(res, "rrd.png"); }