Open saturngod opened 7 years ago
Any update on this? @saturngod
There is a function in Dlib called draw_solid_convex_polygon
. This might work for your needs.
You would use this with all points from the detector I guess instead of this code:
// and draw them into the image (samplebuffer)
for (unsigned long k = 0; k < shape.num_parts(); k++) {
dlib::point p = shape.part(k);
draw_solid_circle(img, p, 3, dlib::rgb_pixel(0, 255, 255));
}
I found a fork for this: https://github.com/stanchiang/face-landmarking-ios
He use SpriteKit to draw from swift, it's faster than draw it with uibezierpath and use it as sublayer, maybe you need to modify some of the code at:
GameScene.swift
and also you need to modify which node you need to draw at: https://github.com/stanchiang/face-landmarking-ios/blob/master/DisplayLiveSamples/DlibWrapper.mm#L110
because in his case, he only extract inside mouth part
Note: you need to fix the center part, maybe there's miscalculation for this part:
var center
@zweigraf draw_solid_convex_polygon
doesn't support in mobile version. It's under gui library.
@seebeb we cannot use that code because the point is missing base on the phone. Example not working well iPhone 7 and iPad.
@saturngod Have you found a way to draw a polygon using the facial landmark points? I am also looking for a way to accomplish this. I'll let you know if I find anything as well.
@saturngod can you help out with this?
How can I fill the color ? I try to use with uibezierpath and Point position are not same. I cloudn't find a way to draw polygon with dlib.
Is it possible to draw line and fill like uibezierpath in dlib or I need to recalculate the pixel ?