Skip to content

能不能增加对高分辨率屏幕(4K)的自适应截图 #2

Description

@freehul

问题描述

在 4K(3840×2160)屏幕上使用 448×448 分辨率的截图无法看清屏幕文字

技术分析

当前实现

  • 视觉编码器(SigLIP ViT)固定接受 448×448 输入
  • 4K 屏幕被压缩 8.6:1 才能放入单个切片
  • 12px 字体在模型中只有约 1.4×2.5 像素,基本看不清

分辨率对比

屏幕分辨率 压缩比 12px字体在模型中 可读性
1080P (1920×1080) 4.3:1 2.8×5.0 px ✅ 可读
2K (2560×1440) 5.7:1 2.1×3.7 px ⚠️ 勉强
4K (3840×2160) 8.6:1 1.4×2.5 px ❌ 看不清

影响场景

  • 无法读取屏幕上的代码、文档、聊天内容
  • 只能识别窗口布局和大色块,无法理解用户具体在做什么
  • 游戏弹幕和网课记录功能在 4K 屏幕上效果大打折扣

建议方案

方案 1:按需高分辨率(推荐)

平时:448×448 低分辨率实时感知(保持现有性能)
用户提问时:切换到 1344×1344 或更高分辨率截图(看清文字)

方案 2:自适应分辨率

# 根据屏幕分辨率自动调整切片大小
if screen_width <= 1920:  # 1080P
    slice_size = 448
elif screen_width <= 2560:  # 2K
    slice_size = 672
else:  # 4K
    slice_size = 896

方案 3:屏幕缩放后截图

# 先把 4K 屏幕缩放到 1080P,再用 448×448 切片
scaled_screen = resize(screen, (1920, 1080))
# 这样 448×448 切片的可读性等同于 1080P 屏幕

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions