本文整理汇总了Python中cv2.reprojectImageTo3D方法的典型用法代码示例。如果您正苦于以下问题:Python cv2.reprojectImageTo3D方法的具体用法?Python cv2.reprojectImageTo3D怎么用?Python cv2.reprojectImageTo3D使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cv2
的用法示例。
在下文中一共展示了cv2.reprojectImageTo3D方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_3d
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import reprojectImageTo3D [as 别名]
def get_3d(cls, disparity, disparity_to_depth_map):
"""Compute point cloud."""
return cv2.reprojectImageTo3D(disparity, disparity_to_depth_map)
示例2: stereo_match
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import reprojectImageTo3D [as 别名]
def stereo_match(imgL, imgR):
# disparity range is tuned for 'aloe' image pair
window_size = 15
min_disp = 16
num_disp = 96 - min_disp
stereo = cv2.StereoSGBM_create(minDisparity=min_disp,
numDisparities=num_disp,
blockSize=16,
P1=8 * 3 * window_size ** 2,
P2=32 * 3 * window_size ** 2,
disp12MaxDiff=1,
uniquenessRatio=10,
speckleWindowSize=150,
speckleRange=32
)
# print('computing disparity...')
disp = stereo.compute(imgL, imgR).astype(np.float32) / 16.0
# print('generating 3d point cloud...',)
h, w = imgL.shape[:2]
f = 0.8 * w # guess for focal length
Q = np.float32([[1, 0, 0, -0.5 * w],
[0, -1, 0, 0.5 * h], # turn points 180 deg around x-axis,
[0, 0, 0, -f], # so that y-axis looks up
[0, 0, 1, 0]])
points = cv2.reprojectImageTo3D(disp, Q)
colors = cv2.cvtColor(imgL, cv2.COLOR_BGR2RGB)
mask = disp > disp.min()
out_points = points[mask]
out_colors = colors[mask]
append_ply_array(out_points, out_colors)
disparity_scaled = (disp - min_disp) / num_disp
disparity_scaled += abs(np.amin(disparity_scaled))
disparity_scaled /= np.amax(disparity_scaled)
disparity_scaled[disparity_scaled < 0] = 0
return np.array(255 * disparity_scaled, np.uint8)
示例3: get3DImageFromDisparity
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import reprojectImageTo3D [as 别名]
def get3DImageFromDisparity(self, disparity, Q):
"""
**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)
"""
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