3.13 重映射 - Remapping
使用
remap 函数实现简单重映射。
关于
重映射的一些概念:
1. 重映射是把图像中的一个位置的像素放置到一幅新图像指定位置的过程。
2. 为了完成映射过程,有必要对非整数像素坐标进行插值,因为原图像和目标图像的像素坐标可能不是一一对应的。
3. 用如下公式表示每个像素坐标(x,y)的重映射:
g(x,y) = f(h(x,y))
其中 g( ) 是重映射图像,f( ) 是原图像,h(x,y) 是在 (x,y) 上进行操作的映射函数。
4. 简单例子:对图像 I 进行重映射: h(x,y) = (I.cols - x,y) ,图像按照x轴方向发生反转。
/// Create dst, map_x and map_y with the same size as src:
dst.create( src.size(), src.type() );
map_x.create( src.size(), CV_32FC1 );
map_y.create( src.size(), CV_32FC1 );
// do some thing on map_x and map_y
// ...
remap( src, dst, map_x, map_y, CV_INTER_LINEAR, BORDER_CONSTAN