Some bug fixes with visualization.
This commit is contained in:
parent
5ce0a8d4bf
commit
73d8dddbb2
3 changed files with 15 additions and 8 deletions
|
@ -200,9 +200,6 @@ int main (int argc, char **argv)
|
|||
// Work out the pose of the head from the tracked model
|
||||
cv::Vec6d pose_estimate = LandmarkDetector::GetPose(face_model, sequence_reader.fx, sequence_reader.fy, sequence_reader.cx, sequence_reader.cy);
|
||||
|
||||
// Drawing the visualization on the captured image
|
||||
visualise_tracking(captured_image, face_model, det_parameters, gazeDirection0, gazeDirection1, sequence_reader.fx, sequence_reader.fy, sequence_reader.cx, sequence_reader.cy);
|
||||
|
||||
// Displaying the tracking visualizations
|
||||
visualizer.SetImage(captured_image, sequence_reader.fx, sequence_reader.fy, sequence_reader.cx, sequence_reader.cy);
|
||||
visualizer.SetObservationFaceAlign(sim_warped_img);
|
||||
|
|
|
@ -813,11 +813,11 @@ vector<cv::Point3d> Calculate3DEyeLandmarks(const CLNF& clnf_model, double fx, d
|
|||
|
||||
auto lmks = clnf_model.hierarchical_models[i].GetShape(fx, fy, cx, cy);
|
||||
|
||||
int num_landmarks = lmks.rows / 3;
|
||||
int num_landmarks = lmks.cols;
|
||||
|
||||
for (int lmk = 0; lmk < num_landmarks; ++lmk)
|
||||
{
|
||||
cv::Point3d curr_lmk(lmks.at<double>(lmk), lmks.at<double>(lmk + num_landmarks), lmks.at<double>(lmk + 2 * num_landmarks));
|
||||
cv::Point3d curr_lmk(lmks.at<double>(0, lmk), lmks.at<double>(1, lmk), lmks.at<double>(2, lmk));
|
||||
to_return.push_back(curr_lmk);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -99,7 +99,10 @@ void Visualizer::SetObservationFaceAlign(const cv::Mat& aligned_face)
|
|||
|
||||
void Visualizer::SetObservationHOG(const cv::Mat_<double>& hog_descriptor, int num_cols, int num_rows)
|
||||
{
|
||||
Visualise_FHOG(hog_descriptor, num_rows, num_cols, this->hog_image);
|
||||
if(vis_hog)
|
||||
{
|
||||
Visualise_FHOG(hog_descriptor, num_rows, num_cols, this->hog_image);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -173,6 +176,13 @@ void Visualizer::SetObservationGaze(const cv::Point3f& gaze_direction0, const cv
|
|||
if (i == 27)
|
||||
next_point = 20;
|
||||
|
||||
if (i == 7 + 28)
|
||||
next_point = 0 + 28;
|
||||
if (i == 19 + 28)
|
||||
next_point = 8 + 28;
|
||||
if (i == 27 + 28)
|
||||
next_point = 20 + 28;
|
||||
|
||||
cv::Point nextFeaturePoint(cvRound(eye_landmarks2d[next_point].x * (double)draw_multiplier), cvRound(eye_landmarks2d[next_point].y * (double)draw_multiplier));
|
||||
if (i < 8 || i > 19)
|
||||
cv::line(captured_image, featurePoint, nextFeaturePoint, cv::Scalar(255, 0, 0), thickness_2, CV_AA, draw_shiftbits);
|
||||
|
@ -190,7 +200,7 @@ void Visualizer::SetObservationGaze(const cv::Point3f& gaze_direction0, const cv
|
|||
for (size_t i = 0; i < 8; ++i)
|
||||
{
|
||||
pupil_left = pupil_left + eye_landmarks3d[i];
|
||||
pupil_right = pupil_right + eye_landmarks3d[i + eye_landmarks3d.size()];
|
||||
pupil_right = pupil_right + eye_landmarks3d[i + eye_landmarks3d.size()/2];
|
||||
}
|
||||
pupil_left = pupil_left / 8;
|
||||
pupil_right = pupil_right / 8;
|
||||
|
@ -224,7 +234,6 @@ void Visualizer::ShowObservation()
|
|||
{
|
||||
cv::namedWindow("tracking_result", 1);
|
||||
cv::imshow("tracking_result", captured_image);
|
||||
cv::waitKey(1);
|
||||
}
|
||||
if (vis_align)
|
||||
{
|
||||
|
@ -234,6 +243,7 @@ void Visualizer::ShowObservation()
|
|||
{
|
||||
cv::imshow("hog", hog_image);
|
||||
}
|
||||
cv::waitKey(1);
|
||||
}
|
||||
|
||||
cv::Mat Visualizer::GetVisImage()
|
||||
|
|
Loading…
Reference in a new issue