HiMI.m
上传用户:xueli1969
上传日期:2022-07-27
资源大小:19k
文件大小:1k
源码类别:

通讯编程文档

开发平台:

Matlab

  1. % -- use a 9th vector as a pixel
  2. % -- cal MI as stastic on pixels
  3. function HiMI = HiMI(Is0, It0)
  4. % - read images
  5. % load ../MItest/t2.mat;
  6. %Is0 , It0
  7. [rt ct]=size(It0);
  8. [rs cs] = size(Is0);
  9. if rt>rs ||ct>cs
  10.     x1 = (ct-cs)/2+1;
  11.     x2 = cs+x1-1; 
  12.     It0=It0([x1:x2],[x1:x2]);
  13. end
  14. % - replace images to 9th images, a pixel-> 9th vector
  15. Is9 = i_9th(Is0);
  16. It9 = i_9th(It0);
  17. % - cal MI over the new images
  18. % MI0 = calMI_tian_1(double(Is0(2:(r-1),2:(c-1))), double(It0(2:(r-1),2:(c-1))));
  19. %MI9 = calMI_tian_1(double(Is9), double(It9));
  20. MI9 = MI(double(Is9), double(It9));
  21. HiMI = MI9;
  22. % - disp MI
  23. % figure, imshow(RIs);
  24. % RIr = get_Rect(Ir, my_Rect);
  25. % figure, imshow(RIr);
  26. % figure,plot(MI);
  27. function I9 = i_9th(I0)
  28. [row col]=size(I0);
  29. %I9=zeros((row-1)*9,(col-1));
  30. %for i = 2:(row-1)
  31. %    for j=2:(col-1)
  32. %%         p = I0(i,j);
  33. %        i9 = (i-1)*9;
  34. %       j9 = j-1;
  35. %        V = I0((i-1):(i+1),(j-1):(j+1));
  36. %        I9((i9-8):i9,j9) = V(:);
  37.         
  38.       i = [2:(row-1)]; j = [2:(col-1)];    
  39.     Pa1 = I0(i-1, j-1)';
  40.     Pa2 = I0(i,   j-1)';
  41.     Pa3 = I0(i+1, j-1)';
  42.     Pa4 = I0(i-1, j  )';
  43.     Pa5 = I0(i,   j  )';
  44.     Pa6 = I0(i+1, j  )';
  45.     Pa7 = I0(i-1, j+1)';
  46.     Pa8 = I0(i,   j+1)';
  47.     Pa9 = I0(i+1, j+1)';
  48.         I9 = [ Pa1(:)'; Pa2(:)';Pa3(:)'; Pa4(:)';...
  49.           Pa5(:)'; Pa6(:)';Pa7(:)'; Pa8(:)'; Pa9(:)'];
  50.     end
  51. end