【AI精彩BUG汇总】一、yolo图像训练截图蓝色变橙色

这是一个经典的 BGR vs RGB 通道顺序问题

原因分析

iOS 的 device().snapshot() 返回的 numpy 数组是 BGR 格式 (OpenCV 约定),但 Image.fromarray() 期望的是 RGB 格式(PIL 约定)。直接把 BGR 数据传给 PIL,R 和 B 通道就互换了:

  • 屏幕上的蓝色 (B=255, G=0, R=0) → 被当成 (R=255, G=0, B=0) → 显示为红色/橙色
  • 屏幕上的红色 → 被当成蓝色

修复方案

_save_screenshot() 中,Image.fromarray() 之前需要做 BGR→RGB 转换:

python 复制代码
# 修改前
pil_img = Image.fromarray(screen)

# 修改后
import numpy as np
screen_rgb = screen[:, :, ::-1].copy()  # BGR → RGB
pil_img = Image.fromarray(screen_rgb)

[:, :, ::-1] 就是反转第3维(通道),BGR→RGB。.copy() 确保内存连续。

注意:如果 snapshot() 返回的已经是 PIL Image(RGB),则不需要转换,现有代码已经用 isinstance(screen, Image.Image) 判断了。

相关推荐
冬奇Lab13 小时前
Workflow 系列(03):状态管理——持久化、幂等性与版本绑定
人工智能·工作流引擎
冬奇Lab13 小时前
每日一个开源项目(第146篇):openpilot - 开源自动驾驶辅助系统,曾在 Consumer Reports 评测中超过特斯拉 Autopilot
人工智能·开源·自动驾驶
吴佳浩14 小时前
AI 工程师知识地图:模型格式、框架、部署工具一次讲明白
人工智能·aigc·ai编程
IT_陈寒15 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
码农胖大海15 小时前
AI额度不够用的解决方案
人工智能
后端小肥肠15 小时前
小红书虚拟商品怎么做?我先用 Skill 跑通了壁纸品类
人工智能·aigc·agent
feiyu_gao15 小时前
从零搭建个人 AI 工作台:一个管理者的 3 个月实验
人工智能·aigc·团队管理
程序员cxuan16 小时前
一句话,让你用上 GPT-5.6
人工智能·后端·程序员
机器之心16 小时前
AI圈刚开始谈Loop Engineering,两位95后博士已经盯上了人类闭环数据
人工智能·openai