python bgr转rgb_python-PIL旋转图像颜色(BGR- RGB)
python-PIL旋转图像颜色(BGR-> RGB)
我有一幅颜色为BGR的图像。 如何转换我的PIL图像以有效地交换每个像素的B和R元素?
9个解决方案
92 votes
只是添加一个更新的答案:
现在,使用新的cv2接口加载的图像会自动成为numpy数组。
但是openCV cv2.imread()将图像加载为BGR,而numpy.imread()将图像加载为RGB。
转换的最简单方法是使用openCV cvtColor。
import cv2
srcBGR = cv2.imread("sample.png")
destRGB = cv2.cvtColor(srcBGR, cv2.COLOR_BGR2RGB)
Martin Beckett answered 2020-08-04T20:10:45Z
79 votes
我知道这是一个老问题,但是我遇到了同样的问题,并通过以下方法解决了问题:
img = img[:,:,::-1]
Peter9192 answered 2020-08-04T20:11:05Z
23 votes
假设没有阿尔法谱带,难道就这么简单吗?
b, g, r = im.split()
im = Image.merge("RGB", (r, g, b))
编辑:
嗯...在这方面,PIL似乎有一些错误... 299698285821821010304似乎不适用于最新版本的PIL(1.1.7)。 它可能(?)仍可与1.1.6一起使用,但是...
Joe Kington answered 2020-08-04T20:10:12Z
7 votes
这是我最好的答案。 顺便说一下,这也适用于Alpha。
from PIL import Image
import numpy as np
import sys
sub = Image.open(sys.argv[1])
sub = sub.convert("RGBA")
data = np.array(sub)
red, green, blue, alpha = data.T
data = np.array([blue, green, red, alpha])
data = data.transpose()
sub = Image.fromarray(data)
sberry answered 2020-08-04T20:11:25Z
4 votes
import cv2
srcBGR = cv2.imread("sample.png")
destRGB = cv2.cvtColor(srcBGR,cv2.COLOR_BGR2RGB)
只是为了澄清Martin Beckets的解决方案,我无法发表评论。您需要cv2。 前面的颜色常数。
user2692263 answered 2020-08-04T20:11:45Z
2 votes
使用省略号添加解决方案
...
在这种情况下,省略号...等效于:,:,而::-1则反转最后一个维度(通道)的顺序。
azygous answered 2020-08-04T20:12:09Z
1 votes
使用之前解释的想法...使用numpy可以。
bgr_image_array = numpy.asarray(bgr_image)
B, G, R = bgr_image_array.T
rgb_image_array = np.array((R, G, B)).T
rgb_image = Image.fromarray(rgb_image_array, mode='RGB')
此外,它可以删除Alpha通道。
assert bgra_image_array.shape == (image_height, image_width, 4)
B, G, R, _ = bgra_image_array.T
rgb_image_array = np.array((R, G, B)).T
BlaZerTech answered 2020-08-04T20:12:33Z
1 votes
im = Image.frombuffer('RGB', (width, height), bgr_buf, 'raw', 'BGR', 0, 0)
Andrei Antonov answered 2020-08-04T20:12:49Z
0 votes
您应该能够使用ImageMath模块执行此操作。
编辑:
乔的解决方案更好,我想得太多。 :)
Amber answered 2020-08-04T20:13:17Z
python bgr转rgb_python-PIL旋转图像颜色(BGR- RGB)相关推荐
- 【Python学习】 - 使用PIL, cv2, keras.preprocessing, scipy.imageio, matplotlib.image, skimage读取和保存图像的方法
python中图像处理相关库有很多,这里简单介绍PIL.cv2.scipy.imageio .matplotlib.image.skimage等常用库,其中PIL库使用最方便,cv2库功能最强大. P ...
- python+opencv多进程实现识别魔方颜色,通过kociemba算法得出算法字符串并画图(附毕设完整视频)
完整毕设成果视频如下: 本科毕业设计转魔方(声音略大) python+opencv本科毕业设计转魔方(声音略大) 上一篇博客已经给大家讲了鼠标hsv获取魔方颜色阈值方法,具体见 python+open ...
- Python图片处理模块PIL(pillow)
Python图片处理模块PIL(pillow) 本篇包含:一.Image类的属性:1.Format 2.Mode 3.Size 4.Palette 5.Info ...
- python中opencv 与 PIL读图区别,以及与Numpy转换
之前在图片预处理上就遇到过opencv和PIL,很纠结PIL读取的图片不好在opencv上使用,或者是opencv读取的图片不好在PIL上使用,以及它们如何转换为numpy类型.现在有时间,做个小实验 ...
- python:程序猿的方式在元宵佳节之际,带你设计【东方明珠】动画浪漫烟花秀(python编程利用Tkinter+PIL库)
python:程序猿的方式在元宵佳节之际,带你设计[东方明珠]动画浪漫烟花秀(python编程利用Tkinter+PIL库) 目录 设计动画展示 设计思路 核心代码 设计动画展示 设计思路 核心代码 ...
- python红色的颜色表达式_50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)...
目前计算机视觉(CV)与自然语言处理(NLP)及语音识别并列为人工智能三大热点方向,而计算机视觉中的对象检测(objectdetection)应用非常广泛,比如自动驾驶.视频监控.工业质检.医疗诊断等 ...
- python 颜色_如何使用python中matplotlib库分析图像颜色
用代码分析图像可能很困难.你如何使代码"理解"图像的上下文? 通常,使用AI分析图像的第一步 是找到主要颜色.在如何使用python中matplotlib库分析图像颜色中,我们将使 ...
- python自带的PIL库扩展图片大小给图片加上文字描述
利用python自带的PIL库扩展图片大小给图片加上文字描述.大多都是库函数调用,只是给定图片宽度后计算文字所需行数的代码需要写. 代码比较丑,but it works. #!/usr/bin/env ...
- Python中常见的调色板: 颜色 color
Python中常见的调色板: 颜色 color 这个人对颜色的总结,非常到位哈! https://blog.csdn.net/weixin_42943114/article/details/81811 ...
最新文章
- 老司机也晕车--java字符串String晕车之旅
- getcwd和pwd为什么不一样_企业职工,公务员为什么缴纳的养老保险不一样呢?
- 迁移和升级windows 2003 R2到windows 2008 SP2
- 依赖注入 这样的坑游戏编程要谨慎
- Java面试中常问的Spring方面问题
- /dev/null 21
- spring-boot 自定义启动图标彩蛋
- 语言怎么得到直流电压并采样_交流电AC如何转换成直流电DC?
- codeforces1455 D. Sequence and Swaps
- python语言能做什么游戏好玩_太好玩了我用 Python 制作一款小游戏
- mysql 查询条数优化_MySQL优化总结-查询总条数
- 【廖雪峰官方网站/Java教程】Maven基础
- Leetcode 刷题笔记(三) —— 数组类型解题方法三:滑动窗口
- ecshop如何增加多个产品详细描述的编辑器
- 用c语言写一个求和的程序,用C语言编写一个“等比数列求和”的程序?
- 『Mysql』汇总Mysql索引失效的常见场景
- 设置图片在Unity中的默认打开方式
- 宽带光纤接入网的概念和典型应用类型
- js实现农历和公历相互转换(完整demo)
- 在网页中创建自己的调试控制台