[讨论] 循环结束后值却都一样

楼主: 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