【问题标题】:opencv::remap() How to remap an Image to another Image with different sizeopencv::remap() 如何将一个图像重新映射到另一个不同大小的图像
【发布时间】:2014-04-14 22:16:39
【问题描述】:

现在我有了图像 A,我想将其重新映射到与图像 A 大小不同的图像 B。

对于每个像素坐标(x,y),它在图像B上都有坐标(r,theta)。

谁能告诉我如何实现它,最好是示例代码?因为我不太了解 remap 函数中的参数map_xmap_y

谁能帮我解释一下?非常感谢!

【问题讨论】:

    标签: opencv remap


    【解决方案1】:

    remap 通过检查map_x(i,j)map_y(i,j) 来决定将像素(i,j) 映射到哪里。最后,您的像素(i,j) 映射到(map_x(i,j),map_y(i,j))

    在您的情况下,您的像素 ​​(x,y) 应映射到 (sqrt(x^2+y^2), atan(y/x));因此您需要使用这些购物车将 map_x 和 map_y 填充到极坐标方程:

    for(int i = 0; i < src.rows; i++ )
    {
        for(int j = 0; j < src.cols; j++ )
        {
            map_x.at<float>(i,j) = sqrt(i^2 + j^2);
            map_y.at<float>(i,j) = atan(j/i);
    }}
    

    你可能还想看看cartToPolar

    【讨论】:

      猜你喜欢
      • 2014-03-29
      • 1970-01-01
      • 2018-06-22
      • 2013-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-03
      相关资源
      最近更新 更多