[問題]關於RGB值相減做圖片比對

看板MATLAB作者 (MeliKuster)時間11年前 (2014/04/11 01:27), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
大家好, 最近在嘗試用簡單的方式做圖片的比對, 狀況是這樣的, 目前應用webcam, 將受測者身上想標記的地方貼上色布作為標記點, 並以每秒20~30張的速度將連續動作拍成圖片(I)存下來, 大約1~2000張, 舉例來說就是重複做舉手的動作並拍下來, 可能I1~I133是第一次舉手,I134~I255是第二次舉手的動作, 接著擷取出標記點(圖片T)的RGB值取平均, 然後將圖片(I)的RGB值分別減掉圖片(T)的RGB平均值以後相加, 最後是找出加總後最小值的x,y並標記出來, 可是我發現圖片I跟T必須是同一張,否則會判斷失敗, 例如圖片T使用第一組照片的起始動作, 而圖片I使用第二組照片的起始動作, 比對就會出錯,想請問大家該怎麼改進這個演算法Q_Q? 程式碼如下, clc; clear1; f=imread('xx.jpg'); T=double(imcrop(f,[359,84,0,0])); for i=1:1200 ii=int2str(i); I=double(imread(xxx.jpg)); Tr=T(:,:,1); Tg=T(:,:,2); Tb=T(:,:,3); TRM=mean(mean(Tr)); TGM=mean(mean(Tg)); TBM=mean(mean(Tb)); Ir=abs(I(:,:,1)-TRM); Ig=abs(I(:,:,2)-TGM); Ib=abs(I(:,:,3)-TBM); IrgbT=Ir+Ig+Ib; [x,y]=find(IrgbT==min(min(IrgbT))); (然後把找到的最小值標出來) end 希望大家能提點提點Q_Q -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.51.228 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1397150830.A.FFB.html

04/11 10:45, , 1F
GOOGLE pattern matching, 2d cross correlation,
04/11 10:45, 1F

04/11 10:45, , 2F
computer vision
04/11 10:45, 2F

04/11 15:50, , 3F
感謝J大!!
04/11 15:50, 3F
文章代碼(AID): #1JHjHk_x (MATLAB)
文章代碼(AID): #1JHjHk_x (MATLAB)