python opencv 使用 Matplotlib显示图像

05-python opencv 使用 Matplotlib显示图像


  • 05-python opencv 使用 Matplotlib显示图像
    • 概述
    • 实现过程
      • 引用
      • 测试灰度图像
      • 测试彩色图像
      • 等待键盘输入并关闭所有窗口
    • 源代码
    • 运行结果
      • 灰度图像
      • 彩色图像
    • 参考

概述

本节实现的是同时使用opencv和matplotlib两种方式来显示图像,以比较二者之间的差别。

  • 测试灰度图像
  • 测试彩色图像
  • 分析彩色图像出现差异的原因

实现过程

引用

不再赘述,代码如下。

import cv2
import numpy
import matplotlib.pyplot as plot

测试灰度图像

打开灰度图像,先用opencv显示,再用matplotlib显示,代码如下:

# test for a gray image
img1 = cv2.imread("test1.jpg")
# using opencv
cv2.imshow("Gray(opencv)", img1)
# using matplotlib
plot.imshow(img1)
plot.show()

测试彩色图像

打开彩色图像,并创建一个它的反转图像,即R、G、B依次变成了B、G、R。然后先用opencv显示这两幅彩色图像,再用matplotlib显示,代码如下:

# test for a color image
img2 = cv2.imread("test2.jpg")
b, g, r = cv2.split(img2)
img2_c = cv2.merge([r, g, b])
# using opencv
cv2.imshow("Color(opencv, img2)", img2)
cv2.imshow("Color(opencv, img2_c)", img2_c)
# using matplotlib
plot.subplot(121);plot.imshow(img2)
plot.subplot(122);plot.imshow(img2_c)
plot.show()

等待键盘输入并关闭所有窗口

这里cv2.waitKey里的参数0表示等待输入任何按键,当用户输入任何一个按键后即调用destroyAllWindows()关闭所有图像窗口。

cv2.waitKey (0)
cv2.destroyAllWindows() 

源代码

整个程序的源代码如下:

# created by Huang Lu
# 27/08/2016 16:05:20
# Department of EE, Tsinghua Univ.

import cv2
import numpy as np
import matplotlib.pyplot as plot

# test for a gray image
img1 = cv2.imread("test1.jpg")
# using opencv
cv2.imshow("Gray(opencv)", img1)
# using matplotlib
plot.imshow(img1)
plot.show()

# test for a color image
img2 = cv2.imread("test2.jpg")
b, g, r = cv2.split(img2)
img2_c = cv2.merge([r, g, b])
# using opencv
cv2.imshow("Color(opencv, img2)", img2)
cv2.imshow("Color(opencv, img2_c)", img2_c)
# using matplotlib
plot.subplot(121);plot.imshow(img2)
plot.subplot(122);plot.imshow(img2_c)
plot.show()

cv2.waitKey(0)
cv2.destroyAllWindows() 

也可以参考我的GitHub上的,点击这里

运行结果

在命令行进入该源程序所在目录后,运行python main.py后即可显示结果。

灰度图像

灰度图像的结果二者相同。灰度图像opencv显示结果:

灰度图像matplotlib显示结果:

彩色图像

彩色图像二者显示的结果却出现了反转,即本应正常的图像用matplotlib显示却是其“反转”图像。彩色图像opencv显示结果:

彩色图像matplotlib显示结果:

参考

时间: 2024-07-30 15:04:49

python opencv 使用 Matplotlib显示图像的相关文章

Python OpenCV 读取并显示图像

01-Python OpenCV 读取并显示图像 01-Python OpenCV 读取并显示图像 概述 实现过程 引用 打开图片并显示 创建一个空图 将彩色图像转成灰度图像 等待键盘输入并关闭所有窗口 源代码 运行结果 参考 概述 Python作为一门极其易学的语言,在科学计算等领域存在较大的应用,同样,著名的OpenCV库也发布了支持Python的库,本节主不再介绍如何在Ubuntu上配置Python OpenCV,有需要的同学可以参考这里. 本节将利用Python OpenCV做一个简单的

Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法

  本文实例讲述了Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法.分享给大家供大家参考.具体如下: 看看下面的例子和效果吧 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 # -*- coding: utf-8 -*- from matplotlib.widgets import MultiCursor from pylab import figure, show, np t = np.arange(0.0, 2.0, 0.01) s1 = np.si

视频-Python opencv帧 怎么 显示在GUI 中?

问题描述 Python opencv帧 怎么 显示在GUI 中? 现在要在做,将摄像头提取的视频处理后显示在python 的GUI 中,计划在GUI中可以选择对视频处理的方式,请问 大神 应该怎么做?使用什么控件? 一般显示是直接 将 帧 在cv2.imshow函数中显示,而在一个 完整的GUI中怎么做?

python绘图库Matplotlib的安装_python

本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地 进行制图.Matplotlib的安装可以参见:官网链接 http://matplotlib.org/users/installing.html 安装总结步骤如下: windows 平台上下载.exe格式 直接安装. 1.python下载安装 下载地址:http://www.python.org/download/

RPi 2B python opencv camera demo example

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

python opencv 使用摄像头捕获视频并显示

06-python opencv 使用摄像头捕获视频并显示 06-python opencv 使用摄像头捕获视频并显示 概述 实现过程 引用 创建摄像头对象 逐帧显示实现视频播放 释放摄像头对象和窗口 源代码 运行结果 参考 概述 本节实现的是使用内建摄像头捕获视频,并显示视频的每一帧以实现视频的播放. 创建摄像头对象 逐帧显示实现视频播放 实现过程 引用 不再赘述,代码如下. import cv2 import numpy import matplotlib.pyplot as plot 创建

使用Python+OpenCV进行图像模板匹配(Match Template)

本篇文章介绍使用Python和OpenCV对图像进行模板匹配和识别.模板匹配是在图像中寻找和识别模板的一种简单的方法.以下是具体的步骤及代码. 首先导入所需库文件,numpy和cv2. #导入所需库文件  import cv2  import numpy as np  然后加载原始图像和要搜索的图像模板.OpenCV对原始图像进行处理,创建一个灰度版本,在灰度图像里进行处理和查找匹配.然后使用相同的坐标在原始图像中进行还原并输出. #加载原始RGB图像  img_rgb = cv2.imread

python opencv 绘制简单图形

09-python opencv 绘制简单图形 09-python opencv 绘制简单图形 概述 实现过程 引用与创建空图 绘制直线 绘制矩形 绘制圆 绘制椭圆 添加文字 显示图像 源代码 运行结果 参考 概述 本节实现的是使用OpenCV里自带的函数,绘制直线.长方形.圆形和椭圆. 绘制直线 绘制长方形 绘制圆形 绘制椭圆 添加文字 实现过程 引用与创建空图 不再赘述,代码如下. import cv2 import numpy # empty image img = np.zeros((5

python opencv 对像素进行操作

02-python opencv 对像素进行操作 02-python opencv 对像素进行操作 概述 实现过程 引用 打开图片 加椒盐噪声 主函数调用并显示图像 等待键盘输入并关闭所有窗口 源代码 运行结果 参考 概述 本节实现的是在图片上模拟机上椒盐噪声,主要过程如下. 打开一个图片 产生随机坐标 加上"椒盐" 显示加噪图片 实现过程 引用 这里我们需要引用cv2和numpy,cv2不言而喻,而NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也