【圖像識別】基于模板匹配實現花朵分類matlab代碼
【圖像識別】基于模板匹配實現花朵分類matlab代碼
TT_Matlab
每天分享一點Matlab資料,一起成長進步。需要定制程序添加qq1575304183
1 簡介
基于直方圖實現花朵分類代碼。
2 部分代碼
%圖一:利用直方圖進行圖像的匹配 %圖二:利用形狀進行圖像的匹配 %交給你們啦~~~~ %-要求mo<=num clear ; mo = 1 ; %-選取第?幅圖像 num = 5 ; %圖片總數量 distance_const = 0.8 ; %設定直方圖距離 similar_const = 0.5 ; %設定形狀匹配相似度 close all ; %獲取第一幅圖像 sname = ’’ ; %統一修改存儲位置,修改路徑時只需在此步修改 ss =[ sname , num2str ( mo ), ’.jpg’ ] ; %打開待匹配圖像 f1 = open_img ( ss ); %求待匹配圖像的累計直方圖 %選擇其它待匹配圖像 distance = zeros ( 1 , num ); for j = 1 : num sl =[ sname , num2str ( j ), ’.jpg’ ] f2 = open_img ( sl ); %進行直方圖的匹配 d = zeros ( 1 , 256 ); for ii = 1 : 256 d ( ii )=( sqrt (( f1 ( ii ) - f2 ( ii )) .^ 2 )); end distance ( j )= sum ( d ); end distance_num = mo ; for j = 1 : num if distance ( j ) > 0 if distance ( j ) < = distance_const distance_num =[ distance_num , j ]; end end end %************************************************************************** %**** disp ( ’采用直方圖匹配,在給定的距離值以內的圖片名稱數為:’ ); distance_num disp ( ’采用直方圖匹配,在給定的距離值以內的圖片數目為:’ ); length ( distance_num ) %************************************************************************** figure ( 1 ) num = length ( distance_num ); %查找到的累積直方圖匹配的圖像個數 ref =[ sname , num2str ( mo ), ’.jpg’ ]; %待檢索的圖像 ref_img = imread ( ref ); %打開圖像 subplot ( num +1 , 2 , 1 ); imshow ( ref_img ); title ( ’待匹配圖像’ ) h1 = IMHISTS ( ref_img ); %對原圖像求取直方圖 subplot ( num +1 , 2 , 2 ); bar ( h1 , 0.075 , ’b’ ); axis ([ 0 255 0 4000 ]); title ( ’待匹配圖像的直方圖’ ); for i = 1 : num match = [ sname , num2str ( distance_num ( i )), ’.jpg’ ]; %數據庫圖像 match_img = imread ( match ); %打開圖像 subplot ( num +1 , 2 , 2 * i +1 ); imshow ( match_img ); ttxt = sprintf ( ’第%d匹配圖像’ , i ); title ( ttxt ); h2 = IMHISTS ( match_img ); %對匹配圖像求取直方圖 subplot ( num +1 , 2 , 2 * i +2 ); bar ( h2 , 0.075 , ’b’ ); axis ([ 0 255 0 4000 ]); ttxt = sprintf ( ’第%d匹配圖像直方圖’ , i ); title ( ttxt ); end similar = ones ( 1 , num ); rec_tang_1 = center_rectangle ( ref_img ); for i = 1 : num match = [ sname , num2str ( distance_num ( i )), ’.jpg’ ]; %數據庫圖像 match_img = imread ( match ); %打開圖像 rec_tang = center_rectangle ( match_img ); for j = 1 : 6 similar ( i ) = similar ( i ) * ( 1 - abs ( rec_tang_1 ( j ) - rec_tang ( j )) / ( rec_tang_1 ( j ) + rec_tang ( j )) ); end end similar_num = mo for i = 1 : num if abs ( i - mo ) > 0 if similar ( i ) < = similar_const similar_num =[ similar_num , i ]; end end end %************************************************************************** %**** disp ( ’采用形狀匹配,在給定的距離值以內的圖片名稱數為:’ ); similar_num disp ( ’采用形狀匹配,在給定的距離值以內的圖片數目為:’ ); length ( similar_num ) %************************************************************************** num = length ( similar_num ); figure ( 2 ) for i = 1 : num match = [ sname , num2str ( similar_num ( i )), ’.jpg’ ]; %數據庫圖像 match_img = imread ( match ); %打開圖像 subplot ( num , 1 , i ); imshow ( match_img ); ttxt = sprintf ( ’第%d匹配圖像’ , i ); title ( ttxt ); end
3 仿真結果
4 參考文獻
[1]王憲保, 楊敬, 肖本督,等. 一種基于機器學習的花朵種類識別方法:, CN110458200A[P]. 2019.
部分理論引用網絡文獻,若有侵權聯系博主刪除。
-
Origin(Pro):學習版的窗口限制【數據繪圖】 2020-08-07
-
如何卸載Aspen Plus并再重新安裝,這篇文章告訴你! 2020-05-29
-
AutoCAD 保存時出現錯誤:“此圖形中的一個或多個對象無法保存為指定格式”怎么辦? 2020-08-03
-
OriginPro:學習版申請及過期激活方法【數據繪圖】 2020-08-06
-
CAD視口的邊框線看不到也選不中是怎么回事,怎么解決? 2020-06-04
-
教程 | Origin從DSC計算焓和比熱容 2020-08-31
-
如何評價擬合效果-Origin(Pro)數據擬合系列教程【數據繪圖】 2020-08-06
-
Aspen Plus安裝過程中RMS License證書安裝失敗的解決方法,親測有效! 2021-10-15
-
CAD外部參照無法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內容復制到另一張圖中? 2020-07-03