# 从文件中读取图片,然后 resize 大小:
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
img=Image.open(r"1.jpg")
print("原图的height,weight分别为:", np.asarray(img).shape[:2])
plt.imshow(np.asarray(img))
plt.show()
height, weight = (np.asarray(img).shape)[:2]
height = height//10
weight = weight//10
img2 = Image.Image.resize(img, (weight, height))
print("resized后图的height,weight分别为:", np.asarray(img2).shape[:2])
plt.imshow(np.asarray(img2))
plt.show()
# 从字节码(Bytes)中读取图片,然后 resize 大小:
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
from io import BytesIO
img = open("1.jpg", "rb").read() #读取序列化的二进制码
img = BytesIO( img )
img = Image.open( img )
print("原图的height,weight分别为:", np.asarray(img).shape[:2])
plt.imshow(np.asarray(img))
plt.show()
height, weight = (np.asarray(img).shape)[:2]
height = height//10
weight = weight//10
img2 = Image.Image.resize(img, (weight, height))
print("resized后图的height,weight分别为:", np.asarray(img2).shape[:2])
plt.imshow(np.asarray(img2))
plt.show()
# cv2.IMREAD_COLOR:加载彩色图像。图像的任何透明度都将被忽略。这是默认标志。 flags=1
# cv2.IMREAD_GRAYSCALE:以灰度模式加载图像 flags=0
# cv2.IMREAD_UNCHANGED:加载包含Alpha通道的图像 flags=-1
import matplotlib.pyplot as plt
import numpy as np
import cv2
# rgb图
img=cv2.imread(r"1.jpg", 1)
# 灰度图
#img=cv2.imread(r"1.jpg", 0)
print("原图的height,weight分别为:", np.asarray(img).shape[:2])
#plt.imshow(np.asarray(img))
#plt.show()
cv2.imshow("img", mat=img)
cv2.waitKey (0)
height, weight = (img.shape)[:2]
height = height//3
weight = weight//3
img2 = cv2.resize(img, (weight, height))
print("resized后图的height,weight分别为:", img2.shape[:2])
#plt.imshow(np.asarray(img2))
#plt.show()
cv2.imshow("img2", mat=img2)
cv2.waitKey (0)
cv2.destroyAllWindows()
# 读取图片, matplotlib展示图片: 把cv2的bgr转换为rgb,然后展示。 [...,::-1]
import matplotlib.pyplot as plt
import numpy as np
import cv2
# rgb图
img=cv2.imread(r"1.jpg", 1)
# 灰度图
#img=cv2.imread(r"1.jpg", 0)
print("原图的height,weight分别为:", np.asarray(img).shape[:2])
plt.imshow(np.asarray(img)[...,::-1])
plt.show()
height, weight = (img.shape)[:2]
height = height//3
weight = weight//3
img2 = cv2.resize(img, (weight, height))
print("resized后图的height,weight分别为:", img2.shape[:2])
plt.imshow(np.asarray(img2)[...,::-1])
plt.show()