图像的IO操作

代码:

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]))。

上一篇:【Linux取经路】初识信号


下一篇:我的创作纪念日--我和CSDN一起走过的1825天-收获