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具有相同的大小和类型