重复法还原:
奇数场:
[a,b,c,d] = size(odd1(:,:,:,1));
for i=1:a
if mod(i,2)==1
Weven1(i,:,:)=odd1(i,:,:,1);
else
if i==2
Weven1(i,:,:)=even1(i,:,:,1);
else
k = i-1;
Weven1(i,:,:)=odd1(k,:,:,1);
end
end
end
偶数场:
[a,b,c,d] = size(even1(:,:,:,1));
for i=1:a
if mod(i,2)==1
Wodd1(i,:,:)=even1(i,:,:,1);
else
if i==1
Wodd1(i,:,:)=odd1(i,:,:,1);
else
k = i-1;
Wodd1(i,:,:)=even1(k,:,:,1);
end
end
end
平均法还原:
奇数场:
[a,b,c,d] = size(odd1(:,:,:,1));
for i=1:a
if i<=1
Wodd2(i,:,:)=odd1(i,:,:,1);
else
if mod(i,2)==1
Wodd2(i,:,:)=odd1(i,:,:,1);
else
for j=1:b
w1(i,j,:)=odd1(i+1,j,:)+odd1(i-1,j,:);
Wodd2(i,j,:)=w1(i,j,:)*0.5;
end
end
end
end
偶数场:
[a,b,c,d] = size(even1(:,:,:,1));
for i=1:a
if i<=1
Weven2(i,:,:)=odd1(i,:,:,1);
else
if mod(i,2)==0
Weven2(i,:,:)=even1(i,:,:,1);
else
for j=1:b
w1(i,j,:)=even1(i+1,j,:)+even1(i-1,j,:);
Weven2(i,j,:)=w1(i,j,:)*0.5;
end
end
end
end
奇偶场合并还原:
[a,b,c,d]=size(even1(:,:,:,1));
for i=1:a-1
if mod(i,2)==1
w2(i,:,:)=odd1(i,:,:,1);
end
end
for i=1:a
if mod(i,2)==0
w1(i,:,:)=even1(i,:,:,1);
end
end
for i=1:a
for j=1:b
for k=1:c
w3(i,j,k)=w1(i,j,k)+w2(i,j,k);
end
end
end
imshow(w3);title('奇偶场合并还原')
奇数场:
[a,b,c,d] = size(odd1(:,:,:,1));
for i=1:a
if mod(i,2)==1
Weven1(i,:,:)=odd1(i,:,:,1);
else
if i==2
Weven1(i,:,:)=even1(i,:,:,1);
else
k = i-1;
Weven1(i,:,:)=odd1(k,:,:,1);
end
end
end
偶数场:
[a,b,c,d] = size(even1(:,:,:,1));
for i=1:a
if mod(i,2)==1
Wodd1(i,:,:)=even1(i,:,:,1);
else
if i==1
Wodd1(i,:,:)=odd1(i,:,:,1);
else
k = i-1;
Wodd1(i,:,:)=even1(k,:,:,1);
end
end
end
平均法还原:
奇数场:
[a,b,c,d] = size(odd1(:,:,:,1));
for i=1:a
if i<=1
Wodd2(i,:,:)=odd1(i,:,:,1);
else
if mod(i,2)==1
Wodd2(i,:,:)=odd1(i,:,:,1);
else
for j=1:b
w1(i,j,:)=odd1(i+1,j,:)+odd1(i-1,j,:);
Wodd2(i,j,:)=w1(i,j,:)*0.5;
end
end
end
end
偶数场:
[a,b,c,d] = size(even1(:,:,:,1));
for i=1:a
if i<=1
Weven2(i,:,:)=odd1(i,:,:,1);
else
if mod(i,2)==0
Weven2(i,:,:)=even1(i,:,:,1);
else
for j=1:b
w1(i,j,:)=even1(i+1,j,:)+even1(i-1,j,:);
Weven2(i,j,:)=w1(i,j,:)*0.5;
end
end
end
end
奇偶场合并还原:
[a,b,c,d]=size(even1(:,:,:,1));
for i=1:a-1
if mod(i,2)==1
w2(i,:,:)=odd1(i,:,:,1);
end
end
for i=1:a
if mod(i,2)==0
w1(i,:,:)=even1(i,:,:,1);
end
end
for i=1:a
for j=1:b
for k=1:c
w3(i,j,k)=w1(i,j,k)+w2(i,j,k);
end
end
end
imshow(w3);title('奇偶场合并还原')