【图像处理之学习2】将两个图放在一张图中

opencv中图是BGR格式,调用的是cv2;matplotlib中图是RGB格式,调用的是plt。

上一句的意思,如果是cv2调用,后面plt.imshow()来显示,需要转换格式,即调用函数cv2.cvtColor(img,cv2.COLOR_BGR2RGB),具体见下面代码。

import cv2
import matplotlib.pyplot as plt
#import numpy as np


image=cv2.imread("D:/picture/1.jpg")
image1=cv2.resize(image,None,fx=0.6,fy=0.6)
image2=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
#image3=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
plt.subplot(1,2,1)#1×2的矩阵,第一个
plt.imshow(image2)#转换后的图,显示正常
plt.xticks([])#去除插入图像的x轴
plt.yticks([])#去除插入图像的y轴
plt.subplot(1,2,2)#1×2的矩阵,第二个
plt.imshow(image1)#cv2调用的是BGR,而plt的是RGB,不一致,所以生成的结果很奇怪。
plt.xticks([])
plt.yticks([])
plt.show()

cv2.waitKey(0)
cv2.destroyAllwindows()

 效果图:

【图像处理之学习2】将两个图放在一张图中_第1张图片

你可能感兴趣的:(图像处理,学习,opencv)