gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 21:16:38 26 4
gpt4 key购买 nike

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

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

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

有人可以帮我解释一下吗?非常感谢!

最佳答案

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);
}}

您可能还想看看 cartToPolar

关于opencv::remap() 如何将一个图像重新映射到另一个具有不同大小的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22323410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com