如何在opencv中翻译图像(将剩下的图像保留为黑色)
似乎只有旋转矩阵的接口,而且(据我所知)无法在opencv(v.1)python中创建自定义矩阵
请不要用C / C ++或cv2
发送代码我希望实现像
这样的东西matrix = cv.CreateMat(2, 3, cv.CV_32FC1 )
#now apply the translation transformation somehow
result = cv.CloneImage(Image)
cv.WarpAffine(Image, result, matrix, cv.CV_INTER_LINEAR + cv.CV_WARP_FILL_OUTLIERS, cv.ScalarAll(0))
return result
谢谢:)
答案 0 :(得分:0)
我发现有一种方法可以通过cv.Set2D方法创建自定义矩阵。 对于想要在opencv python中创建自定义转换矩阵的任何人,代码如下所示。
matrix = cv.CreateMat(2, 3, cv.CV_32FC1 )
cv.Set2D(matrix,0,0,1)
cv.Set2D(matrix,0,1,0)
cv.Set2D(matrix,0,2,x)
cv.Set2D(matrix,1,0,0)
cv.Set2D(matrix,1,1,1)
cv.Set2D(matrix,1,2,y)
谨防opencv只接受cv.WarpAffine方法的3x2 matricies(不是3x3)