一、缩放
在opencv中,使用函数cv2.resize()实现对图像的缩放,该函数具体形式为:
dst = cv2.resize( src, dsize[, fx[, fy[, interpolation]]])
其中:
- dst代表目标图像,该图像类型与src相同,大小为dsize。
- src为需要缩放的原始图像。
- dsize代表输出图像大小。
- fx代表水平方向的缩放比例。
- fy代表竖直方向的缩放比例。
在cv2.resize()函数中,可以通过“参数dsize”或者“参数fx和fy”二者之一来指定
1.通过参数dsize指定
如果指定参数dsize的值,那么fx和fy就没有用了。
dsize内第一个参数对性的是图像的宽度(列),第二个参数对应的是图像的高度(行)。
指定参数dize的值是,x方向的缩放大小(参数fx)为:
(double)dsize.width/src.cols
同时,y方向的缩放大小(参数fy)为:
(double)dsize.height/src.rows
通过控制cv2.rsize()函数的dsize来完成图片的缩放:
import cv2
img = cv2.imread("C:\\Users\\asus\\Desktop\\logo.png")
rst = cv2.resize(img,(200,100))
cv2.imshow("img",img)
cv2.imshow("rst",rst)
cv2.waitKey()
cv2.destroyAllWindows()
2.通过参数fx和fy指定
如果参数dsize是None,那么目标图像的大小通过参数fx和fy来决定,此时目标图像的大小为:
dsize = Size(round(fx*src.cols),round(fy*src.rows))
控制函数cv2.resize()函数的fx参数、fy参数完成图像的缩放:
import cv2
img = cv2.imread("C:\\Users\\asus\\Desktop\\logo.png")
rst = cv2.resize(img,None,fx=2,fy=0.5)
cv2.imshow("img",img)
cv2.imshow("rst",rst)
cv2.waitKey()
cv2.destroyAllWindows()
二、翻转
在opencv中,图像翻转采用cv2.flip()函数实现,该函数能够实现图像在水平、垂直方向翻转,也可以两个方向同时翻转,语法结构为:
dst = cv2.flip( src, flipCode)
- dst:目标图像
- src:原始图像
- flipCode:代表旋转类型,该参数意义如下
设计程序,使用cv2.flip()函数完成图像的翻转:
import cv2
img = cv2.imread("C:\\Users\\asus\\Desktop\\logo.png")
x = cv2.flip(img,0) #绕x轴翻转
y = cv2.flip(img,1) #绕y轴翻转
xy = cv2.flip(img,-1) #绕x轴、y轴同时翻转
cv2.imshow("img",img)
cv2.imshow("x",x)
cv2.imshow("y",y)
cv2.imshow("xy",xy)
cv2.waitKey()
cv2.destroyAllWindows()