python opencv 使用 Matplotlib显示图像
2016-08-27 16:33
801 查看
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显示结果:
参考
OpenCV-Python-Toturial-中文版.pdfhttps://github.com/hlthu/Python/tree/master/Python_OpenCV/Matplotlib_Display/
http://stackoverflow.com/questions/15072736/extracting-a-region-from-an-image-using-slicing-in-python-opencv/15074748#15074748
https://hlthu.github.io/opencv/2016/06/07/python-opencv-5.html
相关文章推荐
- python︱matplotlib使用(读入、显示、写出、opencv混用、格式转换...)
- OpenCV for Python [2]使用Matplotlib显示图片
- python实现Kmeans文本聚类,通过PCA降维和Matplotlib显示聚类3d三维图像
- 为什么matplotlib显示opencv图像不正常
- Python使用matplotlib绘图无法显示中文问题的解决方法
- Python 3下使用Matplotlib工具画图,中文显示乱码的问题解决(修改配置文件)
- 64位系统下,Python的使用——numpy、matplotlib、opencv
- matplotlib使用show方法后不能显示图像的问题
- Python使用matplotlib实现的图像读取、切割裁剪功能示例
- 使用matplotlib时pyplot.show()不显示图像的问题
- python画图包seaborn和matplotlib中文字体显示(针对windows系统,,使用ipython notebook)
- python 使用matplotlib绘图中文显示成框框解决办法
- 特征选择与评分的可视化显示 - 在Python中使用Matplotlib绘制“横着的”条形图
- [python] Kmeans文本聚类算法+PAC降维+Matplotlib显示聚类图像
- python matplotlib 显示图像
- Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
- 在Ubuntu14.04和Python3.4-3.6环境中,matplotlib不显示图像的问题的解决方法
- PyQt5 实时获取屏幕界面图像,python3使用matplotlib
- python中matplotlib使用双y轴的时候,只能显示第二个曲线标志怎么办?
- python使用matplotlib绘图时图例显示问题的解决