matplotlib的imshow显示图片颜色正常,用cv2保存颜色不对

OpenCV默认使用BGR颜色通道顺序来读取和显示图片,而matplotlib使用的是RGB颜色通道顺序。当你直接使用cv2.imwrite保存由matplotlib处理的图片数组时,如果直接保存,OpenCV可能会按照BGR顺序解释数据,导致颜色不正确。

解决方法:

在保存图片之前,将图片从RGB转换为BGR。可以使用numpy的ndarray.transpose方法或者cv2.cvtColor方法进行转换。

python 复制代码
import cv2
import numpy as np
from matplotlib import pyplot as plt

# 假设img是从matplotlib获取的图像数据
img = plt.imread('your_image.png')  # 读取图片,这里已经是RGB格式

# 转换为BGR格式
img_bgr = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)

# 现在保存图片
cv2.imwrite('output_image.png', img_bgr)
相关推荐
怒放吧德德3 小时前
Python3基础:基础实战巩固,从“会用”到“活用”
后端·python
aiguangyuan3 小时前
基于BERT的中文命名实体识别实战解析
人工智能·python·nlp
喵手3 小时前
Python爬虫实战:知识挖掘机 - 知乎问答与专栏文章的深度分页采集系统(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集知乎问答与专栏文章·采集知乎数据·采集知乎数据存储sqlite
铉铉这波能秀3 小时前
LeetCode Hot100数据结构背景知识之元组(Tuple)Python2026新版
数据结构·python·算法·leetcode·元组·tuple
kali-Myon3 小时前
2025春秋杯网络安全联赛冬季赛-day2
python·安全·web安全·ai·php·pwn·ctf
Olamyh4 小时前
【 超越 ReAct:手搓 Plan-and-Execute (Planner) Agent】
python·ai
deepxuan4 小时前
Day7--python
开发语言·python
曲幽4 小时前
FastAPI不止于API:手把手教你用Jinja2打造动态Web页面
python·fastapi·backend·jinja2·full stack·template engine·web development
禹凕4 小时前
Python编程——进阶知识(多线程)
开发语言·爬虫·python
Ulyanov4 小时前
基于Pymunk物理引擎的2D坦克对战游戏开发
python·游戏·pygame·pymunk