资讯专栏INFORMATION COLUMN

如何用MATLAB为小姐姐跳舞视频增添另一个小姐姐跳舞进度条

Kerr1Gan / 2743人阅读

摘要:注本人非常清楚这项任务使用会简单很多,此篇文章只是为了探究能干啥的边界。并作为一个熟悉矩阵操作和视频音频操作的例子。

注: 本人非常清楚这项任务使用pr会简单很多,此篇文章只是为了探究matlab能干啥的边界。并作为一个熟悉matlab矩阵操作和视频音频操作的例子。

效果如下:
(怕侵权就只放个动图)

可以看到小姐姐的舞蹈非常让人上头哈!!!!


材料准备:
1首先需要准备一个小姐姐的视频:
(完整素材包放在文章最后)

2需要准备一系列小姐姐跳舞的png图片,放在pic文件夹里:


完整代码:
其实原理很简单,就只是计算图片应该到的位置,把图片放到该放的地方,至于怎么样让声音和视频和在一起可以看这一篇:
MATLAB 如何将视频和音频写入同一个文件?以视频上下颠倒为例,附带详细注释

function moveAddWaitBar2videoPath="test.mp4";picPath="./pic/";%图片素材路径movObj=VideoReader(videoPath);[AUDIO,Fs]=audioread(videoPath);audioLen=round(size(AUDIO,1)./movObj.NumFrames);videoFWriter=vision.VideoFileWriter("result.avi","FrameRate",movObj.FrameRate);videoFWriter.AudioInputPort=true;files=dir(fullfile(picPath,"*.png")); %图片格式pngpicNum=size(files,1);% 导入图片素材for i=1:picNum   fileName=strcat(picPath,files(i).name);    [img,~,alp]=imread(fileName);   imgSet{i}=img;   alpSet{i}=alp;endclose all;fig=figure(1);fig.NumberTitle="off";[m,n,~]=size(read(movObj,1));for k=1:movObj.NumFrames     frame=read(movObj,k);     tImg=imgSet{mod(k-1,picNum)+1};     tAlp=alpSet{mod(k-1,picNum)+1};     [M,N,~]=size(tImg);          % 动图定位     tN=round(k/movObj.NumFrames*n);          tNSet=tN+1-floor(N/2):tN+ceil(N/2);     if any(tNSet<=0)         tNSet(tNSet<=0)=[];         tNSet2=tNSet+N-tNSet(end);     else         tNSet(tNSet>n)=[];         tNSet2=tNSet-tNSet(1)+1;     end               % 动图像素写入每一帧图像     tPart=frame(end-M+1:end,tNSet,:);     tPart2=tImg(:,tNSet2,:);     tPart3=tAlp(:,tNSet2);     tPart_R=tPart(:,:,1);     tPart_G=tPart(:,:,2);     tPart_B=tPart(:,:,3);     tPart2_R=tPart2(:,:,1);     tPart2_G=tPart2(:,:,2);     tPart2_B=tPart2(:,:,3);     tPart_R(tPart3~=0)=tPart2_R(tPart3~=0);     tPart_G(tPart3~=0)=tPart2_G(tPart3~=0);     tPart_B(tPart3~=0)=tPart2_B(tPart3~=0);     tPart(:,:,1)=tPart_R;     tPart(:,:,2)=tPart_G;     tPart(:,:,3)=tPart_B;          changeFrame=frame;     changeFrame(end-M+1:end,tNSet,:)=tPart;     changeFrame=uint8(changeFrame);          % 音频视频写入     videoFWriter(changeFrame,AUDIO((k-1)*audioLen+1:k*audioLen,:));     imshow(changeFrame)     fig.Name=["Frame:[",num2str(k),"/",num2str(movObj.NumFrames),"]"];endrelease(videoFWriter);end

完整素材包:
链接:https://pan.baidu.com/s/1l5eCW-el4CR_R8worvaP-w
提取码:t9xe

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119131.html

相关文章

  • 首次公开,整理12年积累的博客收藏夹,零距离展示《收藏夹吃灰》系列博客

    摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...

    Harriet666 评论0 收藏0
  • 码神军训(四,五)——代码跳舞军体拳

    摘要:吹水今天,码神依旧凉爽,军体拳,摸鱼一天,所以早上就在操场趴着,不过,我学会了,信不信看到抖音小姐姐的舞蹈,用代码做出来,还挺好看,我也想试一下,不会,学莫,反正假酒已经醒了。 ...

    mayaohua 评论0 收藏0
  • 案例】基于色键技术的纯客户端实时蒙版弹幕

    摘要:组件提供了一系列的操作接口以方便用户对弹幕的相关特性进行定制。对于这种类型的图像,我们可以使用色键的方式进行抠图生成蒙版。其中,用于更新蒙版的接口为。 导读:本文内容是笔者最近实现的 web 端弹幕组件—— Barrage UI 的一个延伸。在阅读本文的实例和相关代码之前,不妨先浏览项目文档,对组件的使用方式和相关接口进行了解。 各位童鞋如果经常上 B 站(bilibili.com) ...

    muzhuyu 评论0 收藏0
  • 何用Python抓抖音上的姐姐

    摘要:比如分钟破译朋友圈测试小游戏文章里用的方法但有些根本就没有提供网页端,比如今年火得不行的抖音。所以常用的方式就是通过在电脑上装一些抓包软件,将手机上的网络请求全部显示出来。总结下,重点是的抓取,关键是配置代理证书,难点是对请求的分析。 爬虫的案例我们已讲得太多。不过几乎都是 网页爬虫 。即使有些手机才能访问的网站,我们也可以通过 Chrome 开发者工具 的 手机模拟 功能来访问,以便...

    FingerLiu 评论0 收藏0
  • 我用Python爬取了女神视界,爬虫之路永无止境「内附源码」

    摘要:我发现抖音上很多小姐姐就拍个跳舞的视频就火了,大家是冲着舞蹈水平去的吗,都是冲着颜值身材去的,能刷到这篇文章的都是了,我就跟大家不一样了,一个个刷太麻烦了,我直接爬下来看个够,先随意展示两个。 我发现抖音上很多小姐姐就拍个跳舞的视频就火了,大家是冲着舞蹈水平去的吗,都是冲着颜值身材去的,能刷...

    niuxiaowei111 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<