Advertisement
Guest User

Untitled

a guest
May 30th, 2015
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. function [resultat2] = difference(image1, image2)
  2. %llegir les dues imatges
  3. I1 = imread(image1);
  4. I2 = imread(image2);
  5. %creem una matriu amb les diferencies per a R, G i B de cada pixel, i
  6. %decidir si allò és o no part de l'objecte
  7. DifersR = abs(I1(:,:,1)-I2(:,:,1));
  8. DifersG = abs(I1(:,:,2)-I2(:,:,2));
  9. DifersB = abs(I1(:,:,3)-I2(:,:,3));
  10. Obj = zeros(size(I1,1), size(I1,2));
  11. objecte = zeros(size(I1,1), size(I1,2), 3);
  12. minx = 0;
  13. miny = 0;
  14. maxx = 0;
  15. maxy = 0;
  16. mat1 = int32(zeros(4096,4));
  17. mid1 = 0;
  18. mid2 = 0;
  19. for k = 1:4096
  20. mat1(k,1) = fix((k-1)/(256))*16;
  21. mat1(k,2) = mod(fix((k-1)/16),16)*16;
  22. mat1(k,3) = mod(k-1,16)*16;
  23. end
  24. mat2 = mat1;
  25. for i = 1:size(I1,1)
  26. for j = 1:size(I1,2)
  27. %col1 = int32(I1(i,j,:));
  28. %vaa1 = int32(idivide(col1(1,1,1),16,'floor')*256+idivide(col1(1,1,2),16,'floor')*16+idivide(col1(1,1,3),16,'floor')+1);
  29. %if(mat1(vaa1,4) == 0)
  30. % mid1 = mid1+1;
  31. %end
  32. %mat1(vaa1,4) = mat1(vaa1,4)+1;
  33. if (DifersR(i,j) > 40 || DifersG(i,j) > 40 || DifersB(i,j) > 40)
  34. Obj(i,j) = 1;
  35. objecte(i,j,:) = I2(i,j,:);
  36. if (minx == 0 || i < minx)
  37. minx = i;
  38. end
  39. if (miny == 0 || j < miny)
  40. miny = j;
  41. end
  42. if (maxx == 0 || i > maxx)
  43. maxx = i;
  44. end
  45. if (maxy == 0 || j > maxy)
  46. maxy = j;
  47. end
  48. col2 = int32(I2(i,j,:));
  49. vaa2 = int32(idivide(col2(1,1,1),16,'floor')*256+idivide(col2(1,1,2),16,'floor')*16+idivide(col2(1,1,3),16,'floor')+1);
  50. if(mat2(vaa2,4) == 0)
  51. mid2 = mid2+1;
  52. end
  53. mat2(vaa2,4) = mat2(vaa2,4)+1;
  54. end
  55. end
  56. end
  57. IFinal = zeros((maxx-minx+1), (maxy-miny+1));
  58. for i = 1:maxx-minx
  59. for j = 1:maxy-miny
  60. IFinal(i,j) = Obj(minx+i-1, miny+j-1);
  61. end
  62. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement