首頁 > 化工知識 > 【圖像識別】基于模板匹配實現花朵分類matlab代碼

【圖像識別】基于模板匹配實現花朵分類matlab代碼

時間:2021-12-11 來源: 瀏覽:

【圖像識別】基于模板匹配實現花朵分類matlab代碼

天天Matlab
天天Matlab

TT_Matlab

每天分享一點Matlab資料,一起成長進步。需要定制程序添加qq1575304183

收錄于話題 #圖像處理matlab源碼 286個 內容

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.

部分理論引用網絡文獻,若有侵權聯系博主刪除。

版權:如無特殊注明,文章轉載自網絡,侵權請聯系cnmhg168#163.com刪除!文件均為網友上傳,僅供研究和學習使用,務必24小時內刪除。
相關推薦
国产午夜福利电影_鲁丝片一区二区三区免费_久久久久狠狠色精品_日本丰满熟妇被捏出奶水_亚洲欧美卡通动漫