常常需要最圖像進行仿射變換,仿射變換後,我們可能需要將原來圖像中的特徵點坐標進行重新計算,獲得原來圖像中例如眼睛瞳孔坐標的新的位置,用於在新得到圖像中繼續利用瞳孔位置坐標。
仿射變換在:http://blog.csdn.net/xiaowei_cqu/article/details/7616044這位大牛的博客中已經介紹的非常清楚。
關於仿射變換的詳細介紹,請見上面鏈接的博客。
我這裡主要介紹如何在已經知道原圖像中若干特徵點的坐標之後,計算這些特徵點進行放射變換之後的坐標,然後做一些補充。
** 在原文中,很多功能函數都是使用的cvXXX,例如cv2DRotationMatrix(center,degree,1,&M); 這些都是老版本的函數,在opencv2以後,應該盡量的使用全新的函數,所以在我的代碼中,都是使用的最新的函數,不再使用 cvMat, 而是全部使用 Mat 類型。 **
1. 特徵點對應的新的坐標計算
假設已經有一個原圖像中的特徵點的坐標 CvPoint point; 那麼計算這個point的對應的仿射變換之後在新的圖像中的坐標位置,使用的方法如下函數:
[cpp] view plain copy
TAG:圖像 | 計算 | 特徵 | 坐標 |