什么叫做重映射呢?
重映射,就是把一幅图像中的某个位置上的像素放到另一个图像中指定位置上的过程。为了完成这样的映射,我们需要一个重映射函数来讲源图像与目标图像的坐标对应起来。
像这样:g(x,y)=f(h(x,y))
g函数是目标图像上的坐标点,f是原图像的,而h函数是作用于原图像上的函数。
remap( )函数会根据我们指定的映射形式,将源图像进行重映射几何变换,基于的式子如下:
void remap(InputArray src, OutputArraydst, InputArray map1, InputArray map2, int interpolation, intborderMode=BORDER_CONSTANT, const Scalar& borderValue=Scalar())
o第一个参数,InputArray类型的src,输入图像,即源图像,填Mat类的对象即可,且需为单通道8位或者浮点型图像。
o第二个参数,OutputArray类型的dst,函数调用后的运算结果存在这里,即这个参数用于存放函数调用后的输出结果,需和源图片有一样的尺寸和类型。
o第三个参数,InputArray类型的map1,它有两种可能的表示对象。
表示点(x,y)的第一个映射。
表示CV_16SC2 , CV_32FC1 或CV_32FC2类型的X值。