Force ROI for Facemark to be square
This seems to help with Facemark accuracy.
This commit is contained in:
parent
6429ff82cd
commit
a58e7d9428
7
TODO.md
7
TODO.md
|
@ -4,7 +4,8 @@
|
|||
- smoothing
|
||||
|
||||
## docs
|
||||
- model format documentation
|
||||
- getting started guide
|
||||
- demo video?
|
||||
|
||||
## vision
|
||||
- fix worse facemark on dnn mode (maybe due to non-square roi?)
|
||||
## models
|
||||
- better default model
|
||||
|
|
|
@ -84,9 +84,17 @@ void cvFrame() {
|
|||
biggestArea = iArea;
|
||||
}
|
||||
|
||||
//force ROI to be square
|
||||
faces[i] = cv::Rect(faces[i].x + faces[i].width / 2 - faces[i].height / 2,
|
||||
faces[i].y,
|
||||
faces[i].height,
|
||||
faces[i].height);
|
||||
|
||||
cv::rectangle (frame, faces[i], cv::Scalar (255, 255, 0));
|
||||
}
|
||||
|
||||
//TODO: make a pointer to faces[biggestFace] and use that
|
||||
|
||||
std::vector<std::vector<cv::Point2f>> landmarks;
|
||||
|
||||
if (facemark->fit (frame, faces, landmarks)) {
|
||||
|
|
Loading…
Reference in a new issue