Advertisement
Guest User

Untitled

a guest
Apr 18th, 2015
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.83 KB | None | 0 0
  1. int getMedian(int* inBuffer, int width, int height, int xPos, int yPos)
  2. {
  3.     vector<int> vec;
  4.     for (int i = -1; i <= 1; i++)
  5.     {
  6.         for (int j = -1; j <= 1; j++)
  7.         {
  8.             vec.push_back(inBuffer[(j + yPos) * width + (i + xPos)]);
  9.         }
  10.     }
  11.  
  12.     sort(vec.begin(), vec.end());
  13.  
  14.     return vec[5];
  15.        
  16. }
  17.  
  18. /**
  19. * @brief Serial version of median filter.
  20. * @param inBuffer buffer of input image
  21. * @param outBuffer buffer of output image
  22. * @param width image width
  23. * @param height image height
  24. */
  25. void filter_serial_med(int* inBuffer, int* outBuffer, int width, int height)
  26. {
  27.     // TODO: PLACE CODE HERE
  28.     int median = 0;
  29.  
  30.     for (int i = 1; i < width - 1; i++)
  31.     {
  32.         for (int j = 1; j < height - 1; j++)
  33.         {
  34.             median = getMedian(inBuffer, width, height, i, j);
  35.             //cout << median << endl;
  36.             outBuffer[j * width + i] = median;
  37.         }
  38.     }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement