Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- QImage StereoImageGenerator::makeStereo(const QImage & maskImage, const QImage & background)
- {
- int w = maskImage.width();
- int h = maskImage.height();
- int ** mask = new int * [w];
- for (int i = 0; i < w; i++)
- {
- mask[i] = new int[h];
- for (int j = 0; j < h; j++)
- {
- mask[i][j] = qRed(maskImage.pixel(i, j)) / 32;
- }
- }
- int s = 100;
- QImage stereoImage;
- if (background.isNull())
- stereoImage = genBackground(QSize(w + s, h), s);
- else
- stereoImage = background;
- for (int j = 0; j < h; j++)
- for (int i = 0; i < w; i++)
- if (mask[i][j] > 0)
- {
- QRgb pixel = stereoImage.pixel(i + mask[i][j], j);
- for (int k = i + s; i < w + s; i += s)
- stereoImage.setPixel(k, j, pixel);
- }
- for (int i = 0; i < w; i++)
- {
- delete mask[i];
- }
- delete mask;
- return stereoImage;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement