网站建设客户需求调查表,360网站卖东西怎么做的,哪个网站可以做条形码,虚拟主机管理概念#xff1a;几何变换是指将一幅图像映射到另外一幅图像内的操作。OpenCV提供了多个与映射有关的函数#xff0c;这些函数使用起来方便灵活#xff0c;能够高效地完成图像的映射。
缩放
cv2.resize()函数用于缩放图像 det cv2.resize(src, dsize[,dst[,fx[,fy[,interp…概念几何变换是指将一幅图像映射到另外一幅图像内的操作。OpenCV提供了多个与映射有关的函数这些函数使用起来方便灵活能够高效地完成图像的映射。
缩放
cv2.resize()函数用于缩放图像 det cv2.resize(src, dsize[,dst[,fx[,fy[,interpolation]]]]) dst表示转换后的图像 src表示原图像 dsize表示转换后图像大小 fx表示水平方向的缩放比例 fy表示垂直方向的缩放比例 interpolation表示插值方式 插值方式说明cv2.INTER_NEAREST最近邻差值cv2.INTER_LINEAR双线性插值(默认插值方式)cv2.INTER_CUBIC3次样条插值cv2.INTER_AREA区域插值cv2.INTER_LANCZOS4LANCZOS插值 需要注意的是当dsize不为None时不管是否设置了fx和fy的参数都由dsize来确定目标图像的大小格式为(widthheight)。 import cv2
img cv2.imread(test2.jpg)
# 等比缩放
width 256
high int(img.shape[0]*(width/img.shape[1]))
img1 cv2.resize(img, (width, high), interpolationcv2.INTER_LINEAR)
img2 cv2.resize(img, (width, high), interpolationcv2.INTER_NEAREST)
img3 cv2.resize(img, (width, high), interpolationcv2.INTER_AREA)
img4 cv2.resize(img, (width, high), interpolationcv2.INTER_CUBIC)
img5 cv2.resize(img, (width, high), interpolationcv2.INTER_LANCZOS4)
cv2.imshow(orgion,img)
cv2.imshow(INTER_LINEAR,img1)
cv2.imshow(INTER_NEAREST,img2)
cv2.imshow(INTER_AREA,img3)
cv2.imshow(INTER_CUBIC,img4)
cv2.imshow(INTER_LANCZOS4,img5)
cv2.waitKey(-1)
cv2.destroyAllWindows()
翻转
cv2.flip()函数用于反转图像 dst cv2.flip(src,flipCode) dst表示转换后的图像 src表示原图像 flipCode表示反转类型 flipCode说明0绕x轴翻转(垂直翻转)1绕y轴翻转(水平翻转)-1绕x轴和y轴翻转(垂直和水平翻转) img cv2.imread(test1.jpg)# 水平翻转--1
# 垂直翻转--0
# 水平垂直翻转---1
img1 cv2.flip(img, 1)
img2 cv2.flip(img, 0)
img3 cv2.flip(img, -1)
仿射
放射变换包含了平移、旋转、缩放等操作其特点是原图像中的所有平行线在转换后的图像中任然平行。OpenCV的cv2.warpAffine()函数用于实现图像的仿射变换。 dst cv2.warpAffine(src,M,dsize[,dst[,flags[,borderMode[,broderValue]]]]) dst表示转换后的图像 src表示原图像 M是一个大小为2*3的转换矩阵使用不同的转换矩阵可实现平移、旋转等多种操作 dsize为转换后图像的大小 flags为插值方式 borderMode为边类型 broderValue为边界值 透视 平行四边形仿射是将图像变换为任意平行四边形而透视则把图像变换为任意四边形。
import numpy as np
import cv2
toushi cv2.imread(toushi.jpg)
pts1 np.float32([[350,400],[900,350],[290,1525],[1060,1475]])
pts2 np.float32([[0,0],[600,0],[0,1200],[600,1200]])
M cv2.getPerspectiveTransform(pts1,pts2)
dst cv2.warpPerspective(toushi,M,(600,1200))
cv2.imshow(test0,toushi)
cv2.imshow(test1,dst)
cv2.waitKey(-1)
cv2.destroyAllWindows()
透视前图片 透视转换后效果