Python OpenCV ——Matplotlib显示图片

   Color image loaded by OpenCV is in BGR mode.But Matplotlib displays in RGB mode.So color images will not be displayed correctly in Matplotlib if image is read with OpenCV.Please see the exercises for more details.(引自文档)

import numpy as np
import cv2
from matplotlib import pyplot as plt
‘‘‘
img = cv2.imread(‘cute.jpg‘,0)
plt.imshow(img,cmap=‘gray‘,interpolation=‘bicubic‘)
plt.xticks([],plt.yticks([]))  # to hide tick values on X and Y axis
plt.show()
‘‘‘

‘‘‘
Color image loaded by OpenCV is in BGR mode.
But Matplotlib displays in RGB mode.
So color images will not be displayed correctly in Matplotlib if image is read with OpenCV.
Please see the exercises for more details.
‘‘‘
img = cv2.imread(‘cute.jpg‘)
b, g, r = cv2.split(img)
img2 = cv2.merge([r,g,b])
# img2 = img[:,:,::-1]    this can be faster
plt.subplot(121);plt.imshow(img)  # expects distorted color
plt.subplot(122);plt.imshow(img2)  # expects true color
plt.show()

cv2.imshow(‘bgr image‘,img)  # expects true color
cv2.imshow(‘rgb image‘,img2)  # expects distrorted color
cv2.waitKey(0)
cv2.destroyAllWindows()

  图像输出:

Matlpotlib输出:

OpenCV输出:

时间: 2024-10-12 13:34:16

Python OpenCV ——Matplotlib显示图片的相关文章

python 读取并显示图片的两种方法

在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片.本人偏爱 matpoltlib,因为它的语法更像 matlab. 一.matplotlib 1. 显示图片 import matplotlib.pyplot as plt # plt 用于显示图片 import matplotlib.image as mpimg # mpimg 用于读取图片 import numpy as np lena = mpimg.imread('lena.png')

RPi 2B python opencv camera demo example

/************************************************************************************** * RPi 2B python opencv camera demo example * 声明: * 本文主要记录RPi 2B 使用python opencv来获取图片的方式. * * 2016-2-24 深圳 南山平山村 曾剑锋 **********************************************

Tensorflow显示图片

Tensorflow在处理数据时,经常加载图像数据,有的时候是直接读取文件,有的则是读取二进制文件,为了更好的理解Tensorflow数据处理模式,先简单讲解显示图片机制,就能更好掌握是否读取正确了. 一.结合opencv读取显示图片 1.变量 使用tf.Variable初始化为tensor,加载到tensorflow对图片进行显示 def showimage_variable_opencv(filename): image = cv2.imread(filename) # Create a T

python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)

最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指正. 一.最简单的基本框架如下:已知x,y,画出折线图并保存.此时x和y均为数字. 1 # -*- coding: utf-8 -*- 2 3 import matplotlib.pyplot as plt #引入matplotlib的pyplot子库,用于画简单的2D图 4 import random 5

基于Python实现matplotlib中动态更新图片(交互式绘图)

最近在研究动态障碍物避障算法,在Python语言进行算法仿真时需要实时显示障碍物和运动物的当前位置和轨迹,利用Anaconda的Python打包集合,在Spyder中使用Python3.5语言和matplotlib实现路径的动态显示和交互式绘图(和Matlab功能类似). Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存.切换以及各种第三方包安装问题.Anaconda利用

pylab.show()没有显示图形图像(python的matplotlib画图包)

import pylabpylab.ion() x = pylab.arange( 0, 10, 0.1)y = pylab.sin(x)pylab.plot(x,y, 'ro-')pylab.show()  pylab.savefig('temp.png') ============================ # plotting with the pylab module from matplotlib # free from: http://matplotlib.sourceforg

Python+OpenCV图像处理(一)——读取显示一张图片

配置好所有环境后,开始利用python+opencv进行图像处理第一步. 读取和显示一张图片: import cv2 as cv src=cv.imread('E:\imageload\example.png') cv.namedWindow('input_image', cv.WINDOW_AUTOSIZE) cv.imshow('input_image', src) cv.waitKey(0) cv.destroyAllWindows() 输出效果: 代码解释: src=cv.imread(

Python游戏引擎开发(三):显示图片

在上一章中我们讲了如何创建窗口以及对界面进行重绘.可能有朋友不理解为什么要进行全窗口的重绘呢?我在这里可以大致讲一下原因: 由于我们的游戏是动态的,所以我们每次更改数据后(例如播放动画时切换图片),要让界面显示更改后的结果,一般的想法是:首先进行擦除原先要改的地方,然后再把变更的内容画出来.不过这个看似简单,如果遇到了重叠放置的对象就麻烦了,比如说A在B的下面,我们要更改A,那么把A擦掉后,B也会被擦掉,原因在于我们的画布是2D的,无法控制Z方向的擦除.这样一来,我们除了重画A还要再把B画上去.

【循序渐进地学好OpenCV&4】使用2.0的API显示图片以及OpenCV的自动化内存管理

1.0 显示图片和2.0显示图片的比较 在[[循序渐进地学好OpenCV&2]显示图片--OpenCV的"起手式"](http://blog.csdn.net/zgljl2012/article/details/48306299)这篇文章里,我们使用了OpenCV 1.0的API实现了从磁盘读取文件并显示,下面是代码: #incldue "cv.h" #include "highgui.h" int main(int argc, char