如何将 cv2 / Pillow 修改后的图像写入磁盘?

How can I write a cv2 / Pillow-modified image out to disk?

我用 Image.open() 打开了一张图片。我做了一些更改,重新分配像素 RGV 值,并尝试保存。

当我尝试保存时,我得到:

Trace back (most recent call last):
  File "./shimmer", line 97, in <module>
    cv2.imwrite('/home/christos/portrait-out.jpg', result)
TypeError: Expected Pre<cv::UMat> for argument 'img'

创建图像时会发生这种情况,baseline = Image.open('/home/christos/portrait-new-mini.jpg')

在搜索中我发现了类似的报告错误,但没有明确说明 "Here’s what works and how’s why."

我也看到过类似的工作完成但没有类似记录困难的页面。

如果需要,我可以 post 我的代码,但我猜测问题是由 cv2.imwrite() 调用和我想提供给调用的东西狭义定义的。

您似乎在 Pillow 中打开图像并尝试使用 OpenCV 保存 Pillow 图像。 OpenCV 需要一个 numpy 数组。在使用 opencv 写入文件之前,您应该先转换图像。

检查此 post :

我想,它会解决你的问题