PIL透视变换中目标图像大小的计算

2024-05-15 11:44:34 发布

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

我目前正在通过执行基于嵌入在图像中的二维条码点的透视变换来校正图像的透视。在

我正在使用的代码如下所示,工作非常完美。第一个函数是我找到的用于计算转换所需系数的函数:

def find_coeffs(pa, pb):
matrix = []
for p1, p2 in zip(pa, pb):
    matrix.append([p1[0], p1[1], 1, 0, 0, 0, -p2[0]*p1[0], -p2[0]*p1[1]])
    matrix.append([0, 0, 0, p1[0], p1[1], 1, -p2[1]*p1[0], -p2[1]*p1[1]])

A = numpy.matrix(matrix, dtype=numpy.float)
B = numpy.array(pb).reshape(8)

res = numpy.dot(numpy.linalg.inv(A.T * A) * A.T, B)
return numpy.array(res).reshape(8), res

下面是进行转换的代码:

^{pr2}$

代码确实正确地转换了图像,但它将图像剪辑为图像大小. 我想先计算图像的大小,然后再进行转换,这样它就不会被剪辑了。有什么想法吗?在


Tags: 函数代码图像numpy剪辑resarraymatrix