瑞德克斯平台:把外汇行业规范化表达做扎实,偏好清晰说明的读者更容易感受到的标准
2026/7/18 23:55:22
读图 → 转成数组 → 交给 matplotlib → 显示或处理
import matplotlib.pyplot as pltimg = plt.imread("cat.jpg")📌img的本质是:
numpy.ndarrayimg.shape # (H, W, 3)# (H, W)图片格式 | 像素值 |
PNG | 0 ~ 1(float) |
JPG | 0 ~ 255(uint8) |
plt.imshow(img)这一步做了什么?
plt.axis('off')plt.show()📌没有plt.show(),图不会真正显示
import matplotlib.pyplot as plt img = plt.imread("cat.jpg") # 1. 读图 plt.imshow(img) # 2. 显示 plt.axis('off') # 3. 去掉坐标 plt.show() # 4. 显示窗口plt.imshow(img, cmap='gray') plt.show()📌cmap= colormap(颜色映射)
img = plt.imread("cat.jpg") # 后面直接送进模型工具 | 读取顺序 |
| RGB |
| BGR |
所以 OpenCV 读的图用plt.imshow显示会颜色反了。
img = plt.imread("cat.jpg") # H W C img = img / 255.0 # 归一化 img = img.transpose(2, 0, 1) # C H W(PyTorch)**plt.imread负责把图片 → NumPy 数组plt.imshow负责把数组 → 图像plt.show才是真正显示**
import matplotlib.pyplot as plt import torch # 绘制全0,全1图像 def dm01(): img1 = torch.zeros(200,200,3) plt.imshow(img1) plt.show() img2 = torch.full((200, 200, 3), 255) plt.imshow(img2) plt.show() pass def dm02(): # 转成 NumPy 数组 img1 = plt.imread("../data/img.jpg") plt.imshow(img1) plt.show() print(f'img1.shape:{img1.shape}') img2 = plt.imread("../data/a.jpg") plt.imshow(img2) plt.show() print(f'img2.shape:{img2.shape}') #保存图像 plt.imsave("../data/女画像.png",img1) plt.imsave("../data/瞎子.png",img2) pass if __name__ == '__main__': dm01() dm02()D:\pythonDemo\.venv\Scripts\python.exe -X pycache_prefix=C:\Users\Administrator.SY-202408261506\AppData\Local\JetBrains\PyCharm2025.3\cpython-cache "D:/Software/PyCharm 2025.3/plugins/python-ce/helpers/pydev/pydevd.py" --multiprocess --qt-support=auto --client 127.0.0.1 --port 57594 --file D:\pythonDemo\demo\test29_images.py Connected to: <socket.socket fd=668, family=2, type=1, proto=0, laddr=('127.0.0.1', 57605), raddr=('127.0.0.1', 57594)>. Connected to pydev debugger (build 253.28294.336) img1.shape:(640, 640, 3) img2.shape:(737, 920, 3) Process finished with exit code 0