04-图像几何变换

图像缩放
通过cv2.resize(src,dsize,fx,fy,interpolation)调整输入图像的大小
其中src是输入图像,dsize是输出图片尺寸,fx和fy是沿x轴,y轴的缩放系数,interpolation是插入方式
(dsize和fx,fy设置一个就可以)

以下常用的几种interpolation插入方式:
INTER_NEAREST:最近邻插值
INTER_LINEAR:双线性插值(默认设置)
INTER_AREA:使用像素区域关系进行重采样
INTER_CUBIC:4x4像素邻域的双三次插值
INTER_LANCZOS4:8x8像素邻域的Lanczos插值

import cv2

src = cv2.imread(r"image\lenacolor.png")

# 使用dsize进行图像缩放,输出图片的尺寸为列缩小一半,行不变
rows,cols = src.shape[:2]
print(rows,cols)
size = (round(cols*0.5),round(rows*1))
resize_1 = cv2.resize(src,size)
print(resize_1.shape)

# 使用fx,fy进行图像缩放
resize_2 = cv2.resize(src,None,fx=2,fy=2)

cv2.imshow("src",src)
cv2.imshow("dsize",resize_1)
cv2.imshow("fx,fy",resize_2)

cv2.waitKey(0)
cv2.destroyAllWindows()

图像翻转
通过cv2.flip(src,flipcode)对图像进行翻转
其中src是输入图像,flipcode是翻转方式

以下常用的几种翻转方式:
1:水平翻转 0:垂直翻转 -1:水平垂直翻转

import cv2

src = cv2.imread(r"image\lenacolor.png")

# 水平翻转
result1 = cv2.flip(src,1)
# 垂直翻转
result2 = cv2.flip(src,0)
# 水平垂直翻转
result3 = cv2.flip(src,-1)

cv2.imshow("src",src)
cv2.imshow("result1",result1)
cv2.imshow("result2",result2)
cv2.imshow("result3",result3)

cv2.waitKey(0)
cv2.destroyAllWindows()

 

posted @ 2021-09-07 16:46  马铃薯1  阅读(57)  评论(0编辑  收藏  举报