基本信息
源码名称:关键帧提取(edge_check0.m)
源码大小:0.97KB
文件格式:.m
开发语言:MATLAB
更新时间:2020-09-15
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
关键帧提取


%绝对帧间差法:比较相邻图像帧像素的亮度和之差,当大于某个阈值时,则判定发生突变。
NOF=878;   %图片数量
file_path =  'E:\code\images\';% 图像文件夹路径
img_path_list = dir(strcat(file_path,'*.jpg'));%获取该文件夹中所有jpg格式的图像

 
for i=1:NOF-1
    image_name_i = strcat(num2str(i),'.jpg');  %图像名
    img_i =  imread(strcat(file_path,image_name_i));  %读取该图像
    image_name_i_plus = strcat(num2str(i 1),'.jpg');% 后一张图像名
    img_i_plus =  imread(strcat(file_path,image_name_i_plus));  %读取后一张图像
    img_diff(i)=norm(double(img_i(:,:,1)-img_i_plus(:,:,1))) norm(double(img_i(:,:,2)-img_i_plus(:,:,2))) norm(double(img_i(:,:,3)-img_i_plus(:,:,3)));  %计算前后两张图像的帧像素的亮度和之差
end;

Threshold=mean(img_diff)*4;  %阈值设定为平均像素差的4倍

for i=2:NOF-2
   if(img_diff(i)>img_diff(i-1)&&img_diff(i)>img_diff(i 1)&&img_diff(i)>Threshold)  %如果该图像的像素差大于前后两张以及阈值,则判定为镜头切换的帧编号
       fprintf('%d\n',i);           %输出帧编号
   end;
end;