ffmpeg进行实时绿幕抠图

function ntob($nNum) {
	[BitConverter]::ToString($nNum)
}

$colorkey = "#$(ntob 0)$(ntob 255)$(ntob 0)"

start -WindowStyle Minimized ffplay -arg "-i src1.mp4 -noborder -vf scale=640:-1 -left 0 -top 0 -noborder -alwaysontop"
start -WindowStyle Minimized ffplay -arg "-i src2.mp4 -noborder -vf scale=640:-1 -left 640 -top 0 -noborder -alwaysontop"

$strParames = "-i src1.mp4 "
$strParames += "-i src2.mp4 "
$strParames += "-filter_complex [1:v]colorkey=$($colorkey):0.41:0.01,crop=720:720:0:0[mask];[0][mask]overlay[out] "
$strParames += "-map [out] "
$strParames += "-map 0:1 "
$strParames += "-vcodec h264_nvenc "
$strParames += "-acodec aac "
$strParames += "-ar 16000 "
$strParames += "-f mpegts "
$strParames += "pipe:"
Invoke-NativeCommand ffmpeg -arg $strParames.Split(" ") | Invoke-NativeCommand ffplay -arg "-i pipe: -noborder -alwaysontop -left 0 -top 360".Split(" ") | Receive-RawPipeline

运行示意图

注意
1. colorkey filter用详细用法
2. powershell中管道解析的坑(第三方解决方案Use-RawPipeLine)
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用FFmpeg和OpenCV进行抠图,可以按照以下步骤进行操作: 1. 首先,确保你已经安装了FFmpeg和OpenCV,并且你的编译环境已经设置好。 2. 如果你的输入图像是JPEG格式的,那么你需要将其转换为PNG格式。你可以使用FFmpeg的命令行工具来完成这个操作。例如,使用以下命令将JPEG图像转换为PNG格式: ```shell ffmpeg -i input.jpeg output.png ``` 3. 接下来,你可以使用OpenCV的图像处理功能来实现抠图并实现透明化。你可以加载PNG格式的图像,然后使用OpenCV的蒙版功能将图像中的对象分割出来,并将背景设置为透明。 例如,你可以使用以下代码来实现这个操作: ```python import cv2 # 读取PNG图像 image = cv2.imread('input.png', cv2.IMREAD_UNCHANGED) # 创建一个掩码图像(蒙版),用于指定要保留的区域 mask = cv2.imread('mask.png', cv2.IMREAD_GRAYSCALE) # 使用掩码和原始图像创建带有透明通道的新图像 result = cv2.bitwise_and(image, image, mask=mask) # 保存结果图像 cv2.imwrite('output.png', result) ``` 在上面的代码中,你需要将'input.png'替换为你的输入图像的文件名,并将'mask.png'替换为包含蒙版的文件名。生成的带有透明通道的图像将保存为'output.png'。 请注意,这只是使用FFmpeg和OpenCV进行抠图的一种方法,具体的操作可能因你的实际需求而有所不同。希望这些信息对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [FFmpeg Qt Windows多路Rtsp图像显示,支持多个视频窗口显示](https://download.csdn.net/download/qq_38159549/88251569)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python之 ffmpeg+opencv绿幕抠图,蒙版绿幕抠图,透明化处理,PIL检测图片是否包含透明通道](https://blog.csdn.net/qq_45956730/article/details/125596129)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值