3

我正在尝试扭曲 16 位卫星图像。我有全色图像。我的参考图像是 8192x81920 像素,红色通道图像是 4096x40960 像素。当我使用warpAffineorwarpPerspective时,行值大于 32767 的像素不会正确变形。这是一个简单的错误吗?我可以通过更改变量类型来纠正它吗?

我检查了warpPerspectiveInvoker功能,但看不到一个简单的修复方法。

4

2 回答 2

4

目前我将图像分成 32k 大小的图块,并扭曲每个单独的图块。目前我的数据结果似乎是合理的。

于 2013-07-31T07:49:39.253 回答
3

这似乎是 OpenCV 中的一个开放错误cv::warpPerspective()在内部使用short来生成失真贴图。32767 是 a 中可表示的最大值short,因此任何大于此值的值都会导致问题。

您可以尝试破解并用更大的东西warpPerspectiveInvoker替换实例,例如,但我不能保证这会奏效。不过,这可能值得一试。shortint

于 2013-07-08T23:30:34.230 回答