我正在尝试将一些代码从Python移植到Android Java。
在Python中,我使用OpenCV(= cv2)并以这种方式变形/扭曲了图像:
target_points = np.float32([[x1t, y1t], [x2t, y2t], [x3t, y3t], [x4t, y4t]])
origin_points = np.float32([[210, 152], [614, 140], [83, 568], [756, 554]])
transform_Matrix = cv2.getPerspectiveTransform(origin_points, target_points)
origin_image = cv2.imread("my_image.jpg", 1)
target_frame = cv2.warpPerspective(origin_image, transform_Matrix (SIZE_X, SIZE_Y))
因此,基本上,在Python OpenCV中,我首先定义原始图像中的哪些点与目标图像中的哪些点相对应。然后,Python使用getPerspectiveTransform()函数自动推断一个转换矩阵,然后在warpPerspective()函数中使用此矩阵来获取目标图像。
我已经找了几个小时,但无法弄清楚Android / Java的实现方式。
是否有一些类似Python的快捷方式,还是我必须自己实现?
编辑:函数android.graphics.matrix.mapPoints()或setRectToRect()是否有用?