作者OuOcc (分析师)
看板MATLAB
标题[讨论] 回圈结束後值却都一样
时间Mon Aug 10 04:01:58 2015
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,请问哪部分出问题呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.58.176.226
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1439150521.A.58A.html
1F:→ OuOcc: for c=1:1024 y_value(:,:,c)=ii; 目前出问题是这段 08/10 04:12
2F:→ OuOcc: 只会一直存当C=1的值 我该如何让每一个上面回圈 08/10 04:13
3F:→ OuOcc: 跑的值都能够存进去呢? 08/10 04:13
4F:→ celestialgod: 为什麽不在上面的回圈每次跑y_value(:,:,k)=ii; 08/10 09:33
5F:→ celestialgod: 回圈外面加上k=1;y_value那行下方再加上k=k+1; 08/10 09:33
6F:→ s123123sam: for 逻辑不太对。把for 流程图画出来。会发现到 08/10 22:17
7F:→ s123123sam: 只有j=249,会丢到y_value参数。i=1:8:249则覆盖前面 08/10 22:21