OpenCV-Python学习笔记(一):图像读入、显示、保存,BGR模式转RGB模式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了OpenCV-Python学习笔记(一):图像读入、显示、保存,BGR模式转RGB模式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2156字,纯文字阅读大概需要4分钟。
内容图文
![OpenCV-Python学习笔记(一):图像读入、显示、保存,BGR模式转RGB模式](/upload/InfoBanner/zyjiaocheng/644/c42fcd498f4f462c9784b6b3d5af4cd0.jpg)
使用OpenCV-Python实现图像读入、显示与保存:
# -*- coding: utf-8 -*-
import cv2
from matplotlib import pyplot as plt
# # 第二个参数,0为灰度模式显示,1为彩色图像,默认值为1
# img0 = cv2.imread(r'D:\OpenCV_Python\chepai.jpg', 0)
# img1 = cv2.imread(r'D:\OpenCV_Python\chepai.jpg', 1)
# 或者如下:
img0 = cv2.imread(r'D:\OpenCV_Python\chepai.jpg', cv2.IMREAD_GRAYSCALE)
img1 = cv2.imread(r'D:\OpenCV_Python\chepai.jpg', cv2.IMREAD_COLOR)
# using opencv to show image
cv2.imshow('grayImage', img0)
cv2.imshow('bgrImage', img1)
k = cv2.waitKey(0)
if k == 27: # wait for Esc key to exit
cv2.destroyAllWindows()
elif k == ord('s'):
cv2.imwrite('chepai_grayimage.jpg', img0) # wait for 's' key to save and exit
cv2.destroyAllWindows()
# using matplotlib to show image
# plt.imshow(img0, cmap='gray', interpolation='bicubic')
# plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
# plt.show()
注意: OpenCV 加载的彩色图像是 BGR 模式,但 Matplotib 是 RGB模式。所以彩色图像如果已经被 OpenCV 读入,那它将不会被 Matplotib 正确显示。如下图所示,同一幅彩色图像,由OpenCV读入,左边图像由cv2.imshow()函数显示,为正常颜色;右边图像调用Matplotib的函数显示,颜色明显不对。
由于很多时候要用到matplotlib操作图像,因此就需要解决彩色图像由BGR模式转RGB模式的问题。在网上搜索了下,找到以下几种解决方法:
# 方法一
b, g, r = cv2.split(img)
img1 = cv2.merge([r, g, b])
# 方法二
img2 = img[:, :, :: -1] 或者 img2 = img[..., :: -1]
# 方法三
img3 = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
下面的代码应用以上方法,做出验证:
import cv2
from matplotlib import pyplot as plt
# 由OpenCV读入彩色图像
img = cv2.imread(r'D:\OpenCV_Python\chepai.jpg')
# 方法一
b, g, r = cv2.split(img)
img1 = cv2.merge([r, g, b])
# 方法二
img2 = img[:, :, :: -1]
# img2 = img[..., :: -1]
# 方法三
img3 = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 调用matplotlib显示
plt.subplot(221); plt.imshow(img)
plt.subplot(222); plt.imshow(img1)
plt.subplot(223); plt.imshow(img2)
plt.subplot(224); plt.imshow(img3)
plt.show()
由上图可知,三种方法都可以解决彩色图像由BGR模式转RGB模式的问题。
内容总结
以上是互联网集市为您收集整理的OpenCV-Python学习笔记(一):图像读入、显示、保存,BGR模式转RGB模式全部内容,希望文章能够帮你解决OpenCV-Python学习笔记(一):图像读入、显示、保存,BGR模式转RGB模式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。