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" 即可。