cv2.IMREAD_COLOR
彩色图像cv2.IMREAD_GRAYSCALE
灰度图像cv2.COLOR_BGR2RGB
BGR转RGB1.opencv
只能读取英文路径下的图片
#img = cv.imdecode(np.fromfile("动漫人物_0.jpg",np.uint8))#含有中文路径的图片打开
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
import cv2
img_cv=cv2.imread(r"1.jpg")
print("imgh_cv:",img_cv.shape)
# 第一种cv画的就是原图,不用转换
# 创建窗口,显示图像,窗口名称为src_image
cv2.imshow("src_image",img_cv)
# 等待任意按键按下,保持图片始终显示
cv2.waitKey(0)
# 关闭所有的窗口
cv2.destroyAllWindows()
# 显示可以使用cv也可以plt,plt要先转换成rgb才能画出原图
img = cv2.cvtColor(img_cv, cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()
2.Image
#图像读取方式2
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
import cv2
from PIL import Image
import numpy as np
img_PIL=Image.open(r"1.jpg")
print("img_PIL",img_PIL)
print("img_PIL:",type(img_PIL))
img_PIL=np.array(img_PIL)
print("img_PIL:",img_PIL.shape)
print("img_PIL:",type(img_PIL))
plt.imshow(img_PIL)
plt.show()
3.skimage.io #pytorch的框架
io.show(img)也可以展示
#图像读取方式3
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
# from keras.preproecssing.image import array_to_img , img_to_array
# load_imgimg_keras = load_img(r"1.jpg")
import skimage.io as io #pytorch的框架
img_io=io.imread(r"1.jpg")
print("img_io:",img_io.shape)
plt.imshow(img_io)
plt.show()
4.matplotlib.image
#图像读取方式4
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
import matplotlib.image as mpig
img_mpig=mpig.imread(r"1.jpg")
print("img_mpig:",img_mpig.shape)
plt.imshow(img_mpig)
plt.show()
5.matplotlib.pyplot
#图像读取方式5
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
img_plt = plt.imread(r"1.jpg")
print("img_plt:",img_plt.shape)
plt.imshow(img_plt,cmap=plt.cm.binary)
plt.show()
plt.imshow(img_plt[:,:,0], cmap=plt.cm.binary)
plt.show()
6.自己造数据
# 图像读取方式6
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
digit = [[[130,26,33,12],
[14,27,43,140],
[120,124,134,205]],
[[15,26, 33, 12],
[14, 27, 50, 190],
[120, 124, 134, 25]],
[[135,26,33,12],
[14,27,43,10],
[20,12,134,205]],
]
plt.imshow(digit,cmap=plt.cm.binary)
plt.show()
图片保存:4种
1.PIL.Image
# 保存方式1
from PIL import Image
path = r"1.jpg" #图片路径
img = Image.open(path) #打开图片
img.save("2.jpg") #将图片保存为2.jpg
2.opencv
# 保存方式2
import cv2
path = r"1.jpg" #图片路径
#img = cv.imdecode(np.fromfile("动漫人物_0.jpg",np.uint8))#含有中文路径的图片打开
img = cv2.imread(path) #读取图片
cv2.imwrite("2.jpg",img) #将图片保存为1.jpg
3.plt.savefig
# 保存方式3
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
""" 一些画图代码 """
plt.savefig("2.png") # 保存图片 注意 在show()之前 不然show会重新创建新的 图片
plt.show()
4.io.imsave
# 保存方式4
import matplotlib
matplotlib.use('TkAgg')
from skimage import io,data
img=data.chelsea()
io.imshow(img)
io.imsave('2.jpg',img)