cv2.warpPerspective(src,M,dsize=(width,height),flags=INTER_LINEAR,borderMode=BORDER_CONSTANT,borderValue=None)
不设置WARP_INVERSE_MAP
时,使用
M
M
M进行warp;设置WARP_INVERSE_MAP
时,使用
M
−
1
M^{-1}
M−1进行warp
-
src:输入图像
-
M: 3 × 3 3\times 3 3×3的变换矩阵
-
dsize:输出图像大小
-
flags:插值方法
- INTER_AREA
- INTER_BITS
- INTER_BITS2
- INTER_CUBIC
- INTER_LANCZOS4
- INTER_LINEAR
- WARP_INVERSE_MAP:特殊flag
-
borderMode:边界模式
BORDER_CONSTANT Python: cv.BORDER_CONSTANT iiiiii|abcdefgh|iiiiiii
with some specifiedi
BORDER_REPLICATE aaaaaa|abcdefgh|hhhhhhh
BORDER_REFLECT fedcba|abcdefgh|hgfedcb
BORDER_WRAP cdefgh|abcdefgh|abcdefg
BORDER_REFLECT_101 gfedcb|abcdefgh|gfedcba
BORDER_TRANSPARENT uvwxyz|abcdefgh|ijklmno
BORDER_REFLECT101 same as BORDER_REFLECT_101 BORDER_DEFAULT same as BORDER_REFLECT_101 BORDER_ISOLATED do not look outside of ROI -
borderValue:边界模式为常量时的边界填充值
关于dsize:表示将原图warp后,裁剪多大的图像。
原图:
红色框到绿色框为求解M矩阵的点,即从红色框向绿色款进行变换。warp后的图为:
若设置较小的dsize,的到的图为:
可见,此时为直接从warp后的图的左上角开始裁剪了dsize大小的图作为返回值。