资源简介
本程序可以很快地找到视频和图片序列中的关键帧,该压缩包中已经有对应的图片序列,可以直接运行程序。
代码片段和文件信息
%基于聚类的关键帧提取法
%会弹出这几幅关键帧的图像
filenames=dir(‘images/*.jpg‘);
num=size(filenames1);
key=zeros(1num);
cluster=zeros(1num);
clusterCount=zeros(1num); %各聚类有的帧数
count=0; %聚类个数
threshold=0.75;
centrodR=zeros(num256); %聚类质心R的直方图
centrodG=zeros(num256); %聚类质心G的直方图
centrodB=zeros(num256); %聚类质心B的直方图
if num==0
error(‘Sorry there is no pictures in images folder!‘);
else
%令首帧形成第一个聚类
img=imread(strcat(‘images/‘filenames(1).name));
count=count+1;
[preCountRx]=imhist(img(::1)); %red histogram
[preCountGx]=imhist(img(::2)); %green histogram
[preCountBx]=imhist(img(::3)); %blue histogram
cluster(1)=1; %设定第一个聚类选取的关键帧初始为首帧
clusterCount(1)=clusterCount(1)+1;
centrodR(1:)=preCountR;
centrodG(1:)=preCountG;
centrodB(1:)=preCountB;
for k=2:num
img=imread(strcat(‘images/‘filenames(k).name));
[tmpCountRx]=imhist(img(::1)); %red histogram
[tmpCountGx]=imhist(img(::2)); %green histogram
[tmpCountBx]=imhist(img(::3)); %blue histogram
clusterGroupId=1;
maxSimilar=0;
for clusterCountI=1:count
sR=0;
sG=0;
sB=0;
%运用颜色直方图法的差别函数
for j=1:256
sR=min(centrodR(clusterCountIj)tmpCountR(j))+sR;
sG=min(centrodG(clusterCountIj)tmpCountG(j))+sG;
sB=min(centrodB(clusterCountIj)tmpCountB(j))+sB;
end
dR=sR/sum(tmpCountR);
dG=sG/sum(tmpCountG);
dB=sB/sum(tmpCountB);
%YUVpersons are sensitive to Y
d=0.30*dR+0.59*dG+0.11*dB;
if d>maxSimilar
clusterGroupId=clusterCountI;
maxSimilar=d;
end
end
if maxSimilar>threshold
%相似度大,与该聚类质心距离小
%加入该聚类,并调整质心
for ii=1:256
centrodR(clusterGroupIdii)=centrodR(clusterGroupIdii)*clusterCount(clusterGroupId)/(clusterCount(clusterGroupId)+1)+tmpCountR(ii)*1.0/(clusterCount(clusterGroupId)+1);
centrodG(clusterGroupIdii)=centrodG(clusterGroupIdii)*clusterCount(clusterGroupId)/(clusterCount(clusterGroupId)+1)+tmpCountG(ii)*1.0/(clusterCount(clusterGroupId)+1);
centrodB(clusterGroupIdii)=centrodB(clusterGroupIdii)*clusterCount(clusterGroupId)/(clusterCount(clusterGroupId)+1)+tmpCountB(ii)*1.0/(clusterCount(clusterGroupId)+1);
end
clusterCount(clusterGroupId)=clusterCount(clusterGroupId)+1;
cluster(k)=clusterGroupId; %第k帧在第clusterGroupId个聚类里面
else
%形成新的聚类,增加一个聚类质心
count=count+1;
clusterCount(count)=clusterCount(count)+1;
centrodR(count:)=tmpCountR;
centrodG(count:)=tmpCountG;
centrodB(count:)=tmpCountB;
cluster(k)=count; %第k帧在第count
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-04-10 12:37 基于K_mean聚类的关键帧提取代码\
目录 0 2017-04-10 12:37 基于K_mean聚类的关键帧提取代码\images\
文件 13834 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0001.jpg
文件 24848 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0002.jpg
文件 26083 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0003.jpg
文件 25916 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0004.jpg
文件 26455 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0005.jpg
文件 26282 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0006.jpg
文件 26640 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0007.jpg
文件 26500 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0008.jpg
文件 26858 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0009.jpg
文件 26873 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0010.jpg
文件 25870 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0011.jpg
文件 25659 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0012.jpg
文件 25987 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0013.jpg
文件 26130 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0014.jpg
文件 26972 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0015.jpg
文件 27760 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0016.jpg
文件 27136 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0017.jpg
文件 27295 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0018.jpg
文件 28964 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0019.jpg
文件 27212 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0020.jpg
文件 28215 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0021.jpg
文件 28810 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0022.jpg
文件 29340 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0023.jpg
文件 28895 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0024.jpg
文件 28458 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0025.jpg
文件 27913 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0026.jpg
文件 27867 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0027.jpg
文件 28162 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0028.jpg
文件 27905 2008-06-24 22:09 基于K_mean聚类的关键帧提取代码\images\0029.jpg
............此处省略279个文件信息
相关资源
- 基于动态共享近邻的谱平均密度聚类
- PCA-KDKM算法及其在微博舆情中的应用
- 层次聚类四种经典算法论文英文原文
- 模糊聚类分析问题试验论文及源代码
- 改进的k_均值聚类排挤小生境遗传算法
- Kmeans算法为各国体育水平分类
- 层次聚类代码
- Data clustering algorithm and application
- KNN-文本聚类
- knn文本聚类小型数据集
- 快速搜索密度峰值聚类
- 时间序列聚类——十年回顾
- 聚类分析在股市中的应用
- 聚类分析与模糊聚类的两本书籍
- 三种典型的基于图分割的谱聚类方法
- 聚类算法评测数据第二部分
- 聚类分析、机器学习及数据挖掘中常
- 汉语文本聚类
- 二维空间坐标的dbscan聚类算法
- 文本聚类程序
- FCMGKGG模糊聚类算法
- 超详细学习报告资料模糊理论基础
- powermarker V3.25
- 基于kmeans算法的图像颜色量化
- 基于密度的聚类.ppt
- Science 上发表的《Clustering by fast sear
- 聚类算法及评价可视化工具箱
- SPSS教程-聚类分析-附操作
- 多元统计分析 聚类分析 ppt
- 多元统计分析聚类分析
评论
共有 条评论