'**SUMMARY**
This method returns the 3D depth image using reprojectImageTo3D method.
**PARAMETERS**
* *disparity* - Disparity Image
* *Q* - reprojection Matrix (disparity to depth matrix)
**RETURNS**
SimpleCV.Image representing 3D depth Image
also StereoCamera.Image3D gives OpenCV 3D Depth Image of CV_32F type.
**EXAMPLE**
>>> lImage = Image("l.jpg")
>>> rImage = Image("r.jpg")
>>> stereo = StereoCamera()
>>> Q = cv.Load("Q.yml")
>>> disp = stereo.findDisparityMap()
>>> stereo.get3DImageFromDisparity(disp, Q)'

def get3DImageFromDisparity(self, disparity, Q):

    cv2flag = True
    try:
        import cv2
    except ImportError:
        cv2flag = False
        import cv2.cv as cv
    if cv2flag:
        if (not isinstance(Q, np.ndarray)):
            Q = np.array(Q)
        disparity = disparity.getNumpyCv2()
        Image3D = cv2.reprojectImageTo3D(disparity, Q, ddepth=cv2.cv.CV_32F)
        Image3D_normalize = cv2.normalize(Image3D, alpha=0, beta=255, norm_type=cv2.cv.CV_MINMAX, dtype=cv2.cv.CV_8UC3)
        retVal = Image(Image3D_normalize, cv2image=True)
    else:
        disparity = disparity.getMatrix()
        Image3D = cv.CreateMat(self.LeftImage.size()[1], self.LeftImage.size()[0], cv2.cv.CV_32FC3)
        Image3D_normalize = cv.CreateMat(self.LeftImage.size()[1], self.LeftImage.size()[0], cv2.cv.CV_8UC3)
        cv.ReprojectImageTo3D(disparity, Image3D, Q)
        cv.Normalize(Image3D, Image3D_normalize, 0, 255, cv.CV_MINMAX, CV_8UC3)
        retVal = Image(Image3D_normalize)
    self.Image3D = Image3D
    return retVal
