1
我正在尋找使用由dlib探測器學習的68個地標來對齊兩個人臉圖像。我知道我可以將圖像轉換爲OpenCV Mat,然後使用warpAffine
方法。我有一定的內存泄漏,並決定是否只使用dlib是可能的。我注意到dlib庫在這方面有geometry.h
中的一些方法。使用dlib對圖像應用仿射變換
爲此,我使用find_affine_transform
方法得到一個point_transform_affine
對象,其中我發現使用形狀和模板獲得的3點之間的仿射變換。在文檔中,我們可以使用這個對象來對點向量應用變換。但是,我一直無法找到它的一些例子。
- 你能告訴我如何應用轉化學習?
- 其次,我有一個圖像加載array2d對象。有沒有辦法從array2d到點矢量?
下面列出了find_affine_transform的一些初始代碼。
std::vector<dlib::vector<double,2>> TemplateLandmarks;
std::vector<dlib::vector<double,2>> ObtainedLandmarks;
// push_back the specific coordinates in the above vectors
array2d<bgr_pixel> img;
// read the image from a file path using load_image
// learning the best transformation map
point_transform_affine H = find_affine_transform (ObtainedLandmarks , TemplateLandmarks);