效果展示

最近很火的用matlab对练习时长两年半的cxk的唱跳rap视频进行边缘检测,然后合成视频,趣称练习时长两年半的matlab。下面是效果图奉上。

代码实现

那具体是怎么实现的呢?让我们给出代码和解释。
代码可分为三块,第一块是将视频按帧读取成多张图片然后保存到文件夹中。

se = strel('line',11,90);
path_src='C:\matlab_ws\src.mp4';   %源视频存放路径
obj=VideoReader(path_src);
num=obj.NumberOfFrames;
pathImgOut='.\ImgOut\'%视频拆分为图片的存储路径
%一帧一帧的读取并存储到 pathImgOut
for i=1:numframe=read(obj,i);lujing=strcat(pathImgOut,num2str(i)); lujing=strcat(lujing,'.jpg');imwrite(frame,lujing)
end

第二块是利用matlab的边缘检测函数对上面得到的多张照片进行边缘检测,检测算法的选择较多,有robert,sobel prewitt,laplacian,canny等,各种算法有不同的特点和适用情况,这里不做展开介绍,详情可以看下面给出的参考链接。如果只是单纯的为了整活,随便选一种即可。之后把检测得到的图像结果保存到另一个文件夹中。
matlab边缘检测算子:https://blog.csdn.net/weixin_36815313/article/details/109899559

pathImgOut2='.\ImgOut2\'%图片边缘检测图片的存储路径
for i=1:num  path_src=strcat(pathImgOut,num2str(i));p=strcat(path_src,'.jpg');f=imread(p);f=rgb2gray(f);roberts=edge(f,'roberts');   %roberts算子[m,n]=find(roberts==1);mh=scatter(n,-m,'.'); lujing=strcat(pathImgOut2,num2str(i));lujing=strcat(lujing,'.jpg');saveas(mh,lujing);
end

第三块是把第二块得到的边缘检测图像拼成一段视频,最终就是我们想要的视频。

WriterObj=VideoWriter('kbj','MPEG-4')
open(WriterObj);
for i=1:num  %帧图数量pic=strcat(pathImgOut2,num2str(i));ppic=strcat(pic,'.jpg');frame=imread(ppic);  % 读取图像,放在变量frame中writeVideo(WriterObj,frame);  % 将frame放到变量WriterObj中
end
close(WriterObj);

合成的视频没有音频,如果需要音频大家可以去一些视频剪辑软件添加音频即可。
下面供上完整代码。


%% 第一部分
clear;
clc;
se = strel('line',11,90);
path_src='C:\matlab_ws\src.mp4';   %源视频存放路径
obj=VideoReader(path_src);
num=obj.NumberOfFrames;
pathImgOut='.\ImgOut\'%视频拆分为图片的存储路径
%一帧一帧的读取并存储到 pathImgOut
for i=1:numframe=read(obj,i);lujing=strcat(pathImgOut,num2str(i)); lujing=strcat(lujing,'.jpg');imwrite(frame,lujing)
end %% 第二部分
pathImgOut2='.\ImgOut2\'%图片边缘检测图片的存储路径
for i=1:num  path_src=strcat(pathImgOut,num2str(i));p=strcat(path_src,'.jpg');f=imread(p);f=rgb2gray(f);roberts=edge(f,'roberts');   %roberts算子[m,n]=find(roberts==1);mh=scatter(n,-m,'.'); lujing=strcat(pathImgOut2,num2str(i));lujing=strcat(lujing,'.jpg');saveas(mh,lujing);
end%% 第三部分
WriterObj=VideoWriter('kbj','MPEG-4')
open(WriterObj);
for i=1:num  %帧图数量pic=strcat(pathImgOut2,num2str(i));ppic=strcat(pic,'.jpg');frame=imread(ppic);  % 读取图像,放在变量frame中writeVideo(WriterObj,frame);  % 将frame放到变量WriterObj中
end
close(WriterObj);

练习时长两年半的Matlab相关推荐

  1. 时长两年半,WPS打开文档的速度慢竟被我成功解决了

    你有没有经常因为WPS打开文档的速度慢,并且卡,有时让你卡到怀疑人生,其实,有一招,可以快速解决文档打开速度的慢. 网上搜了很多种办法,但都无法解决,但是有一天,我突然有个大胆的想法,进过了历时两年半 ...

  2. 大家好!我是练习时长两天半的像素画练习生,喜欢唱,跳,rap...

    此风水宝地是本0美术基础钢铁程序员的像素画练习之处,如非练就火眼金睛者速速alt+f4. 当然,若有专业美术人士愿意指正,请疯狂批评! 1.男教师. 后期点评:图1没画阴影,特别是脖子没阴影和脸连起来 ...

  3. 练习时长两年半,二本学历,没背景,会唱跳篮球,美团四面成功拿下offer

    个人背景 又逢"金九银十",年轻的毕业生们满怀希望与忐忑,去寻找.竞争一个工作机会.已经在职的开发同学,也想通过社会招聘或者内推的时机争取到更好的待遇.更大的平台. 然而,面试人群 ...

  4. 【spring】集成Web、druid、jdbcTemple实现免登录时长两天半

    CSDN话题挑战赛第2期 参赛话题:学习笔记 *学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程.这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路.学习之乐,独乐乐,不如众 ...

  5. 时长一年半的前端练习生2022年终总结

    2022感觉过得真快,还有一周就结束了,趁着周末有时间来总结一下2022做了什么.最近小

  6. python提取时长2s以内的单词音频的韵母基频,以及单词词长信息

    python提取时长2s以内的单词音频的韵母基频,以及单词词长信息 提取信息自动存入当前工作空间中的excel文件,包括文件名.前字时长.后字时长.两字总时长.前字韵母基频.后字韵母基频.(10个点, ...

  7. 活动时长计算尝试用Lambada 实现责任链的代码优化

    文章目录 活动时长计算尝试用Lambada 实现责任链的代码优化 原流程 原代码 主控流程 计算标准费率时长子过程 电访和面访活动计算标准费率时长 路演活动计算标准费率时长 问卷活动计算标准费率时长 ...

  8. 【Linux网络编程】TCP状态转换、半关闭、2MSL时长

    ------------->[Linux系统编程/网络编程](学习目录汇总) <-------------- 目录 1. 三次握手.四次挥手过程中的状态变化 2. TCP状态转换图 3. ...

  9. 卫星过顶计算matlab,一种圆轨道低轨卫星过顶剩余可见时长预测方法

    一种圆轨道低轨卫星过顶剩余可见时长预测方法 [技术领域] [0001] 本发明涉及卫星通信领域,特别是涉及一种圆轨道低轨卫星过顶剩余可见时长预 测方法. [背景技术] [0002] 圆轨道低轨卫星是指 ...

  10. 计算两个时间之间的工作时长

    计算两个时间之间的工作时长(小时)排除周末 package com.test;import org.apache.commons.lang3.time.DateUtils;import java.ma ...

最新文章

  1. FusionCharts参数的详细说明
  2. css之文本两端对齐的两种解决方法
  3. Java并发编程(8):多线程环境中安全使用集合API(含代码)
  4. C/C++ 中生成特定范围内的随机数
  5. echarts无数据时显示无数据_钣金无腻子数据还原
  6. mysql手注_php+mysql手注拿shell教程【朋友给的】
  7. BOM的window对象的属性及其方法
  8. Queue —— JUC 的豪华队列组件
  9. JavaScript闭包详解
  10. mysql映射表_MySQL报错找不到问题?可能是你的SQL用了关键字
  11. 朗威计算机保密检查取证工具,保密检查工具(中安兴坤、朗威、中孚)含国保测证书...
  12. 小米6线刷包php文件格式,小米6官方固件刷机教程_线刷|救砖教程图解
  13. windows虚拟网卡驱动开发~开源(建议收藏)
  14. java调用vba代码合成Excel
  15. 【全面总结】大厂测试开发面试常见面试题101道
  16. sql server日期时间转字符串
  17. 2017_11_23 学习echarts之饼状、柱状、gl(三维柱状)、map地图
  18. JavaSE 15 IDEA美化
  19. TDDFT计算软件Octopus学习笔记(三):能带结构(ZnO)
  20. python爬取文献代码_爬取Pubmed文献及影响因子并尝试下载的脚本

热门文章

  1. php 覆盖写入txt文件内容,PHP使用内置函数file_put_contents覆盖写入文件及追加内容的方法...
  2. 火狐浏览器打印网页不全_火狐浏览器网页显示不全
  3. 数据结构 WSADATA
  4. 雅思词汇真经单词共3672个
  5. Django查询关键字
  6. Yocto系列讲解[理论篇] 45 - bb文件中函数实操演示(3)继承自己的class
  7. 基于matlab的am调制与仿真,基于MATLAB的AM调制及解调系统仿真分解
  8. 「Python网络编程」如何让蔡徐坤同时唱跳rap篮球/初识多线程(二)
  9. 阴历阳历相互转换c代码
  10. OpenGL ES 之 2D 纹理介绍和使用