opencv重新映射到不同大小的图像

问题描述:

我可以使用重新映射将一个图像映射到另一个不同大小的图像吗?例如opencv重新映射到不同大小的图像

例如假设我想将图像1(大小为a,b)的所有像素映射到新图像中,并且新图像的大小应该是2a + b,2b + a。

+1

是的,你可以。你需要创建一个映射函数map.create(newimage.size(),CV_32FC1);并填充它。在这里的例子,检查结果2一个新的大小:http://docs.opencv.org/doc/tutorials/imgproc/imgtrans/remap/remap.html – baci

remap更适合图像的几何转换。如果您正在调整图像大小,只有imresize是图像大小调整图像的更好选择。在你的情况下,你可以简单地写

resize(source_Img, destination_Img, Size(2a+b,2b+a), 0, 0, interpolation);

+0

“我想映射图像1中的所有像素(大小为a,b)那x + y baci

+0

对不起!误解了这个问题。谢谢澄清。如果是这种情况,那么我在上面提出您的意见。 – Genutek

是的,你可以做到这一点,如果你提供所需大小的地图图像。请参阅文档remap

是否有任何理由,你不能使用resize函数呢?

+0

感谢您的答复。是的,我想将图像重新映射到另一个图像(几何变换),结果与输入图像不一样。例如,将全景图像转换为立方体图像(http://www.tiempo-digital.com/en/software/tocube/tocube.html) – mans