[討論] 迴圈結束後值卻都一樣

作者: OuOcc (歐瘀歐)   2015-08-10 04:01:58
X = imread('cameraman.tif');
y = zeros(size(X));
Qp=[16 11 10 16 24 40 51 61;12 12 14 19 26 58 60 55;
14 13 16 24 40 57 69 56;14 17 22 29 51 87 80 62;
18 22 37 56 68 109 103 77;24 35 55 64 81 104 113 92;
49 64 78 87 103 121 120 101;72 92 95 98 112 100 103 99];
y_value=[];
new_index=[];
zigzag=[1 1;1 2;2 1;3 1;2 2;1 3;1 4;2 3;3 2;4 1;5 1;4 2;3 3;2 4;1 5;1 6;2 5;3
4;4 3;5 2;6 1;7 1;6 2;5 3;4 4;3 5;2 6;1 7;1 8;2 7;3 6;4 5;5 4;6 3;7 2;8 1;8
2;7 3;6 4;5 5;4 6;3 7;2 8;3 8;4 7;5 6;6 5;7 4;8 3;8 4;7 5;6 6;5 7;4 8;5 8;6
7;7 6;8 5;8 6;7 7;6 8;7 8;8 7;8 8];
for i=1:8:249
for j=1:8:249
x = double(X(i:i+7,j:j+7));
n=length(x);
c=0:n-1;
for g=1:n;
if g==1;
a(:,g)=sqrt(1/n)*cos(pi*(2*c+1)*0/(2*n));
else
a(:,g)=sqrt(2/n)*cos(pi*(2*c+1)*(g-1)/(2*n));
end
end
y=a.*x.*a';
ii=round(y./Qp);
index_table=ii;
end
for c=1:1024
y_value(:,:,c)=ii;
end
end
請問一下為何最後我的y_value值都會完全一模一樣呢?
也就是說 第一段FOR那邊都沒成功的RUN,請問哪部分出問題呢?
作者: OuOcc (歐瘀歐)   2015-08-10 04:12:00
for c=1:1024 y_value(:,:,c)=ii; 目前出問題是這段只會一直存當C=1的值 我該如何讓每一個上面迴圈跑的值都能夠存進去呢?
作者: celestialgod (天)   2015-08-10 09:33:00
為什麼不在上面的迴圈每次跑y_value(:,:,k)=ii;迴圈外面加上k=1;y_value那行下方再加上k=k+1;
作者: s123123sam (~火火狗)   2015-08-10 22:17:00
for 邏輯不太對。把for 流程圖畫出來。會發現到只有j=249,會丟到y_value參數。i=1:8:249則覆蓋前面

Links booklink

Contact Us: admin [ a t ] ucptt.com