aihot  2017-05-22 18:45:49  OpenCV |   查看评论   

  图像重映射:即是把一个图像中一个位置的像素放置到另一个图像指定位置的过程。因为有时候源图像和目标图像并不总是一一对应的关系(目标图像的像素可能映射到源图像的非整数坐标上),所以有时候会需要做插值。

 
         描述映射过程:通过重映射来表达每个像素的位置(x,y):g(x,y) = f(h(x,y))
 
         其中:g()是目标图像,即重映射的结果;f()是源图像;h(x,y)是作用于(x,y)的映射方法函数。如h(x,y)=(I.cols-x,y),得到的目标图像将是按照x轴方向发生翻转。
 
         映射分为向前映射和向后映射。将输入映射到输出的向前映射,反正就是向后映射。即如果已知源图像到目标图像的坐标变换,即可以知道源图像的一点在变换后在目标图像的位置,称为向前映射。如果知道目标图像的一点在变换前在源图像上的位置,称为向后映射。向后映射比较直观,计算量小,OpenCV中经常使用的图像变换都是采用向后映射的方法来处理。但向后映射需要知道变换的反变换公式,但在有些变换比较复杂的场合,这个反变换是很难得到的。此时就需要采用前向映射的方法进行变换了。
 
这里对OpenCV中remap函数进行了提取,目前支持uchar和float两种类型,经测试,与OpenCV3.1结果完全一致。
 

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自OpenCV代码提取:重新映射(remap)函数的实现

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]