1. 概述
簡單來說,重映射就是把一副圖像內的像素點按照規則映射到到另外一幅圖像內的對應位置上去,形成一張新的圖像。
因為原圖像與目標圖像的像素坐標不是一一對應的。一般情況下,我們通過重映射來表達每個像素的位置(x,y),像這樣:
g(x,y)=f(h(x,y))
在這里g()是目標圖像,f()是源圖像,而h(x,y)的映射方法函數,下面來看個例子若有一幅圖像I,對其按照下面條件作重映射:
h(x,y)=(I.cols-x,y)
圖像會按照x軸方向發生翻轉,OpenCV提供了多種重映射方式,OpenCV內的重映射函數cv2.remap()提供了更方便、更自由的映射方式,其語法格式如下:
dst = cv2.remap( src, map1, map2, interpolation[, borderMode[,borderValue]] )
其中:
- dst代表目標圖像,它和src具有相同的大小和類型