Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
opencv::remap()如何将图像重新映射到另一个大小不同的图像_Opencv_Remap - Fatal编程技术网

opencv::remap()如何将图像重新映射到另一个大小不同的图像

opencv::remap()如何将图像重新映射到另一个大小不同的图像,opencv,remap,Opencv,Remap,现在我有了图像A,我想将它重新映射到图像B,它的大小与图像A不同 对于每个像素坐标(x,y),它具有图像B上的坐标(r,θ) 有谁能告诉我如何实现它,最好是用示例代码?因为我不太理解remap函数中的参数map\ux,map\uy 谁能给我解释一下吗?非常感谢 remap通过选中map_x(i,j)和map_y(i,j)来决定将像素映射到哪里。最后,您的像素(i,j)被映射到(map_x(i,j),map_y(i,j)) 在你的例子中,你的像素(x,y)应该被映射到(sqrt(x^2+y^2),

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

对于每个像素坐标(x,y),它具有图像B上的坐标(r,θ)

有谁能告诉我如何实现它,最好是用示例代码?因为我不太理解remap函数中的参数
map\ux
map\uy


谁能给我解释一下吗?非常感谢

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

在你的例子中,你的像素(x,y)应该被映射到(sqrt(x^2+y^2),atan(y/x));因此,您需要使用这些cart-to-polar方程填充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);
}}
for(int i=0;i
你可能还想看看