0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 function imagen = do_overlapping(Im,M,N,ov)
0012
0013
0014 p=pesos_overlapping(M,N,ov);
0015
0016 [nv nh]=size(Im);
0017
0018 nhor = nh/M;
0019 nver = nv/M;
0020
0021 imagen = zeros(nhor*N,nver*N);
0022
0023
0024
0025 for i=2:nver-1
0026 for j=2:nhor-1
0027 cf = 1;
0028 Algo = zeros(2*N+M);
0029 SumaPesos = zeros(2*N+M);
0030 for k=i-1:i+1
0031 cc = 1;
0032 for r=j-1:j+1
0033 B = Im( (k-1)*M+1:k*M, (r-1)*M+1:r*M);
0034 B = B.*p;
0035
0036 Algo(cf:cf+M-1,cc:cc+M-1) = Algo(cf:cf+M-1,cc:cc+M-1)+B;
0037 SumaPesos(cf:cf+M-1,cc:cc+M-1) = SumaPesos(cf:cf+M-1,cc:cc+M-1) +p;
0038 cc = cc+N;
0039 end
0040 cf = cf + N;
0041 end
0042
0043 Algo(SumaPesos~=0) = Algo(SumaPesos~=0)./SumaPesos(SumaPesos~=0);
0044
0045 Bloque = Algo(M/2+N/2+1:M/2+N/2+N,M/2+N/2+1:M/2+N/2+N);
0046
0047 imagen ((i-1)*N+1:i*N,(j-1)*N+1:j*N) = Bloque;
0048
0049 end
0050 end
0051
0052
0053
0054
0055 i=1;
0056
0057 for j=2:nhor-1
0058 cf = 1;
0059 Algo = zeros(M+N,2*N+M);
0060 SumaPesos = zeros(M+N,2*N+M);
0061 for k=i:i+1
0062 cc = 1;
0063 for r=j-1:j+1
0064 B = Im( (k-1)*M+1:k*M, (r-1)*M+1:r*M);
0065 B = B.*p;
0066
0067 Algo(cf:cf+M-1,cc:cc+M-1) = Algo(cf:cf+M-1,cc:cc+M-1)+B;
0068 SumaPesos(cf:cf+M-1,cc:cc+M-1) = SumaPesos(cf:cf+M-1,cc:cc+M-1) +p;
0069 cc = cc+N;
0070 end
0071 cf = cf + N;
0072 end
0073
0074 Algo(SumaPesos~=0) = Algo(SumaPesos~=0)./SumaPesos(SumaPesos~=0);
0075
0076 Bloque = Algo(M/2-N/2+1:M/2-N/2+N,M/2+N/2+1:M/2+N/2+N);
0077
0078 imagen ((i-1)*N+1:i*N,(j-1)*N+1:j*N) = Bloque;
0079
0080 end
0081
0082
0083
0084
0085 i=nver;
0086
0087 for j=2:nhor-1
0088 cf = 1;
0089 Algo = zeros(M+N,2*N+M);
0090 SumaPesos = zeros(M+N,2*N+M);
0091 for k=i-1:i
0092 cc = 1;
0093 for r=j-1:j+1
0094 B = Im( (k-1)*M+1:k*M, (r-1)*M+1:r*M);
0095 B = B.*p;
0096
0097 Algo(cf:cf+M-1,cc:cc+M-1) = Algo(cf:cf+M-1,cc:cc+M-1)+B;
0098 SumaPesos(cf:cf+M-1,cc:cc+M-1) = SumaPesos(cf:cf+M-1,cc:cc+M-1) +p;
0099 cc = cc+N;
0100 end
0101 cf = cf + N;
0102 end
0103
0104 Algo(SumaPesos~=0) = Algo(SumaPesos~=0)./SumaPesos(SumaPesos~=0);
0105
0106 Bloque = Algo(M/2+N/2+1:M/2+N/2+N,M/2+N/2+1:M/2+N/2+N);
0107
0108 imagen ((i-1)*N+1:i*N,(j-1)*N+1:j*N) = Bloque;
0109
0110 end
0111
0112
0113
0114
0115
0116 j=1;
0117
0118 for i=2:nver-1
0119 cf = 1;
0120 Algo = zeros(2*N+M,M+N);
0121 SumaPesos = zeros(2*N+M,M+N);
0122 for k=i-1:i+1
0123 cc = 1;
0124 for r=j:j+1
0125 B = Im( (k-1)*M+1:k*M, (r-1)*M+1:r*M);
0126 B = B.*p;
0127
0128 Algo(cf:cf+M-1,cc:cc+M-1) = Algo(cf:cf+M-1,cc:cc+M-1)+B;
0129 SumaPesos(cf:cf+M-1,cc:cc+M-1) = SumaPesos(cf:cf+M-1,cc:cc+M-1) +p;
0130 cc = cc+N;
0131 end
0132 cf = cf + N;
0133 end
0134
0135 Algo(SumaPesos~=0) = Algo(SumaPesos~=0)./SumaPesos(SumaPesos~=0);
0136
0137 Bloque = Algo(M/2+N/2+1:M/2+N/2+N,M/2-N/2+1:M/2-N/2+N);
0138
0139 imagen ((i-1)*N+1:i*N,(j-1)*N+1:j*N) = Bloque;
0140
0141 end
0142
0143
0144
0145
0146 j=nhor;
0147
0148 for i=2:nver-1
0149 cf = 1;
0150 Algo = zeros(2*N+M,M+N);
0151 SumaPesos = zeros(2*N+M,M+N);
0152 for k=i-1:i+1
0153 cc = 1;
0154 for r=j-1:j
0155 B = Im( (k-1)*M+1:k*M, (r-1)*M+1:r*M);
0156 B = B.*p;
0157
0158 Algo(cf:cf+M-1,cc:cc+M-1) = Algo(cf:cf+M-1,cc:cc+M-1)+B;
0159 SumaPesos(cf:cf+M-1,cc:cc+M-1) = SumaPesos(cf:cf+M-1,cc:cc+M-1) +p;
0160 cc = cc+N;
0161 end
0162 cf = cf + N;
0163 end
0164
0165 Algo(SumaPesos~=0) = Algo(SumaPesos~=0)./SumaPesos(SumaPesos~=0);
0166
0167 Bloque = Algo(M/2+N/2+1:M/2+N/2+N,M/2+N/2+1:M/2+N/2+N);
0168
0169 imagen ((i-1)*N+1:i*N,(j-1)*N+1:j*N) = Bloque;
0170
0171 end
0172
0173
0174
0175
0176
0177 cf = 1;
0178 Algo = zeros(M+N,M+N);
0179 SumaPesos = zeros(M+N,M+N);
0180
0181 i=1;
0182 j=1;
0183
0184 for k=i:i+1
0185 cc = 1;
0186 for r=j:j+1
0187 B = Im( (k-1)*M+1:k*M, (r-1)*M+1:r*M);
0188 B = B.*p;
0189
0190 Algo(cf:cf+M-1,cc:cc+M-1) = Algo(cf:cf+M-1,cc:cc+M-1)+B;
0191 SumaPesos(cf:cf+M-1,cc:cc+M-1) = SumaPesos(cf:cf+M-1,cc:cc+M-1) +p;
0192 cc = cc+N;
0193 end
0194 cf = cf + N;
0195 end
0196
0197 Algo(SumaPesos~=0) = Algo(SumaPesos~=0)./SumaPesos(SumaPesos~=0);
0198
0199 Bloque = Algo(M/2-N/2+1:M/2-N/2+N,M/2-N/2+1:M/2-N/2+N);
0200
0201 imagen ((i-1)*N+1:i*N,(j-1)*N+1:j*N) = Bloque;
0202
0203
0204
0205
0206
0207 cf = 1;
0208 Algo = zeros(M+N,M+N);
0209 SumaPesos = zeros(M+N,M+N);
0210
0211 i=1;
0212 j=nhor;
0213
0214 for k=i:i+1
0215 cc = 1;
0216 for r=j-1:j
0217 B = Im( (k-1)*M+1:k*M, (r-1)*M+1:r*M);
0218 B = B.*p;
0219
0220 Algo(cf:cf+M-1,cc:cc+M-1) = Algo(cf:cf+M-1,cc:cc+M-1)+B;
0221 SumaPesos(cf:cf+M-1,cc:cc+M-1) = SumaPesos(cf:cf+M-1,cc:cc+M-1) +p;
0222 cc = cc+N;
0223 end
0224 cf = cf + N;
0225 end
0226
0227 Algo(SumaPesos~=0) = Algo(SumaPesos~=0)./SumaPesos(SumaPesos~=0);
0228
0229 Bloque = Algo(M/2-N/2+1:M/2-N/2+N,M/2+N/2+1:M/2+N/2+N);
0230
0231 imagen ((i-1)*N+1:i*N,(j-1)*N+1:j*N) = Bloque;
0232
0233
0234
0235
0236
0237 cf = 1;
0238 Algo = zeros(M+N,M+N);
0239 SumaPesos = zeros(M+N,M+N);
0240
0241 i=nver;
0242 j=1;
0243
0244 for k=i-1:i
0245 cc = 1;
0246 for r=j:j+1
0247 B = Im( (k-1)*M+1:k*M, (r-1)*M+1:r*M);
0248 B = B.*p;
0249
0250 Algo(cf:cf+M-1,cc:cc+M-1) = Algo(cf:cf+M-1,cc:cc+M-1)+B;
0251 SumaPesos(cf:cf+M-1,cc:cc+M-1) = SumaPesos(cf:cf+M-1,cc:cc+M-1) +p;
0252 cc = cc+N;
0253 end
0254 cf = cf + N;
0255 end
0256
0257 Algo(SumaPesos~=0) = Algo(SumaPesos~=0)./SumaPesos(SumaPesos~=0);
0258
0259 Bloque = Algo(M/2+N/2+1:M/2+N/2+N,M/2-N/2+1:M/2-N/2+N);
0260
0261 imagen ((i-1)*N+1:i*N,(j-1)*N+1:j*N) = Bloque;
0262
0263
0264
0265
0266
0267 cf = 1;
0268 Algo = zeros(M+N,M+N);
0269 SumaPesos = zeros(M+N,M+N);
0270
0271 i=nver;
0272 j=nhor;
0273
0274 for k=i-1:i
0275 cc = 1;
0276 for r=j-1:j
0277 B = Im( (k-1)*M+1:k*M, (r-1)*M+1:r*M);
0278 B = B.*p;
0279
0280 Algo(cf:cf+M-1,cc:cc+M-1) = Algo(cf:cf+M-1,cc:cc+M-1)+B;
0281 SumaPesos(cf:cf+M-1,cc:cc+M-1) = SumaPesos(cf:cf+M-1,cc:cc+M-1) +p;
0282 cc = cc+N;
0283 end
0284 cf = cf + N;
0285 end
0286
0287 Algo(SumaPesos~=0) = Algo(SumaPesos~=0)./SumaPesos(SumaPesos~=0);
0288
0289 Bloque = Algo(M/2+N/2+1:M/2+N/2+N,M/2+N/2+1:M/2+N/2+N);
0290
0291 imagen ((i-1)*N+1:i*N,(j-1)*N+1:j*N) = Bloque;
0292
0293
0294
0295
0296