Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ximgproc\u DisparityWLSFilter.filter()参数是什么?_Python_Opencv_Disparity Mapping - Fatal编程技术网

Python ximgproc\u DisparityWLSFilter.filter()参数是什么?

Python ximgproc\u DisparityWLSFilter.filter()参数是什么?,python,opencv,disparity-mapping,Python,Opencv,Disparity Mapping,我从cv2.ximgproc.createDisparityWLSFilter(左匹配器)中获得一个ximgproc\u DisparityWLSFilter, 但是我无法让ximgproc\u DisparityWLSFilter.filter()工作 我得到的错误是 OpenCV错误:在CV::ximgproc::DisparityWLFilterImpl::filter,file…\OpenCV\u contrib\modules\ximgproc\src\disparity\u filt

我从
cv2.ximgproc.createDisparityWLSFilter(左匹配器)
中获得一个
ximgproc\u DisparityWLSFilter
, 但是我无法让
ximgproc\u DisparityWLSFilter.filter()
工作

我得到的错误是

OpenCV错误:在CV::ximgproc::DisparityWLFilterImpl::filter,file…\OpenCV\u contrib\modules\ximgproc\src\disparity\u filters.cpp,第262行,断言失败(!disparity\u-map\u-right.empty()&&&&(disparity\u-map\u-right.depth()==CV\u 16S)&&&(disparity\u-map\u-right.channels()==1))


一般来说,当“ximgproc_DisparityWLSFilter”没有一个谷歌结果时,我该如何使用它呢

< P>与C++不同,Python与指针不太协调。所以争论是

Filtered\u disp=ximgproc\u DisparityWLSFilter.filter(left\u disp,left,None,right\u disp)

请注意,它在Python中不再是一个void函数


不过,我是通过反复试验才发现这一点的。

我也遇到了这个问题,您需要做的是首先创建过滤器。然后你可以过滤。。。希望这是有道理的。下面是我在Python 3.6 opencv3.4.2上测试的代码片段

wls = cv2.ximgproc.createDisparityWLSFilter(left_Matcher)
filteredDisp = wls.filter(leftStereoComputeOutput, leftOriginalImage, disparity_map_right=rightStereoComputeOutput)
为了弄清楚这一点是如何工作的,我必须查看文档以及其他人在Github上实现了什么,然后连接这些部分。大量的尝试和错误

筛选器的参数包括:

Python:
filtered_disparity_map  =   cv.ximgproc_DisparityFilter.filter( disparity_map_left, left_view[, filtered_disparity_map[, disparity_map_right[, ROI[, right_view]]]] )
参数:

左侧视差贴图左侧视图的视差贴图,1通道,CV_16S类型。隐式假设视差值按16缩放(一个像素视差对应于视差贴图中的16值)。视差贴图可以有任何分辨率,它将自动调整大小以适应左视图分辨率

左视图用于指导过滤过程的原始立体声对的左视图,8位单声道或三声道图像

过滤的视差图输出视差图

视差图\u right可选参数,例如,某些实现可能还使用右视图的视差图来计算置信度图

要过滤的视差贴图的ROI区域。可选,通常应自动设置

右视图可选参数,某些实现可能还使用原始立体声对的右视图


上述参数可在

哪里获得
rightStereoComputeOutput
?SGBM和SBM只返回左侧视差。什么是
左侧匹配器
?我一直在看文档,不太清楚那部分。嘿,马特和吉吉,我要用一些代码更新我的答案,这样你就有了一些上下文。我本来打算这么做的,但我似乎花了很长时间才找到这篇文章。对于您的每个问题(据我所知):jiggy-rightStereoComputeOutput只是一个变量,我是根据Distance\u map\u right可选参数命名的。它的计算方法类似于你如何得到视差图,只是你翻转了照片。马特-我希望我面前有一个代码库,但我一辈子都记不起那是什么道歉