wxpyhon+opencv

wxpython filedialog 与opencv imwrite保存图片方法

结合 wxPython 和 OpenCV 的功能,你可以实现一个允许用户选择图像文件,并使用 OpenCV 的 cv2.imwrite() 函数将图像保存到磁盘上的功能。下面是一个例子:

import wx
import cv2

app = wx.App()

wildcard = "JPEG files (*.jpg)|*.jpg|" \
           "PNG files (*.png)|*.png|" \
           "All files (*.*)|*.*"

dlg = wx.FileDialog(None, "Choose an image file", wildcard=wildcard, style=wx.FD_OPEN)

if dlg.ShowModal() == wx.ID_OK:
    filename = dlg.GetPath()
    image = cv2.imread(filename)
    cv2.imwrite("output_image.png", image)

dlg.Destroy()

上述代码使用 wx.FileDialog 类来让用户选择一个图像文件,并使用 OpenCV 的 cv2.imread() 函数读取选择的图像。然后使用 cv2.imwrite() 函数将图像保存到磁盘上。


上例中图像保存为了 PNG 格式,但实际上可以使用图像格式。例如,如果想将图像保存为 JPEG,只需要将输出文件的扩展名改为 ".jpg" 即可。