OpenCV warpAffine始终返回0矩阵

2024-06-02 04:40:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是python opencv版本4.5

import cv2
import numpy as np

rigidRect = np.float32([[50,-50],[50,50],[-50,50]])
shiftRect = np.float32([[50,-30],[50,70],[-50,70]])

M = cv2.getAffineTransform(rigidRect, shiftRect) #this return [[1,0,0],[0,1,20]]
validateRect = cv2.warpAffine(rigidRect, M, (2,3))

validateRect返回一个3乘2的零矩阵。 我以为validateRect等于shiftRect


Tags: import版本numpyreturnasnpthiscv2
1条回答
网友
1楼 · 发布于 2024-06-02 04:40:11

warpAffine用于使用仿射变换矩阵变换图像。您试图做的是变换给定的点,这是通过transform函数实现的。^{}的文档给出了有关see部分中相关函数的提示

validateRect = cv2.transform(rigidRect[None,:,:], M)

相关问题 更多 >