python - Python:将 sRGB 颜色配置文件和 Alpha 通道应用于图像
问题描述
我在尝试使用 sRGB 和 alpha 通道保存 png 图像时遇到了麻烦。我首先裁剪图像,然后像这样保存它:
from PIL import Image
import cv2
inputPath = 'picture.png'
img = cv2.imread(inputPath)
crop_img = img[bounds[3]:bounds[2], bounds[1]:bounds[0]]
pth = name + ".png"
crop_img.save(pth)
然而,这会创建一个像这样的文件:
我希望文件是这样的:
我怎样才能在 python 中得到这个结果?
PS 原始图像确实具有 alpha 通道和 sRGB 颜色配置文件。
任何帮助是极大的赞赏!
解决方案
您可以按如下方式阅读您的图像。它将加载您的图像,包括 alpha 通道。
img = cv2.imread(inputPath,-1)
更新
以下代码等效于上述给出的答案,因为 cv2.IMREAD_UNCHANGED=-1
在文档中。尽管上面的代码片段解决了这个问题,但使用它并不是一个好的编程习惯,因为它没有给出关于真正-1
做什么的想法。但是下面的代码片段给出了关于代码行为的明确概念。
img = cv2.imread(input,cv2.IMREAD_UNCHANGED)
推荐阅读
- java - 如何搜索 JSON 对象的特定部分并添加到现有对象
- cordova - 找不到指令“ionNavTitle”所需的离子控制器“ionNavBar”
- spring - 在 Spring 和多线程中调用 REST API
- java - 等待异步任务的安全有效的方法
- unicode - ocaml:从文件中读取 unicode,打印到控制台
- ruby-on-rails - Webpacker 没有实时编译
- html - CSS保持div的纵横比与填充,但它被父Flexbox禁用
- sql - SQL SELECT 按特定行排序
- haskell - 如何从 XMonad 中的所有浮动窗口中删除边框
- javascript - input=submit 在确认对话框之前提交