使用OpenCV库,完成上传图像并显示的程序,提供可视化界面,用同一个界面显示上传的图像。要求输出的图像大小尺寸为200*200,初始界面要求尺寸300*300
时间: 2024-10-11 17:02:48 浏览: 7
使用OpenCV库创建一个简单的Python程序来实现在GUI界面上上传图片并调整其大小的功能,你可以使用Tkinter作为基础图形用户界面框架,PIL库处理图像,然后结合OpenCV进行预览。以下是基本步骤:
首先,确保安装了所需的库:
```bash
pip install opencv-python-headless numpy tk
```
接下来,编写一个名为`image_viewer.py`的文件,包含以下代码:
```python
import tkinter as tk
from PIL import Image, ImageTk
import cv2
class ImageViewer:
def __init__(self, master):
self.master = master
master.geometry("300x300") # 设置初始窗口大小
self.upload_button = tk.Button(master, text="上传图片", command=self.open_file)
self.upload_button.pack(pady=10)
self.image_label = tk.Label(master)
self.image_label.pack()
def open_file(self):
file_path = tk.filedialog.askopenfilename() # 弹出选择文件的对话框
if file_path:
img = cv2.imread(file_path) # 读取图像
resized_img = cv2.resize(img, (200, 200)) # 调整到200x200
pil_image = Image.fromarray(resized_img)
tk_image = ImageTk.PhotoImage(image=pil_image)
self.image_label.config(image=tk_image) # 更新Label显示新图片
if __name__ == "__main__":
root = tk.Tk()
viewer = ImageViewer(root)
root.mainloop()
```
运行此脚本,你会看到一个窗口,点击“上传图片”按钮,可以选择一个图像文件。选定后,图像会被调整为200x200像素并在窗口中显示。