摄影指导与评分
任务目标
- 本 Skill 用于: 分析用户提交的摄影图片,提供专业拍摄建议或成片评分
- 能力包含: 场景分析、九宫格构图指导、姿势与角度推荐、相机M档参数建议、多维度成片评分、优化建议生成
- 触发条件: 用户提交摄影图片并希望获得拍摄建议或评分
前置准备
- 依赖说明: Pillow 用于图像绘制与合成, matplotlib 用于评分图表生成
- 用户需提交一张图片(含人或不含人均可)
操作步骤
步骤1: 图片接收与类型判断
接收用户提交的图片,判断图片类型:
- 不含人的图片: 场景/环境照片,进入「拍摄建议」流程(步骤2)
- 含人的图片: 已拍摄的成片,进入「成片评分」流程(步骤3)
判断依据: 图片中是否存在明显的人物主体(全身、半身或局部均可视为含人)。
步骤2: 拍摄建议流程(不含人图片)
分析场景后,按以下维度生成建议内容:
2.1 九宫格位置分析
- 将画面划分为九宫格(3x3),位置编号如下:
1(左上) | 2(上中) | 3(右上)
4(左中) | 5(正中) | 6(右中)
7(左下) | 8(下中) | 9(右下)
- 根据场景元素(光线方向、背景层次、视觉引导线、趣味点)分析最佳模特站位
- 优先推荐符合三分法构图的位置(1/3/7/9),其次为边缘位置(2/4/6/8),最后正中(5)
2.2 姿势建议
- 根据场景特征推荐2-3种适合的姿势:
- 开阔场景(海边/草原/天台): 张开双臂、跳跃、回眸、侧身远眺
- 狭窄场景(街巷/室内/走廊): 倚靠墙壁、坐姿台阶、手插口袋行走、回头
- 自然场景(树林/花园/公园): 蹲下触碰植物、仰头闻花、倚靠树干、漫步
- 建筑场景(教堂/博物馆/城市): 仰视建筑、手扶栏杆、台阶端坐、框架构图
2.3 拍摄角度建议
- 分析场景纵深与高度差,推荐最佳拍摄角度:
- 仰拍: 适合高大建筑、天空背景、营造气势感
- 俯拍: 适合开阔地面、花海、营造俯瞰感
- 平拍: 适合人像特写、日常场景、自然亲切感
- 斜拍: 适合增加动感、打破呆板构图
2.4 相机M档参数建议
- 根据场景光线条件推荐参数:
- 光圈(f值): 考虑景深需求(人像虚化用f/1.4-2.8,风景清晰用f/8-16)
- 快门速度: 考虑是否需防抖(手持不低于1/焦距秒,运动抓拍1/500+)
- ISO: 根据光线(日光ISO100-200,阴天ISO400-800,室内ISO1600-3200)
- 焦距: 根据构图需求(特写85-135mm,半身50-85mm,环境35-50mm)
2.5 生成建议卡片图片
将以上分析结果整理为JSON格式,调用脚本生成可视化建议卡片:
python scripts/generate_advice_card.py \
--image "./用户图片路径" \
--data '{"grid_position": 3, "scene_description": "海边日落场景,暖色调光线从右侧照射", "pose_suggestion": "1. 侧身面向大海,微风吹发\n2. 张开双臂拥抱夕阳\n3. 蹲在礁石上回眸微笑", "angle_suggestion": "建议低角度仰拍,以天空和晚霞为背景,营造唯美氛围", "camera_params": {"aperture": "f/2.8", "shutter": "1/250s", "iso": "ISO 200", "focal_length": "85mm"}}' \
--output "./advice_card_output.png"
步骤3: 成片评分流程(含人图片)
分析成片后,按以下维度评分(每项0-100分):
3.1 评分维度
- 构图(Composition): 主体位置、画面平衡、引导线运用、留白合理性
- 光线(Lighting): 曝光准确性、光影层次、光比控制、高光/阴影细节
- 模特表现力(Expressiveness): 姿势自然度、表情感染力、肢体语言、与场景融合度
- 色彩(Color): 色调统一性、色彩和谐度、白平衡准确性、后期调色质感
- 创意(Creativity): 视角独特性、主题表达、故事感、视觉冲击力
3.2 评分标准
- 90-100: 专业级,可直接用于商业 publication
- 80-89: 优秀,具备杂志/平台推荐水准
- 70-79: 良好,有少量可优化空间
- 60-69: 一般,存在明显不足需改进
- 60以下: 较差,需重新拍摄或大幅调整
详细评分标准见 references/scoring_criteria.md
3.3 生成优化建议
- 基于各维度评分,针对得分最低的2-3个维度提出具体改进建议
- 建议需具体可操作(如"将模特移至画面右侧三分线处"而非"改善构图")
3.4 生成评分卡片图片
将评分结果整理为JSON格式,调用脚本生成可视化评分卡片:
python scripts/generate_score_card.py \
--image "./用户图片路径" \
--data '{"overall_score": 78, "scores": {"composition": 82, "lighting": 70, "expressiveness": 85, "color": 75, "creativity": 73}, "suggestions": ["光线方面:面部阴影过重,建议使用反光板补光或调整拍摄角度使光源在模特前方45度", "构图方面:人物居中略显呆板,建议将人物放在左侧三分线位置,右侧留出环境空间", "色彩方面:整体偏黄,建议后期降低色温10-15,提升画面通透感"]}' \
--output "./score_card_output.png"
使用示例
示例1: 场景拍摄建议(不含人图片)
- 场景/输入: 用户提交一张空旷的天台照片,背景是城市天际线,希望知道如何在此取景
- 处理流程: AI分析场景 -> 确定最佳站位(右上角三分点) -> 推荐姿势(倚靠栏杆远眺) -> 推荐角度(平拍微俯) -> 推荐参数(f/8, 1/200s, ISO100, 50mm) -> 调用脚本生成卡片
- 预期产出: 一张包含九宫格标注和建议信息面板的可视化卡片图片
- 关键要点: 参数建议需结合现场光线判断;姿势需与场景元素互动
示例2: 成片评分(含人图片)
- 场景/输入: 用户提交一张人像成片,希望了解照片质量和改进方向
- 处理流程: AI分析成片 -> 五维度评分 -> 识别薄弱项 -> 生成针对性建议 -> 调用脚本生成评分卡
- 预期产出: 一张包含原图、各维度评分图表和具体改进建议的评分卡片图片
- 关键要点: 建议必须具体可操作,指出明确的调整方向和数值
示例3: 室内人像拍摄建议
- 场景/输入: 用户提交一张咖啡馆内部照片,没有人物,计划在此拍摄人像
- 处理流程: AI分析室内光线和空间 -> 推荐靠窗位置(左侧三分线) -> 推荐坐姿(端坐窗边手持杯子) -> 推荐角度(平拍45度侧拍) -> 推荐参数(f/1.8, 1/125s, ISO800, 50mm) -> 调用脚本生成卡片
- 预期产出: 可视化建议卡片,标注九宫格位置和完整拍摄参数
- 关键要点: 室内场景需特别注意ISO和光圈的配合,确保快门速度足够防抖
资源索引
- 脚本: 见 scripts/generate_advice_card.py(用途: 生成九宫格拍摄建议卡片图片,参数: --image 原图路径, --data JSON建议数据, --output 输出路径)
- 脚本: 见 scripts/generate_score_card.py(用途: 生成成片评分卡片图片,参数: --image 原图路径, --data JSON评分数据, --output 输出路径)
- 参考: 见 references/scoring_criteria.md(何时读取: 需要详细评分标准参考时)
注意事项
- 图片分析完全依赖AI多模态能力,无需额外脚本处理
- 脚本仅负责将AI分析结果可视化为图片卡片
- 评分应客观公正,避免过高或过低,以专业摄影师视角评判
- 建议必须具体可操作,避免空泛描述
- 相机参数建议需考虑实际拍摄条件的合理性
- 中文字体依赖系统 WenQuanYi 字体,脚本已内置字体路径查找逻辑