我是python和opencv的新手,我想创建一个跟踪栏来控制函数cv2.findContours的层次结构但我不知道如何将它添加到源代码中她是代码:
import cv2
import cv2.cv as cv
cv2.namedWindow("test")
vc = cv2.VideoCapture(2);
retVal, frame = vc.read();
while True:
if frame is not None:
imgray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,127,255,0)
contours, hierarchy = cv2.findContours(thresh,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(frame, contours, -1, (0,255,0), 2)
cv2.imshow("test", frame)
rval, frame = vc.read()
if cv2.waitKey(1) & 0xFF == 27:
break
cv.DestroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
先感谢您
我正在使用 OpenCP 和 Python 进行 3D 重建和距离测量。我为左相机生成视差图,然后我使用这个公式来计算距离:
D=(f*b/disp)
Run Code Online (Sandbox Code Playgroud)
其中f是焦距,b是 2 个相机之间的距离,disp是视差图的矩阵。
我的问题是:
我得到的数字,它们应该是图片中每个点的距离吗?
使用此方法可以获得的最大距离是多少(例如,在我的项目中,我获得的最大数量是 110)?
img_L = cv2.pyrDown( cv2.imread(Li) )
img_R = cv2.pyrDown( cv2.imread(Ri) )
'''h, w = img_L.shape[:2]
diff=(6,6,6)
mask=np.zeros((h+2,w+2),np.uint8)
window_size = 3
min_disp = 16
num_disp = 112-min_disp
stereo = cv2.StereoSGBM(minDisparity = min_disp,
numDisparities = num_disp,
SADWindowSize = window_size,
uniquenessRatio = 10,
speckleWindowSize = 100,
speckleRange = 32,
disp12MaxDiff = 1,
P1 = 8*3*window_size**2,
P2 = 32*3*window_size**2,
fullDP = False
)
print …Run Code Online (Sandbox Code Playgroud)