代码:
import cv2 as cvimport matplotlib.pyplot as plt#读取图像img = cv.imread("../data/images/zidane.jpg")#显示图像#2.1 OpenCVcv.imshow("dili",img)cv.waitKey(0)cv.destroyAllWindows()#2.2 matplotlibplt.imshow(img[:,:,::-1])plt.show()
用opencv展示的结果:
用matplotlib展示的结果:
以上是读取彩色图,读取灰度图👇👇:
import cv2import cv2 as cvimport matplotlib.pyplot as plt#读取图像img = cv.imread("../data/images/zidane.jpg",0) #设置成灰度图#显示图像#2.1 OpenCVcv.imshow("dili",img)cv.waitKey(0)cv.destroyAllWindows()#2.2 matplotlibplt.imshow(img,cmap=plt.cm.gray)#灰度图只有一个通道,不需要翻转plt.show()
保存灰度图:
cv.imwrite("../data/images/dili.jpg",img)
关于翻转问题:
一般情况下的存储方式:【RGB】
这三个值是不一样的,每个通道是一个独立的灰度图,他们的参数是不一样的。如果是图像,里面的值都是0~255的,图上不是0~255是因为这是随便截的一个三维数组
等opencv(cv.imread)读出来是一个BGR通道,因此需要翻转(plt.imshow(img[:,:,::-1]))。