Skip to content

Instantly share code, notes, and snippets.

@volkansalma
Created June 30, 2012 07:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save volkansalma/3022739 to your computer and use it in GitHub Desktop.
Save volkansalma/3022739 to your computer and use it in GitHub Desktop.
Return an anaglyph image of a right and left channel
// Return an anaglyph image of a right and left channel
// Author : Nicolas Bourré 20100927
IplImage * toAnaglyph(IplImage * imgLeft, IplImage *imgRight)
{
IplImage *iplReturn;
IplImage *l_R, * l_G, *l_B;
IplImage *r_R, * r_G, *r_B;
iplReturn = cvCreateImage( cvGetSize (imgLeft), 8, 3);
l_R = cvCreateImage( cvGetSize (imgLeft), 8, 1);
l_G = cvCreateImage( cvGetSize (imgLeft), 8, 1);
l_B = cvCreateImage( cvGetSize (imgLeft), 8, 1);
r_R = cvCreateImage( cvGetSize (imgLeft), 8, 1);
r_G = cvCreateImage( cvGetSize (imgLeft), 8, 1);
r_B = cvCreateImage( cvGetSize (imgLeft), 8, 1);
cvSplit(imgLeft, l_R, l_G, l_B, NULL);
cvSplit(imgRight, r_R, r_G, r_B, NULL);
cvMerge(r_R, r_G, l_B, NULL, iplReturn);
cvReleaseImage(&l_R);
cvReleaseImage(&l_G);
cvReleaseImage(&l_B);
cvReleaseImage(&r_R);
cvReleaseImage(&r_G);
cvReleaseImage(&r_B);
return iplReturn;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment