python用opencv模块对图像进行透视变换

2025-09-26 13:26:38

1、先确定图片的四个顶点的坐标:

a=cv2.imread('1.png')

h,w = a.shape[:2]

pts = np.float32([ [0,0],[0,h-1],[w-1,h-1],[w-1,0] ])

注意,[0,0]是图片的左上角,[0,h-1]指的是图片的左下角:

cv2.circle(a,(0,h-1),36,(0,290,0),-1)

python用opencv模块对图像进行透视变换

2、我们希望把图片的四个顶点的坐标变成:

pts1 = np.float32([ [0,0],[200,h-36],[w-36,h-36],[w-1,0] ])

先得确定透视变换的系数:

M = cv2.getPerspectiveTransform(pts,pts1)

python用opencv模块对图像进行透视变换

3、对原图进行这个变换:

dst = cv2.warpPerspective(a,M,(500,526))

保存图片:

cv2.imwrite('0.png',dst)

python用opencv模块对图像进行透视变换

4、改变pst1的点坐标:

pts1 = np.float32([ [0,0],[100,h-1],[200,h-1],[w-1,0] ])

python用opencv模块对图像进行透视变换

5、pts1 = np.float32([ [0,0],[0,h-1],[300,300],[w-1,0] ])

python用opencv模块对图像进行透视变换

6、pts1 = np.float32([ [100,100],[0,h-1],[w-100,h-100],[w-1,0] ])

python用opencv模块对图像进行透视变换

7、pts1 = np.float32([[200,200],[300,500],[w-100,100],[w-1,0] ])

python用opencv模块对图像进行透视变换

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢