电商白底图翻拍
摄影师约不上档期,下午三点要上新,商品图背景是杂乱的仓库货架。客服用手机在工位拍了一张,背景里还有同事的背包。把这张图拖进工具,选蓝幕模式,容差拉到 80,边缘羽化 1 像素,十秒后导出的 PNG 背景透明,直接套进店铺模板的白底框里,省了外包修图每张 15 元的费用和两小时等待。
键色(要抠掉的颜色)
抠像参数
背景替换
性能
诚实标注:本工具纯前端逐像素色键抠像(chroma key),绿幕 / 蓝幕均匀、光照平整时效果好;
头发丝、半透明、复杂边缘等需专业软件或 AI 抠像(如 Roto / Remove.bg 视频版)。
导出采用「video 播放 → canvas 逐帧抠像 + 背景合成 → captureStream 视频轨 + 原音频轨 → MediaRecorder 重录」,
输出为 webm(画面重编码,保留原声;透明背景需浏览器支持 VP8 alpha)。
如需 MP4 / 无损 请用 FFmpeg(ffmpeg -i in.mp4 -vf chromakey=0x00FF00:0.1:0.2 out.webm)。
导出需保持本页面前台播放至结束。
摄像机前站了个人,背景是块绿布。剪片子时,绿幕边缘总带着一圈绿边,或者把人物头发抠成锯齿。这个工具解决的是:把纯色背景(绿、蓝或自定义色)从视频里干净去掉,替换成任意画面。它用 FFmpeg 做色键处理,支持调整抠像阈值和边缘羽化——参数调得太低会残留背景色,调得太高会吃掉主体轮廓。视频文件上传到服务端处理,处理完自动删除,不保留副本。
摄影师约不上档期,下午三点要上新,商品图背景是杂乱的仓库货架。客服用手机在工位拍了一张,背景里还有同事的背包。把这张图拖进工具,选蓝幕模式,容差拉到 80,边缘羽化 1 像素,十秒后导出的 PNG 背景透明,直接套进店铺模板的白底框里,省了外包修图每张 15 元的费用和两小时等待。
学校临时通知明天要交白底一寸照,手头只有之前拍的蓝底电子版。照相馆排队要半小时,自己用 PS 抠图边缘总有蓝边残留。上传原图,选色键取蓝色,容差调至 50,勾选「去边缘色」选项,输出时选白底纯色填充。处理完的图片发到打印店,六寸相纸排八张,立等可取。
带货直播回放里,主播抬手时手指尖透出了背后的产品货架,绿幕没打匀。把这段 30 秒的片段单独截出来,用自定义色键拾取手指附近的绿色值(#00FF66),把容差降到 15,同时开启边缘收缩 2 像素。替换成纯黑背景后,指尖轮廓干净,这段素材剪进预告片里,不用重录。
录网课时背景是家里白墙,后期想换成虚拟教室。原视频里白墙和讲师白衬衫颜色接近,普通色度键会把人抠穿。改用自定义色键,用吸管取墙壁的灰白色值(#E8E8E8),容差压到 20,开启「阴影保留」防止头发边缘被削。输出带透明通道的 MOV 文件,在剪辑软件里叠到教室背景上,衬衫细节完整。
拍不锈钢保温杯,蓝幕背景反光到杯身金属表面,抠图后杯壁残留蓝色斑块。用自定义色键,取反光区域的蓝色值(#4488FF),容差设为 35,勾选「去溢色」模式。输出时把背景设为白色,杯身的蓝色反光被算法识别为背景色一并移除,成品看起来像在专业摄影棚拍的。
| 输入 | 输出 | 说明 |
|---|---|---|
| 上传一张纯绿背景的人物照片(背景色 #00FF00,人物穿白色T恤) | 输出透明背景 PNG,人物边缘清晰,无绿色溢出 | 常规:标准绿幕场景,验证基础抠像精度和边缘处理 |
| 上传一张纯蓝背景的静物照片(背景色 #0000FF,物体为红色苹果) | 输出透明背景 PNG,苹果轮廓完整,无蓝色残留 | 常规:蓝幕场景,验证色键切换功能,红色与蓝色对比明显不易误抠 |
| 上传一张背景为 #FF8800 的橙色背景照片(人物头发为黑色) | 输出透明背景 PNG,人物头发边缘保留自然,无橙色杂边 | 常规:自定义色键场景,验证取色器精度和半透明边缘处理 |
| 上传一张纯绿背景照片,但人物穿绿色衣服(背景 #00FF00,衣服 #00CC00) | 输出结果中绿色衣服区域被部分抠除,人物身体出现空洞 | 边界:前景与背景颜色相近,工具无法区分,暴露色键抠像的固有局限 |
| 上传一张背景为纯白(#FFFFFF)的照片,人物穿黑色衣服 | 输出透明背景 PNG,但人物边缘出现锯齿,白色背景未完全去除 | 边界:白色不是标准色键,工具默认色键为绿/蓝/自定义,白色需手动选色,否则残留 |
| 上传一张背景为纯绿但带有复杂光影渐变(从 #00FF00 渐变到 #00CC00)的照片 | 输出透明背景 PNG,但渐变区域出现半透明残留,人物边缘有绿色光晕 | 易错:非均匀背景导致色键阈值难以覆盖全部区域,需配合边缘羽化参数 |
| 上传一张纯绿背景照片,但人物头发为细碎卷发(如爆炸头) | 输出透明背景 PNG,发丝边缘出现明显锯齿和绿色残留,部分发丝被误抠 | 易错:复杂边缘(发丝、毛绒)是色键抠像的难点,工具算法对细丝处理能力有限 |
1.背景色不均匀导致抠图残留
绿幕背景有阴影、褶皱或反光,直接上传抠图使用均匀照明、拉平背景布,或上传前用色彩校正工具统一背景色FFmpeg 色键抠图基于像素颜色值做阈值匹配,背景色差异(如暗部绿 vs 亮部绿)超出阈值范围就会残留或误抠主体边缘。
2.主体颜色与背景色相近被误抠
穿绿色衣服站在绿幕前,或蓝色物体放在蓝幕前主体穿与背景色反差大的颜色(如红/黄/白),或用自定义色键选择与主体颜色不同的背景色色键算法按颜色距离剔除背景,主体与背景色在 RGB/HSV 空间重叠时,算法无法区分主体和背景,导致主体被部分抠除。
3.边缘有锯齿或半透明残留
直接使用默认阈值参数,未调整相似度与平滑度在工具中适当降低相似度阈值(如从 0.1 调至 0.05)并启用边缘羽化(feather 参数 2-5 像素)绿幕边缘因光线散射常带背景色渐变,高阈值会保留渐变像素,低阈值加羽化能平滑过渡,减少硬边缘。
4.上传非纯色背景视频/图片
上传自然风景或复杂纹理背景,期望自动识别前景只上传纯色(绿/蓝/自定义单色)背景素材,非纯色背景请使用其他抠图工具本工具基于色键(chroma key)原理,要求背景为单一均匀颜色;多色或纹理背景无法通过颜色阈值分离。
5.输出格式不支持透明通道
选择 JPEG 格式保存抠图结果,发现背景变黑或白色选择 PNG(图片)或 WebM/ProRes 带 Alpha 通道的视频格式JPEG 不支持透明度(Alpha 通道),FFmpeg 输出时会用黑色或白色填充透明区域;PNG 和特定视频编码才保留透明。
6.视频时长过长导致处理超时
上传 30 分钟 4K 视频,浏览器端 WASM 处理卡死或失败先截取短片段(<30 秒)测试效果,或降低分辨率(如 720p)再上传浏览器端 FFmpeg WASM 受内存限制,长视频/高分辨率会耗尽内存或超时(默认 60 秒);服务端后端处理也有超时上限。
7.自定义色键颜色取值不准
手动输入 RGB 值(如 0,255,0)但实际背景色因光照偏移用取色工具(如屏幕取色器)从素材中实际采样背景色,或使用工具提供的颜色拾取功能绿幕标准绿(#00FF00)在实际拍摄中因灯光、白平衡会偏移;手动输入理论值会导致颜色不匹配,抠图失败。
α = clamp( (|C - K| - T) / (1 - T), 0, 1 )
α透明度值,0=透明,1=不透明C当前像素颜色向量 (R,G,B)K键色向量,如绿幕 (0,1,0)T容差阈值,0~1,越大抠除越宽松键色 K=(0,1,0),容差 T=0.3,像素 C=(0.2,0.85,0.1):|C-K| = sqrt((0.2-0)²+(0.85-1)²+(0.1-0)²) ≈ sqrt(0.04+0.0225+0.01)=sqrt(0.0725)≈0.269;α = clamp((0.269-0.3)/(1-0.3),0,1) = clamp(-0.031/0.7,0,1) = clamp(-0.044,0,1)=0,该像素完全透明(抠除)。
绿色残留通常是因为色键容差(similarity)设置偏小,或视频压缩导致边缘绿色溢出。本工具基于 FFmpeg 的 colorkey 滤镜,默认容差 0.1;可以在参数区调高「容差」滑块(0.15-0.25),或启用「边缘羽化」减少硬边。如果原视频是手机录的 H.264 高压缩率素材,建议先转成 ProRes 或 PNG 序列再上传,能减少色块锯齿。
蓝幕、绿幕、甚至任意纯色背景(红、白、黑)都能处理。上传后点击「取色器」图标,在预览图上点选背景区域的主色,工具会自动提取该色值作为色键。注意:背景色必须与前景主体有明显色相差(如蓝色衣服配蓝幕会一起抠掉),建议优先用绿幕是因为人肤色调偏橙红,与绿色分离度最高。
透明通道(Alpha)需要输出格式支持。如果保存为 MP4(H.264),该格式本身不支持透明,FFmpeg 会自动用黑色填充透明区域。要保留透明背景,请选择输出格式为 MOV(带 Alpha 通道的 ProRes 4444)或 WebM(VP9 带透明)。本工具结果区会提示当前格式是否支持透明度,并给出推荐格式链接。
FFmpeg 在浏览器端(WASM)受内存限制,4K 或 10 分钟以上视频容易 OOM 崩溃。本工具后端模式支持 4K 和 30 分钟以内视频,但需要等待队列。如果一直失败,检查原视频码率是否过高(建议压到 20Mbps 以下),或先剪辑出 30 秒片段测试参数,再批量处理。
默认使用浏览器端 FFmpeg WASM,视频全程在本地内存中处理,不会上传到服务器。只有在手动切换为「后端处理」模式时,视频才会加密传输到服务端用 Go 调用 FFmpeg 处理,处理完毕 1 小时后自动删除。隐私敏感素材建议用本地模式,浏览器页面关闭前数据不会离开电脑。
PS 不支持视频逐帧抠图,只能处理单帧图片。本工具基于 FFmpeg 的 colorkey 滤镜,可以批量处理视频每一帧,输出带透明通道的视频文件。对于固定机位、纯色背景的素材,自动化抠像效率远高于逐帧手抠;但遇到复杂背景(毛发、半透明物体、阴影),PS 的通道和蒙版精细度更高。推荐先用本工具粗抠,导出透明视频后导入剪辑软件微调边缘。
绿色闪动通常由两个原因引起:1)视频码率波动导致色相偏移,固定色键参数在部分帧失效;2)绿幕布光不均匀,边缘区域色值不一致。解决方案:在参数区开启「动态色键」模式(基于每一帧平均色值自动调整),同时将容差提升至 0.2-0.3。如果闪动仍然存在,检查原视频帧率是否稳定,建议用恒定帧率(CFR)素材。
白色虚边是色键抠图时残留的半透明像素,常见于绿幕与主体交界处亮度接近的区域。在参数面板开启「边缘收缩」(shrink 值设为 1-2 像素),配合「羽化」(feather 值 2-5 像素)可以消除虚边。注意收缩过大会切掉主体细节,建议先预览单帧效果再应用到全片。如果素材是压缩严重的网络视频,先做一次降噪预处理会更干净。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。