函数“remap”错误中的未知插值方法

问题描述 投票:0回答:2

尝试从

cv.Remap(src,dst,map1,map2,interpolation)
更新旧的Python代码 到
remapped_image = cv2.remap(src,map1,map2,interpolation)
。 问题在于插值选项。 原始插值是
cv.INTER_LINEAR+cv.WARP_FILL_OUTLIERS+cv.WARP_INVERSE_MAP
,但是,当我使用该插值代码将所有 cv 更改为 cv2 时,我收到
(-5 Bad argument) Unknown Interpolation method in function 'remap'

python opencv interpolation remap
2个回答
0
投票

错误的原因是 cv.WARP_INVERSE_MAP 标志,opencv 似乎不支持该标志(至少在 python 版本中)。 cv2.INTER_LINEAR_EXACT、cv2.INTER_NEAREST_EXACT、cv2.INTER_MAX、cv2.WARP_FILL_OUTLIERS 也会出现相同的错误。尽管有此类标志的文档。我检查了我的 cv2 版本以及安装的 opencv_contrib,但仍然有错误。看来即使在源代码中也不支持这些标志。


0
投票

WARP_INVERSE_MAP
cv::warpPolar
中使用的标志,它是
cv::linearPolar
cv::logPolar
使用的函数。

cv::warpPolar
调用
cv::remap
,但逆映射是在
cv::warpPolar
中实现的,
cv::remap
不支持(Python和C++版本)。

你可以自己实现逆映射(参考

cv::warpPolar
的源码)

© www.soinside.com 2019 - 2024. All rights reserved.