opencv与PIL处理图像视频

小记opencv与PIL图像处理

opencv

读取图片

调用cv2.imread()函数:

import cv2
path = r"1.jpg"
img = cv2.imread(path)
# cv2.namedWindow("image")  
# cv2.resizeWindow("image",480,600)
cv2.imshow("image",img) 
cv2.waitKey(0
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Tkinter和OpenCV结合可以实现一个简单的图像处理系统,在界面上实现对图像的预览和一些基本的处理功能。下面是一个使用Tkinter和OpenCV实现图像处理系统的示例代码: ```python import tkinter as tk from PIL import Image, ImageTk import cv2 class App: def __init__(self, root): self.root = root self.root.title("图像处理系统") # 创建图像显示区域 self.canvas = tk.Canvas(root, width=640, height=480) self.canvas.pack() # 创建按钮 self.btn_open = tk.Button(root, text="打开图像", command=self.open_image) self.btn_open.pack(side=tk.LEFT, padx=10, pady=10) self.btn_gray = tk.Button(root, text="灰度化", command=self.gray_image) self.btn_gray.pack(side=tk.LEFT, padx=10, pady=10) self.btn_edge = tk.Button(root, text="边缘检测", command=self.edge_image) self.btn_edge.pack(side=tk.LEFT, padx=10, pady=10) self.btn_reset = tk.Button(root, text="重置", command=self.reset_image) self.btn_reset.pack(side=tk.LEFT, padx=10, pady=10) # 初始化变量 self.img = None self.tk_img = None def open_image(self): # 选择图像文件并读取 filename = tk.filedialog.askopenfilename() if filename: self.img = cv2.imread(filename) self.show_image() def gray_image(self): # 灰度化处理 if self.img is not None: gray = cv2.cvtColor(self.img, cv2.COLOR_BGR2GRAY) self.img = gray self.show_image() def edge_image(self): # 边缘检测处理 if self.img is not None: gray = cv2.cvtColor(self.img, cv2.COLOR_BGR2GRAY) blur = cv2.GaussianBlur(gray, (5, 5), 0) edges = cv2.Canny(blur, 50, 150) self.img = edges self.show_image() def reset_image(self): # 重置图像 self.show_image() def show_image(self): # 将OpenCV图像转换为Tkinter的图像 if self.img is not None: img = cv2.cvtColor(self.img, cv2.COLOR_BGR2RGB) img = Image.fromarray(img) self.tk_img = ImageTk.PhotoImage(img) self.canvas.create_image(0, 0, anchor="nw", image=self.tk_img) if __name__ == '__main__': root = tk.Tk() app = App(root) root.mainloop() ``` 这个示例程序中,我们创建了一个tkinter应用程序,包含了一个图像显示区域和一些按钮,用于打开图像、灰度化、边缘检测和重置图像。当用户点击打开图像按钮时,程序会打开文件对话框,让用户选择一个图像文件,并将其读取到OpenCV中。当用户点击灰度化或边缘检测按钮时,程序会对当前图像进行相应处理,并在图像显示区域中显示处理结果。当用户点击重置按钮时,程序会恢复原始图像

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值