將一幅影象某位置的畫素放置到另外一幅影象的指定位置上,需要對非整數畫素座標重對映來表達每個畫素的新位置。
g(x,y)=f(h(x,y));
dst(x,y)=src(map1(x,y),map2(x,y));
remap函式原型和引數:
引數1 mat src 源影象
引數2 mat dst 存放呼叫函式之後的運算結果
引數3 map map1 有兩種可能的表示物件
——表示點(x,y)的第乙個對映
——表示cv_16sc2,cv_32fc1,cv_32fc2型別的x值
引數4 map2 同3也有兩種可能
——若map1表示(x,y)時,map2不表示任何東西;
——表示cv_16sc2,cv_32fc1,cv_32fc2型別的y值
引數5 int interpolation 插值方式,有:
inter_nearest;inter_linear;inter_cubic;inter_lanczos4.
引數6 int bordermode 邊界模式,有預設值 border_cconstant 表示目標影象中的「離群點」的畫素值不會被函式修改。
引數7 const scalar& bordervalue 有常數邊界值時使用的值,有預設值scalar(),即預設值0;
仿射變換的概念
affine map
乙個向量空間經過一次線性變換和一次平移,變換成為另外乙個向量空間的過程,過程中保持了二維圖形的平直性和平行性。
乙個任意的仿射變換都可以轉換成乘以乙個矩陣,再加上乙個向量
OpenCV 重對映 仿射變換
通過重對映來表達每個畫素的位置 x,y g x,y f h x,y 這裡 g 是目標影象,f 是源影象,h x,y 是作用於 x,y 的對映方法函式.想象一下我們有乙個影象 i 我們想滿足下面的條件作重對映 h x,y i.cols x,y 影象會按照 x 軸方向發生翻轉.map x.create ...
opencv 重對映與仿射變換
重對映 重對映就是把一幅影象中某個位置的畫素放置到另乙個中指定位置的過程。用乙個數學公式來表示就是 其中的 f 就是對映方式,也就說,畫素點在另乙個影象中的位置是由 f 來計算的。在opencv中,用的是remap函式實現重對映。基本重對映 include include include inclu...
OpenCV學習筆記(九) 重對映 仿射變換
通過重對映來表達每個畫素的位置這裡2 34 map x.create src.size cv 32fc1 map y.create src.size cv 32fc1 計算map x與map y remap src,dst,map x,map y,cv inter linear,border con...