图片读写以及显示¶
In [1]:
import numpy as np
import matplotlib.pyplot as plt
import cv2 as cv
In [2]:
# 读取图片
img = cv.imread('../pic/2color.png')
In [3]:
# 报存图片
cv.imwrite('../test/img.png', img)
Out[3]:
True
In [4]:
# 显示图片
# cv.imshow('bear', img)
# cv.waitKey(0)
# cv.destroyAllWindows()
In [5]:
# 显示图片
plt.imshow(img)
plt.show()
In [6]:
# 图片显示颜色不对 BGR RGB , imshow是显示热图, 所以需要转换颜色通道
img2 = cv.cvtColor(img, cv.COLOR_BGR2RGB)
plt.imshow(img2)
plt.show()
In [7]:
# 灰度读取图片 0
img3 = cv.imread('../pic/2color.png', 0)
# 显示图片颜色不对,是热力图,所以要加 cmap='gray'
plt.imshow(img3, cmap='gray')
plt.show()
In [8]:
def show(img):
# 判断图片的维度
if img.ndim == 2: # 说明是灰度图读取
plt.imshow(img, cmap='gray')
elif img.ndim == 3: # 彩色图片
img2 = cv.cvtColor(img, cv.COLOR_BGR2RGB)
plt.imshow(img2)
else:
print('不知道是什么图!')
return
plt.show()
In [9]:
show(img)
In [10]:
show(img3)
In [ ]: