python - 如何将cv2/Pillow修改的图像写出到磁盘?

标签 python image opencv image-editing

我有一个用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')时会发生这种情况。

在搜索中,我发现了类似的报告错误,但是没有清楚地说明“这是什么,为什么会这样。”

我也看到过这样的页面,在这些页面中完成相似的工作而没有相似的记录困难。

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

最佳答案

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

检查这个职位:https://stackoverflow.com/a/14140796/13103631

我想,它将解决您的问题

关于python - 如何将cv2/Pillow修改的图像写出到磁盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60956754/

相关文章:

javascript - 为什么这些图像比原始尺寸大?

android - 如何使用 javacv 在 android 中将图像转换为视频?

python - 使用来自 ipywidgets 的交互与数据框

python - 将列表转换为字符串列表python

javascript - 在 Javascript 中预加载图像

image - 图像的步幅和填充

java - 我怎样才能进一步调整以下算法(Java)以使其运行得更快?

python - OpenCV 错误 : Assertion failed (mask. size == src1.size) in binary_op

python - Ansible:维护 sudoer 列表的最佳实践

python - 如何使用 python 使用特定规则对元组进行排序