VideoHelp Forum




+ Reply to Thread
Results 1 to 3 of 3
  1. I recently purchased a 3D TV so I can (finally) watch 3D videos of the SBS (side-by-side) variety. As anyone who is into 3D knows, this type of video appears as 2 separate full color images per frame, which are located next to each other when viewed on a regular monitor. The images actually represent two slightly different perspectives, so a 3D TV can combine these 2 images into a single 3D image, which appears 3D when viewed using the LCD glasses.

    I have a number of old movies which use the "anaglyth" encoding method (ie. red-cyan). Is there any way to separate the anaglyth video into the 2 separate side-by-side video streams that a 3D TV needs to create its 3D effect?

    I tried googling it, but there does not appear to be anyone out there doing this? Can anyone here help me? Thanks.
    Quote Quote  
  2. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    Unfortunately, you're constrained by the severe loss incurred by storing a file as Anaglyph.

    However, you might have some luck by trying a process known as "de-anaglyph". Google it and you'll come across a few ways that may be enough to satisfy you. Better to go back to the origination point of your source files, and get true, full-color S3D files (whether SbS, or Over/Under, or Interlaced, etc). All of those can be MUCH more easily converted to what you'll want/need than anaglyph ever could.

    Scott
    Quote Quote  
  3. Yes you can undo the anaglyph. It works better with grayscale anaglyphs (where the two images were first converted to grayscale, then anaglyphed) than with color anaglyph (where one image is created by subtracting the red, the other by subtracting the green and blue, then the two images are joined into an anaglyph).

    This AviSynth script will undo a grayscale anaglyp (back to two grayscale images) and put them side by side:

    ImageSource("anaglyph.jpg")
    left = ShowRed().BicubicResize(width/2, height)
    right = ShowGreen().BicubicResize(width/2, height)
    StackHorizontal(left,right)

    ShowRed() turns the red channel into a new grayscale image. ShowGreen() does the same for the green channel. Then the two images are stacked horizontally.

    grayscale anaglyph:
    Click image for larger version

Name:	anaglyph.jpg
Views:	523
Size:	39.7 KB
ID:	7946

    side-by-side:
    Click image for larger version

Name:	sbs.jpg
Views:	552
Size:	35.9 KB
ID:	7947

    Of course, you can do this with a video by substituting the correct source filter for ImageSource(). Ie, AviSource(), DirectShowSource(), etc. Then you encode with a stereo aware encoder.
    Last edited by jagabo; 27th Jul 2011 at 08:39.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!