做图像平移的时候遇到以下问题
cv2.error: OpenCV(4.5.5) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\imgwarp.cpp:2604: error: (-215:Assertion failed) (M0.type() == CV_32F || M0.type() == CV_64F) && M0.rows == 2 && M0.cols == 3 in function ‘cv::warpAffine’
代码:
M=np.array([[1,0,delt_x],
[0,1,delt_y]],dtype=np.int0)
shift_source_mask=cv2.warpAffine(source_mask, M, (source_mask.shape[1], source_mask.shape[0]),borderValue=(0)) #注意这是(宽 、 高),shape返回的是 高、宽
变化矩阵类型错误,应该为np.float32,改成如下:
M=np.array([[1,0,delt_x],
[0,1,delt_y]],dtype=np.float32)