Matlab对视频进行边缘检测

Matlab对视频进行边缘检测

效果展示

链接: [https://www.bilibili.com/video/BV1Xm4y1A7cT/?spm_id_from=333.999.0.0&vd_source=4adcc1a963be5ea6a17201df1c7ce534]

视频截图: 在这里插入图片描述

Matlab代码

%% 对视频边缘检测进行
% 输入:视频存放路径、输出坐标轴范围
% 输出:边缘检测结果、音频
clear all;
close all;
clc;
%% 边缘检测
video_path = 'D:\研二\边缘检测\honey01.mp4';                                % 视频存放路径
obj = VideoReader(video_path);
frame_max = obj.NumberOfFrames;                                            % 视频最大帧数
for kk = 1:frame_max  
    fprintf('处理进度:%d %c\n', round(kk/frame_max*100),'%');              % 展示处理进度
    frame = read(obj,kk);                                                  % 读取关键帧        
    im_gray = rgb2gray(frame);                                             % 转成灰度图
    roberts = edge(im_gray,'roberts');                                     % 边缘检测
    [m,n] = find(roberts==1);
    scatter(n,-m,'.');                                                     % 显示边缘检测结果
    axis([600 1300 -1000 0]);                                              % 设置输出坐标轴范围
    M(kk) = getframe;                                                      % 获取边缘检测结果
end
%% 读取音频
[y,Fs] = audioread(video_path);                                            % 读音频
filename = 'honey.wav';
audiowrite(filename,y,Fs);                                                 % 保存 wav
%% 最终输出结果
fps = obj.FrameRate;                                                       % 播放帧数
n = 1;                                                                     % 循环播放次数
movie(M,n,fps);                                                            % 以每秒 fps 帧的速度播放影片
sound(y,Fs);                                                               % 播放音频
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值