OpenCV替代MATLAB的rangefilt功能

时间:2013-12-05 22:07:39

标签: matlab opencv

OpenCV中是否有一个函数完全符合rangefilt在MATLAB中的作用?

我已经浏览过OpenCV Image Filtering documentation,但无法找到符合rangefilt功能的内容。 filter2D函数与内核(线性操作)进行卷积,因此这似乎不适用。

1 个答案:

答案 0 :(得分:2)

当应用于灰度图像时,请考虑erodedilate函数分别为最小和最大滤镜。

例如,以下是OpenCV文档中的侵蚀等式:

enter image description here

和扩张:

enter image description here

只需在文档中定义邻域(kernel / element),就像使用假设范围过滤器一样,将erodedilate并行应用于源图像I获取两张新图片ED,并减去D-E以获得该范围。

erodedilate的OpenCV文档外,请查看this tutorial on erosion and dilation in OpenCV,其中包含示例代码 [repo link]。请注意,如果未指定结构元素,则默认值为3x3矩阵。使用getStructuringElement创建结构元素时,最有可能的形状是MORPH_RECT;如果没有指定,锚点自动成为中心,方便;你只需要指定尺寸。