你是一个python工程师,现在你要利用OpenCV的cv2.resize()函数编写一个图像缩放的程序,要求按0键图像恢复原始大小,按1键缩小为原图的20%,按2键缩小为原图的50%,按3键放大为原图的1.5倍,按4键放大为原图的2倍。并给出代码
时间: 2023-12-10 12:39:08 浏览: 62
Python OpenCV之图片缩放的实现(cv2.resize)
好的,这里是一个简单的图像缩放程序,使用了OpenCV的cv2.resize()函数,实现了根据用户输入的按键值来对图像进行缩放的功能:
```python
import cv2
# 加载图像
img = cv2.imread('image.jpg')
# 显示原始图像
cv2.imshow('Original', img)
while True:
# 等待用户按键
k = cv2.waitKey(0)
# 恢复原始大小
if k == 48: # ASCII码中0的键值为48
cv2.imshow('Resized', img)
# 缩小为原图的20%
elif k == 49: # ASCII码中1的键值为49
img_resized = cv2.resize(img, None, fx=0.2, fy=0.2, interpolation=cv2.INTER_AREA)
cv2.imshow('Resized', img_resized)
# 缩小为原图的50%
elif k == 50: # ASCII码中2的键值为50
img_resized = cv2.resize(img, None, fx=0.5, fy=0.5, interpolation=cv2.INTER_AREA)
cv2.imshow('Resized', img_resized)
# 放大为原图的1.5倍
elif k == 51: # ASCII码中3的键值为51
img_resized = cv2.resize(img, None, fx=1.5, fy=1.5, interpolation=cv2.INTER_LINEAR)
cv2.imshow('Resized', img_resized)
# 放大为原图的2倍
elif k == 52: # ASCII码中4的键值为52
img_resized = cv2.resize(img, None, fx=2, fy=2, interpolation=cv2.INTER_LINEAR)
cv2.imshow('Resized', img_resized)
# ESC键退出程序
elif k == 27:
break
# 释放窗口并退出程序
cv2.destroyAllWindows()
```
在上面的程序中,我们先加载了一张名为“image.jpg”的图像,然后进入一个循环中等待用户按键。根据不同的按键值,我们使用cv2.resize()函数对图像进行缩放,并在窗口中显示缩放后的图像。如果用户按下了0键,则恢复原始大小;如果用户按下了其他键,则按照要求进行缩放。最后,当用户按下ESC键时,程序退出并关闭所有窗口。
阅读全文