图像处理踩坑笔记
训练模型时候一定要知道,模型使用的是 什么格式的输入,是 BGR 还是 RGB。
数据增强过程中,要看到其中是否经过了 BGR 和 RGB 的变换。
测试的时候,一定要和 训练时候的格式保持一致, 否则模型会识别不准。
此外,
Image.fromarray(img_.astype('uint8')).convert('RGB')
实测, .convert('RGB')
并不会将 BGR 转为 RGB。
cv2 与 matplotlib 的显示模式不一致, opencv 读取的彩色图像是 BGR 格式,Matplotlib 显示彩色图像是 RGB 格式。所以如果使用 cv2 读图像,而用 cv2 显示,那么就是正常的显示彩色图像。如果用 cv2 读图像,而用 matplotlib 显示,那么就是把 BGR 的图像显示了出来,会偏蓝色。
Image与CV2读取图片格式转换
由CV2读取格式转为Image读取格式
import cv2 from PIL import Image #img为之前使用cv2读取的图片数据 img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
由Image读取格式转为CV2读取格式
import cv2 from PIL import Image #img1为之前使用Image读取的图片数据 img1 = cv2.cvtColor(np.array(img1), cv2.COLOR_RGB2BGR)
判断类别时候一定要 先 int 强转。
opencv 直接读进来的格式是 BGR, 包括 视频流读进来格式。
from PIL import Image # RGB img = Image.open(img_path) transforms.ToPILImage(), # 不改变通道 transforms.Normalize(mean=mean, std=std), # 可以不加,后处理麻烦。多训几轮就好
ONNX 要放到 GPU 上加速运行。此外,要研究下 动态批次。
参考:
https://blog.csdn.net/qq_43673118/article/details/123281548
https://juejin.cn/post/7169133035227447332
此外,可能直接 pip 安装会失败,因为 Jetson 的可能需要去官网下载。
供应商数据标注问题
找了个供应商标数据,他们使用 labelme 标注的。
拉框时候,本来应该从左上到右下拉,这些人有的 从别的方向拉,直接就标注错误了。切图时候才发现。
分类:
实践经验
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现