首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PIL旋转图像颜色(BGR -> RGB)

PIL旋转图像颜色(BGR -> RGB)
EN

Stack Overflow用户
提问于 2011-01-12 03:06:17
回答 12查看 109.6K关注 0票数 64

我有一个图像,其中的颜色是BGR。如何将PIL图像转换为有效地交换每个像素的B和R元素?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2011-01-12 03:18:14

假设没有alpha带,不是就这么简单吗?

代码语言:javascript
复制
b, g, r = im.split()
im = Image.merge("RGB", (r, g, b))

编辑:

嗯..。似乎PIL在这方面有一些bug...im.split()似乎不适用于最新版本的PIL (1.1.7)。它可能(?)不过,仍然可以使用1.1.6。

票数 30
EN

Stack Overflow用户

发布于 2016-09-01 19:37:26

我知道这是一个古老的问题,但我也有同样的问题,并用以下方法解决了它:

代码语言:javascript
复制
img = img[:,:,::-1]
票数 116
EN

Stack Overflow用户

发布于 2012-03-10 05:19:57

只是添加一个更新的答案:

有了新的cv2界面,图像现在可以自动加载到numpy数组中。

但是openCV cv2.imread()将图像加载为BGR,而numpy.imread()将它们加载为RGB。

最简单的转换方法是使用openCV cvtColor。

代码语言:javascript
复制
import cv2
srcBGR = cv2.imread("sample.png")
destRGB = cv2.cvtColor(srcBGR, cv2.COLOR_BGR2RGB)
票数 103
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4661557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档