全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3275
推到 Plurk!
推到 Facebook!

matlab 抓背景問題

尚未結案
7y7y7
一般會員


發表:14
回覆:2
積分:3
註冊:2004-12-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-29 04:43:15 IP:59.114.xxx.xxx 未訂閱
這是抓背景程式 s=0 % 起始張___ok e=0 % 結束張___ok n=20 u =0 t=[n:1] o =0 r = 0 for d=1:1 s=e 1 e=d*n mov=aviread('E:\MATLAB7\WORK\693.avi',[s:e]); % 讀取avi檔案___ok colormap(gray); for i=1:n % 一次讀取20張___ok mov_gray(i).image=mov(i).cdata; % 取得這20張的強度___ok end counter=uint8(zeros(size(mov_gray(1).image))); total_diff(d).diff=uint8(zeros(size(mov_gray(1).image))); for k=1:n x(k).image =mov(k).cdata; u = x(k).image; h = u(:); h = h'; t = [t;h]; end w = median(t); w = w'; o = reshape(w,240,320,3); for j=1:n % 20張圖,有19個強度差值___ok r = o-mov_gray(j).image ; % j 1張減掉某張指定張的強度差___ok end % windos end %======================= %--------------------------- ok=o; tmp(1:3)=0; tmp2=0; di=35; for ai = 1:240 for bi = 1:320 if o(ai,bi,1:3) di >= mov_gray(86).image(ai,bi,1:3) if o(ai,bi,1:3)-di <= mov_gray(86).image(ai,bi,1:3) tmp=1; end end if tmp == 1 ok(ai,bi,1:3)=0; tmp2=1; end if tmp2~=1 ok(ai,bi,1:3)=mov_gray(86).image(ai,bi,1:3); end tmp2=0; tmp=0; end end %-------------------------- 換個avi檔下去跑的時候,卻出現這個問題 Error using ==> reshape To RESHAPE the number of elements must not change. 請問各位要如何解決呢
fusung
中階會員


發表:26
回覆:169
積分:99
註冊:2003-11-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-12-03 00:08:39 IP:61.222.xxx.xxx 未訂閱
很可能是你兩個檔案的avi檔的解析度不同    另外有reshape的行數,如下:
 
o = reshape(w,240,320,3);
請你檢查一下w的維度
輸入指令
(1) size(w)
(2) prod(size(w))  % 必須等於240*320*3,當"不等於"時就會發生你遇到的錯誤訊息: 表示你的維度轉換錯誤..
發表人 - fusung 於 2005/12/03 00:10:15
------


The first step toward proving things for yourself is to understand how others have done it before!

系統時間:2024-11-21 20:17:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!