Advertisement
Guest User

Untitled

a guest
Sep 5th, 2011
537
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. QImage StereoImageGenerator::makeStereo(const QImage & maskImage, const QImage & background)
  2. {
  3.     int w = maskImage.width();
  4.     int h = maskImage.height();
  5.     int ** mask = new int * [w];
  6.     for (int i = 0; i < w; i++)
  7.     {
  8.         mask[i] = new int[h];
  9.         for (int j = 0; j < h; j++)
  10.         {
  11.             mask[i][j] = qRed(maskImage.pixel(i, j)) / 32;
  12.         }
  13.     }
  14.  
  15.     int s = 100;
  16.     QImage stereoImage;
  17.     if (background.isNull())
  18.         stereoImage = genBackground(QSize(w + s, h), s);
  19.     else
  20.         stereoImage = background;
  21.  
  22.  
  23.     for (int j = 0; j < h; j++)
  24.         for (int i = 0; i < w; i++)
  25.             if (mask[i][j] > 0)
  26.             {
  27.                 QRgb pixel = stereoImage.pixel(i + mask[i][j], j);
  28.                 for (int k = i + s; i < w + s; i += s)
  29.                     stereoImage.setPixel(k, j, pixel);
  30.             }
  31.     for (int i = 0; i < w; i++)
  32.     {
  33.         delete mask[i];
  34.     }
  35.     delete mask;
  36.     return stereoImage;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement