Advertisement
Guest User

Untitled

a guest
Jul 14th, 2014
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. pImg_mdf = new BYTE [iWidth * iHeight];/// to store the difference image
  2. int N = 8; // block size 8x8
  3. int R = 16; //Range for searching 16x16 block
  4. int dy,dx;
  5. //int MAD_min = 256;
  6. for(int i=0; i<iHeight-N; i+N)
  7. for(int j=0; j<iWidth-N; j+N){
  8. int MAD_min=256*N*N, mvx=0,mvy=0;
  9. for(int k =-R;k<=R;k++)
  10. for(int l =-R;l<=R;l++){
  11.  
  12. int MAD=0;
  13. for(int p=i;p<=i+N-1;p++)
  14. for(int q=j;q<j+N-1;j++){
  15. if ((p+q > 0)&&(p+q < iHeight + 1)&&(q+l > 0)&&(q+l < Wp + 1))
  16. MAD += abs(pImg_f1[p*Wp+q] - pImg_f2[(p+k)*Wp+q+l]);
  17.  
  18. }
  19. MAD = MAD/N*N;
  20. if(MAD<MAD_min){
  21. MAD_min = MAD;
  22. dy = k;dx = l;
  23. }
  24. }
  25. for(int x=i;x<i+N-1;x++) ///store the best matching block
  26. for(int y=j;y<j+N-1;y++){
  27. pImg_mdf[x*Wp+y] = pImg_f2[(i+dy)*Wp+dx];
  28. pImg[x*Wp+y]= pImg_mdf[x*Wp+y];
  29. }
  30.  
  31.  
  32.  
  33.  
  34.  
  35. }
  36. OnDraw(GetDC());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement