Thanks for your great work.
I'm wondering about the selection of corner point. In stead of directly using the curvature value for judgement, there are other conditions for setting a corner points. I'm confused about the other conditions and I would be grateful if someone can explain why these conditions are needed (condition 1 and condition 2 below). Thanks for your time!
if ( m_pts_info_vec[ idx ].curvature > thr_corner_curvature ) // large curvature point
{
if ( m_pts_info_vec[ idx ].depth_sq2 <= m_pts_info_vec[ idx - curvature_ssd_size ].depth_sq2 &&
m_pts_info_vec[ idx ].depth_sq2 <= m_pts_info_vec[ idx + curvature_ssd_size ].depth_sq2 ) // condition 1
// current point (middle point) depth smaller than the point's depth in the two sides
{
if ( abs( m_pts_info_vec[ idx ].depth_sq2 - m_pts_info_vec[ idx - curvature_ssd_size ].depth_sq2 ) < sq2_diff * m_pts_info_vec[ idx ].depth_sq2 ||
abs( m_pts_info_vec[ idx ].depth_sq2 - m_pts_info_vec[ idx + curvature_ssd_size ].depth_sq2 ) < sq2_diff * m_pts_info_vec[ idx ].depth_sq2 ) // condition 2
m_pts_info_vec[ idx ].pt_label |= e_label_corner; // set current point as corner point
}
}
Thanks for your great work. I'm wondering about the selection of corner point. In stead of directly using the curvature value for judgement, there are other conditions for setting a corner points. I'm confused about the other conditions and I would be grateful if someone can explain why these conditions are needed (condition 1 and condition 2 below). Thanks for your time!