OpenCv 几何变换

作者:安澈澈^
案列:© Fu Xianjun. All Rights Reserved.

OpenCv 几何变换


import cv2
import numpy as np

cv2.waitKey(0)
cv2.destroyAllWindows()

1.图像的简单缩放

在这里插入图片描述


img=cv2.imread("lena.jpg",0)
rows,cols,_ = img.shape 
//第一种缩放方式
size1 = (int(rows*0.9),int(cols*0.8))//宽变成0.9倍,长变成0.8倍
img_resize1 = cv2.resize(img,size1) 
//第二种缩放方式
img_resize2 = cv2.resize(img,None,fx=2,fy=1.5)//宽变成两倍,长变成1.5倍cv2.imshow("SRC",img)
cv2.imshow("RESIZE1",img_resize1)
cv2.imshow("RESIZE2",img_resize2)

2.图像的翻转

mg_flip1=cv2.flip(img,0)//x轴翻转
mg_flip2=cv2.flip(img,1)//y轴翻转
mg_flip1=cv2.flip(img,-1)//x,y轴翻转

2.图像的平移

rows,cols,_ = img.shape
x = 100
y = 200
M = np.float32([[1,0,x],[0,1,y]])//转换矩阵
img_move=cv2.warpAffine(img,M,(cols,rows))//平移操作,注意(cols,rows)
cv2.imshow("img",img_move)

在这里插入图片描述

3.图像的旋转

height,width,_ = img.shape
M = cv2.getRotationMatrix2D((width/2, height/2), 45, 0.6)
img_rotate=cv2.warpAffine(img,M,(width, height))//平移操作
cv2.imshow("ROTATE",img_rotate)

在这里插入图片描述

4.图像的透视

在这里插入图片描述

img = cv2.imread("lianxi.png")
row,cols = img.shape[:2]
pts_o = np.float32([[45, 180], [220, 80], [60, 290], [270, 190]])
pts_d = np.float32([[0, 0], [200, 0], [0, 100], [200, 100]]) 
M = cv2.getPerspectiveTransform(pts_o, pts_d)
dst = cv2.warpPerspective(img, M, (200, 100))
cv2.imshow('img', img)
cv2.imshow('dst', dst)

在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值