我目前正在通过执行基于嵌入在图像中的二维条码点的透视变换来校正图像的透视。在
我正在使用的代码如下所示,工作非常完美。第一个函数是我找到的用于计算转换所需系数的函数:
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}$代码确实正确地转换了图像,但它将图像剪辑为图像大小. 我想先计算图像的大小,然后再进行转换,这样它就不会被剪辑了。有什么想法吗?在
目前没有回答
相关问题 更多 >
编程相关推荐