日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

基于CASIA-GaitDatasetB步态图像轮廓数据库的步态周期检测与步态角度特征MATLAB源码

發布時間:2025/4/5 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于CASIA-GaitDatasetB步态图像轮廓数据库的步态周期检测与步态角度特征MATLAB源码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

部分核心程序:D197

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 步態特征提取 寬高比特征以及角度特征close all; clear; clc; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Trainingfilenum = 3; % 訓練人數 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for filnum = 1:Trainingfilenum % 第一部分: 從不同文件夾導入圖片 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% %%%% %%%% 第一步: 導入二值化步態圖片,圖片來自中科院CASIA數據庫B庫% 導入圖集為一個步態周期,且以步態跨度最大時為起始時刻figure('NumberTitle','off','Name','數據庫圖集');%%%% %%%% 從圖集中讀取所有圖片fileDir = ['gaitpic\Trainingset\cl',num2str(filnum),'\']; % 文件夾路徑(這里指的圖片文件)filePattern = '*.png'; % 文件格式(圖片格式)dis = dir([fileDir,filePattern]); % 利用dir函數,返回fileDir路徑下、filePattern% 所有文件(文件名、文件路徑、日期、字節等)infilenames = {dis.name}; % 得到文件名infilenums = length(infilenames); % 得到文件個數for i=1:infilenums % 循環讀取文件filen = [fileDir infilenames{i}]; % '\gaitpic\Trainingset\cl-filnum\第i個文件'gpic = imread(filen); % imread('gaitpic\Trainingset\cl-filnum\第i個文件')GaitMessage(filnum).GaitPicture(:,:,i) = gpic;imshow(GaitMessage(filnum).GaitPicture(:,:,i));title(['No.1-',num2str(i)]);end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end % 第一部分 導入圖片 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for filnum = 1:Trainingfilenum % 第二部分: 圖像預處理 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% 1、形態學處理figure('NumberTitle','off','Name','圖像預處理-形態學處理');% picnums獲取第filnum個人的步態圖片張數[height,width,picnums] = size( GaitMessage(filnum).GaitPicture); % 選取形態學處理的結構元素 close_se = strel('disk',4); % 邊長為4的圓盤結構元素open_se = strel('disk',4); % 邊長為4的圓盤結構元素%%%% 進行邊長為4的八邊形 先閉后開運算for i=1:picnums % 對該人的所有步態圖像進行形態學處理clo = imclose( GaitMessage(filnum).GaitPicture(:,:,i) ,close_se); % 閉運算操作ope = imopen(clo,open_se); % 開運算操作GaitMessage(filnum).Morphology(:,:,i) = ope; % 形態學處理后的圖片 imshow( GaitMessage(filnum).Morphology(:,:,i) );title(['No.2-1-',num2str(i)]);end%%%% %%%% 2、人像輪廓提取(邊緣檢測) - 骨骼提取(細化函數) - 生成輪廓骨骼圖像 figure('NumberTitle','off','Name','圖像預處理-邊緣檢測');for i=1:picnumsGaitMessage(filnum).Edgepic(:,:,i) = edge( GaitMessage(filnum).Morphology(:,:,i),'sobel'); % sobel算子GaitMessage(filnum).Skeletonpic(:,:,i) = bwmorph( GaitMessage(filnum).Morphology(:,:,i),'thin',Inf); % 人體細化GaitMessage(filnum).EdgeandSkeleton(:,:,i) = GaitMessage(filnum).Edgepic(:,:,i) + GaitMessage(filnum).Skeletonpic(:,:,i); % 生成輪廓骨骼圖% 保存下來,保存路徑為:gaitpic/EdgeandSkeleton/all/filnum-es-i.pngimwrite( GaitMessage(filnum).EdgeandSkeleton(:,:,i) , strcat(['gaitpic/EdgeandSkeleton/all/',num2str(filnum),'es',num2str(i),'.png']));% 畫圖部分 % imshow( GaitMessage(filnum).Edgepic(:,:,i) );title(['No.2-2-',num2str(i)]); % 顯示輪廓圖 ; % imshow( GaitMessage(filnum).Skeletonpic(:,:,i) );title(['No.2-2-',num2str(i)]); % 顯示骨骼圖 imshow( GaitMessage(filnum).EdgeandSkeleton(:,:,i) );title(['No.2-2-',num2str(i)]); % 顯示輪廓骨骼圖% 畫圖結束end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end % 第二部分: 圖像預處理 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for filnum = 1:Trainingfilenum % 第三部分: 步態周期檢測與提取 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% picnums獲取第filnum個人的步態圖片張數[height,width,picnums] = size( GaitMessage(filnum).GaitPicture); %%%% %%%% 獲得每個輪廓的最小外接矩形 & 以其矩形的長寬作為人像高寬for i=1:picnums imbiEdgepic = imbinarize( GaitMessage(filnum).Morphology(:,:,i) ); % 步態圖二值化%%%% regionprops函數用于返回圖片的屬性,求各個輪廓的最小外接矩形GaitMessage(filnum).BoundBs(1,i) = regionprops(imbiEdgepic,'BoundingBox'); % 利用函數度量圖像區域屬性,這里度量最小外接矩形% 返回一個結構數據,其內是有關最小外接矩形的位置% 長、寬信息,調用格式:s.BoundingBox% s.BoundingBox = [x,y,w(△x),h(△y)]%%%% 求各個對應的寬高比rec_width = GaitMessage(filnum).BoundBs(i).BoundingBox(3); % 寬rec_heigh = GaitMessage(filnum).BoundBs(i).BoundingBox(4); % 高GaitFeatures(filnum).Aspectratio(1,i) = rec_width / rec_heigh; % 寬高比特征end% 畫圖部分:figure('NumberTitle','off','Name','步態周期檢測-寬高比');plot(GaitFeatures(filnum).Aspectratio); title(['No.3-',num2str(filnum),'步態集-人像寬高比變化曲線']);% 畫出面積走勢圖% 畫圖結束%%%% %%%% 取連續三個局部最小值之間為一個周期(也可以取得連續三個局部最大值之間為一個周期)%%%% 利用尋找峰值函數找到局部極值[peas,locs] = findpeaks( -GaitFeatures(filnum).Aspectratio );% 由于想尋找局部極小值,而該函數是尋找局部極大值,所以對其取負peas = - peas; % 將值還原 % 由于本次未使用這個值,所以注釋掉了;如果需要使用,則需要將注釋去除,不然值是所需值的負數%%%% 取連續三個局部最小值之間為一個周期,第一個極小為起點,第三個極小為終點periodstart = 1;periodend = 3;GaitMessage(filnum).periodlocs = [locs(periodstart) locs(periodend)];%%%% 取寬高比周期GaitMessage(filnum).mPeriod = GaitFeatures(filnum).Aspectratio(GaitMessage(filnum).periodlocs(1):GaitMessage(filnum).periodlocs(2));% 畫圖部分:figure('NumberTitle','off','Name','步態周期檢測-周期提取');plot(GaitMessage(filnum).mPeriod);title(['No.3-',num2str(filnum),'步態集-步態周期內人像寬高比變化曲線']);% 畫出面積走勢圖% 畫圖結束%%%% 取周期內的步態圖片GaitMessage(filnum).GaitPeriod = GaitMessage(filnum).EdgeandSkeleton(:,:,GaitMessage(filnum).periodlocs(1):GaitMessage(filnum).periodlocs(2));[height,width,picnums] = size( GaitMessage(filnum).GaitPeriod ); for i = 1:picnums%保存下來,保存路徑為:gaitpic/EdgeandSkeleton/period/filnum-es-i.pngimwrite( GaitMessage(filnum).GaitPeriod(:,:,i) , strcat(['gaitpic/EdgeandSkeleton/period/',num2str(filnum),'es',num2str(i),'.png']));end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end % 第三部分: 步態周期檢測 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for filnum = 1:Trainingfilenum % 第四部分: 角度特征提取 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% %%%% %%%% 第四步: 步態特征提取sectornums = 2; % 分區數,即將下半身分為兩個分區,將人像以垂直軸(y軸)為分界線,左右分別為一個分區%%%% %%%% 整個過程角度特征距離特征 以質心為原點,對下半身采用2分區,提取各個分區信息以及輪廓像素信息,[GaitFeatures(filnum).nthsectorFeatures,Outlinepixelmessage,centroid] = test_Outlinepixel2Centroid_AngleDistance(GaitMessage(filnum).EdgeandSkeleton,sectornums);% 只獲取一個步態周期內的角度特征for nths = 1:sectornumsGaitFeatures(filnum).nthsectorPeriodFeatures(nths).PeriodaverageAngle = GaitFeatures(filnum).nthsectorFeatures(nths).averageAngle(GaitMessage(filnum).periodlocs(1):GaitMessage(filnum).periodlocs(2));end%%%% 畫圖部分:畫出該人步態角度特征figure('NumberTitle','off','Name','同一人整個過程-角度特征');for i = 1:sectornumsplot(GaitFeatures(filnum).nthsectorFeatures(i).averageAngle - 270);title(['No.4-',num2str(filnum),'-1','同一人的1/2分區-角度均值變化曲線']) % 畫出角度走勢圖hold onend% 對應的周期角度特征曲線figure('NumberTitle','off','Name','同一人步態周期內-角度特征');for i = 1:sectornumsplot(GaitFeatures(filnum).nthsectorPeriodFeatures(i).PeriodaverageAngle - 270);title(['No.4-',num2str(filnum),'-2','同一人的1/2分區-周期角度均值變化曲線']) % 畫出角度走勢圖hold onend%%%% 畫圖結束%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end % 第四部分: 角度特征提取 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for filnum = 1:Trainingfilenum % 畫圖部分-畫出當前所有測試人員的角度特征曲線 % 注:這里給出最多畫10人不同曲線的代碼,由于曲線線條形狀、顏色不同,采用switch語句來畫 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% 畫圖部分: 畫出當前所有測試人員的角度特征曲線switch filnumcase 1 figure('NumberTitle','off','Name','所有人整個過程-角度特征');title('不同行人左右分區角度特征比較');% 畫出走勢圖for i = 1:sectornumsplot(GaitFeatures(1).nthsectorFeatures(i).averageAngle - 270,'b-o','MarkerFaceColor','b');hold onendcase 2 for i = 1:sectornumsplot(GaitFeatures(2).nthsectorFeatures(i).averageAngle - 270,'g-x','MarkerFaceColor','g');hold onendcase 3 for i = 1:sectornumsplot(GaitFeatures(3).nthsectorFeatures(i).averageAngle - 270,'r-*','MarkerFaceColor','r');hold onendcase 4 for i = 1:sectornumsplot(GaitFeatures(4).nthsectorFeatures(i).averageAngle - 270,'c-p','MarkerFaceColor','c');hold onendcase 5 for i = 1:sectornumstitle('不同行人左右分區角度特征比較');% 畫出走勢圖plot(GaitFeatures(5).nthsectorFeatures(i).averageAngle - 270,'k-s','MarkerFaceColor','k');hold onendcase 6 figure('NumberTitle','off','Name','步態角度特征');title('不同行人左右分區角度特征比較');% 畫出走勢圖for i = 1:sectornumsplot(GaitFeatures(6).nthsectorFeatures(i).averageAngle - 270,'b-o','MarkerFaceColor','b');hold onendcase 7 for i = 1:sectornumsplot(GaitFeatures(7).nthsectorFeatures(i).averageAngle - 270,'g-x','MarkerFaceColor','g');hold onendcase 8 for i = 1:sectornumsplot(GaitFeatures(8).nthsectorFeatures(i).averageAngle - 270,'r-*','MarkerFaceColor','r');hold onendcase 9 for i = 1:sectornumsplot(GaitFeatures(9).nthsectorFeatures(i).averageAngle - 270,'c-p','MarkerFaceColor','c');hold onendcase 10 for i = 1:sectornumstitle('不同行人左右分區角度特征比較');% 畫出走勢圖plot(GaitFeatures(10).nthsectorFeatures(i).averageAngle - 270,'k-s','MarkerFaceColor','k');hold onendend %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end % 畫圖部分結束-畫出當前所有測試人員的角度特征曲線 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for filnum = 1:Trainingfilenum % 畫圖部分-畫出當前所有測試人員的角度特征曲線 % 注:這里給出最多畫10人不同曲線的代碼,由于曲線線條形狀、顏色不同,采用switch語句來畫 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%% %%%% 對應的周期角度特征曲線switch filnumcase 1 figure('NumberTitle','off','Name','不同行人步態周期內角度特征');title('不同行人左右分區角度特征比較');% 畫出走勢圖for i = 1:sectornumsplot(GaitFeatures(1).nthsectorPeriodFeatures(i).PeriodaverageAngle - 270,'b-o','MarkerFaceColor','b');hold onendcase 2 for i = 1:sectornumsplot(GaitFeatures(2).nthsectorPeriodFeatures(i).PeriodaverageAngle - 270,'g-x','MarkerFaceColor','g');hold onendcase 3 for i = 1:sectornumsplot(GaitFeatures(3).nthsectorPeriodFeatures(i).PeriodaverageAngle - 270,'r-*','MarkerFaceColor','r');hold onendcase 4 for i = 1:sectornumsplot(GaitFeatures(4).nthsectorPeriodFeatures(i).PeriodaverageAngle - 270,'c-p','MarkerFaceColor','c');hold onendcase 5 for i = 1:sectornumstitle('不同行人左右分區角度特征比較');% 畫出走勢圖plot(GaitFeatures(5).nthsectorPeriodFeatures(i).PeriodaverageAngle - 270,'k-s','MarkerFaceColor','k');hold onendcase 6 figure('NumberTitle','off','Name','步態角度特征');title('不同行人左右分區角度特征比較');% 畫出走勢圖for i = 1:sectornumsplot(GaitFeatures(6).nthsectorPeriodFeatures(i).PeriodaverageAngle - 270,'b-o','MarkerFaceColor','b');hold onendcase 7 for i = 1:sectornumsplot(GaitFeatures(7).nthsectorPeriodFeatures(i).PeriodaverageAngle - 270,'g-x','MarkerFaceColor','g');hold onendcase 8 for i = 1:sectornumsplot(GaitFeatures(8).nthsectorPeriodFeatures(i).PeriodaverageAngle - 270,'r-*','MarkerFaceColor','r');hold onendcase 9 for i = 1:sectornumsplot(GaitFeatures(9).nthsectorPeriodFeatures(i).PeriodaverageAngle - 270,'c-p','MarkerFaceColor','c');hold onendcase 10 for i = 1:sectornumstitle('不同行人左右分區角度特征比較');% 畫出走勢圖plot(GaitFeatures(10).nthsectorPeriodFeatures(i).PeriodaverageAngle - 270,'k-s','MarkerFaceColor','k');hold onendend %%%% %%%% 畫圖結束 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% end % 畫圖部分結束-畫出當前所有測試人員的角度特征曲線 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

總結

以上是生活随笔為你收集整理的基于CASIA-GaitDatasetB步态图像轮廓数据库的步态周期检测与步态角度特征MATLAB源码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 伊人资源网 | 亚洲狼人综合网 | 色视频免费 | 国产av国片偷人妻麻豆 | 久久成年视频 | 国产精品人人爽人人爽 | 这里有精品视频 | 国产精品免费视频一区二区三区 | 毛片在线播放视频 | 91视频88av| 日本a级网站 | 国产精品免费无遮挡无码永久视频 | 一级黄色大片视频 | 日韩精品一线二线三线 | 国产高清在线精品 | 日韩视频一区二区在线观看 | 欧美另类xxxxx| 色多多视频在线 | 欧美日韩午夜 | 国产传媒视频在线观看 | 久久中文字幕人妻熟av女蜜柚m | 天天色网站 | 国产经典自拍 | 校园激情av | 好姑娘在线观看高清完整版电影 | 成人无码精品1区2区3区免费看 | 翔田千里一区二区三区av | 人妻一区二区三区四区五区 | 99免费视频 | 精品久久久久久久久久久久久久 | 亚洲一片| 欧美a级网站| 日韩精品一区二区三区国语自制 | 青青草97国产精品麻豆 | 日韩一区二区影院 | 欧美极品jizzhd欧美仙踪林 | 亚洲av无一区二区三区久久 | 国产情侣露脸自拍 | 亚洲黄色在线播放 | 天堂网成人 | 上原亚衣在线 | 日本孰妇毛茸茸xxxx | 日本韩国欧美一区 | 亚洲涩综合| 亚洲免费在线观看av | 久草免费在线播放 | 日韩精品国产精品 | 免费av网站大全 | 人成在线免费视频 | 婷婷综合激情网 | 91全免费| 久久久久久一区二区三区 | 日韩免费不卡视频 | 免费福利视频网站 | 日韩国产免费 | 最新理伦片eeuss影院 | 2019天天干 | 国产精品三 | 天天做天天爱 | 女人张开腿让男人插 | 不卡的在线视频 | 一区二区三区网 | 18久久久 | 亚洲成人激情在线 | 亚州综合 | 六月丁香色婷婷 | 国产又黄又粗又猛又爽 | 亚洲一区在线视频观看 | 黄色录像大片 | 蜜桃视频免费网站 | 欧美精品首页 | 成人看片免费 | 日韩av无码一区二区三区 | 国产操人| 午夜爱爱影院 | 中文字幕人妻一区二区三区 | 国产精品久久久久久久久久久久久久久久久久 | 91大神一区二区 | 性激烈视频在线观看 | 91在线一区二区三区 | 色亚洲天堂 | av中出| 国产视频一区二区三 | 欧美成人视 | 一区二区三区精品在线 | 手机在线免费av | 亚洲 高清 成人 动漫 | 蜜臀av一区 | 黑人操日本女人视频 | 91视频二区 | 女人喂男人奶水做爰视频 | 日韩精品 欧美 | a√天堂网| 欧美午夜久久 | 夜夜嗨av一区二区三区 | 不卡视频一区二区 | 一区二区三区免费观看 | 亚洲天堂区 | 成年人小视频在线观看 |