'''用opencv将图像类型的转换'''
import cv2
import numpy as np
import matplotlib.pyplot as plt
#原始图像是BGR图像
imag=cv2.imread('lbxx.jpg')
#转换为RGB图像
imag_rgb=cv2.cvtColor(imag,cv2.COLOR_BGR2RGB)
#灰度化处理
imag_gray=cv2.cvtColor(imag,cv2.COLOR_BGR2GRAY)
#转换HSV
imag_hsv=cv2.cvtColor(imag,cv2.COLOR_BGR2HSV)
#
imag_xyz=cv2.cvtColor(imag,cv2.COLOR_BGR2XYZ)
'''同样依次类推,进行转换'''
#想要图片都一起展示,可以用matplotlib处理
title=['bgr','rgb','gray','hsv','XYZ']
images=[imag,imag_rgb,imag_gray,imag_hsv,imag_xyz]
for i in range(5):
plt.subplot(2,3,i+1)#创建几行几列,从那个位置开始
plt.imshow(images[i])
plt.title(title[i])
plt.xticks([])
plt.yticks([])
plt.show()
当然opencv库中给了很多转换的函数,有兴趣的大家可以多多尝试。
下面是我运行结果: