介绍
我们知道cv2库自带resize函数可以用来重置图片的大小,但在调用resize函数时需要输入要得到的图片的长和宽,今天给大家介绍一种方法可以实现图片自动变换大小并且拖动图片边缘还可以实现图片动态自动变化大小。
代码如下:
import cv2
# 调用此函数只用输入宽或者高
def resize(image, width=None, height=None, inter=cv2.INTER_AREA):
dim = None # 用来接收调整大小后的图像信息
(h, w) = image.shape[:2] # 获得原图的h和 w
if width is None and height is None:
return image
if width is None:
r = height / float(h) # r代表缩放比例,用已知的h除以图片原本的h得到一个比例
dim = (int(w * r), height)
else:
r = width / float(w)
dim = (int(h * r), width)
resized = cv2.resize(image, dim, interpolation=inter) #根据调整后的h,w重构图像
return resized
# 调用函数
img = cv2.imread("text.jpg")
img_new = resize(img, height=1000)
cv2.namedWindow('result', cv2.WINDOW_NORMAL) #cv2.WINDOW_NORMAL创建的窗口是可调整大小的
cv2.imshow("result", img_new)
cv2.waitKey(0)