gpt4 book ai didi

opencv - SimpleBlobDetector 按区域过滤

转载 作者:行者123 更新时间:2023-12-02 17:51:19 25 4
gpt4 key购买 nike

我想检测一些 Blob ,但只有一定大小 - 在最小和最大区域之间。
当我这样设置参数时:

cv::SimpleBlobDetector::Params params;
params.filterByInertia = false;
params.filterByConvexity = false;
params.filterByColor = true;
params.blobColor = 0; //filter only black
params.filterByArea = true;
params.minArea = 10.0f;
params.maxArea = 20.0f; //I want the diameter of blob to be between those values

并检查结果检测到的每个 blob 的 keypoint.size 值,我看到检测到的 blob 尺寸非常小(小于 10)。我想得到的大 Blob (最小/最大区域之间的直径)被忽略了。考虑到应用了按区域过滤,为什么会这样?我对按区域过滤的理解是错误的,还是参数设置错误?
在调用detect() 之前是否需要以某种方式处理图像?

最佳答案

params.minAreaparams.maxArea 过滤 blob面积 如果我没记错的话,您目前正在搜索面积在 10 到 20 像素之间的 blob(请注意,这对于标准 480p 帧来说非常小)。

如果要按 过滤直径 ,使用这个(假设 Blob 是圆圈):

params.minArea = 3.14159 * 5.0f * 5.0f; // Min 10.0f diameter
params.minArea = 3.14159 * 10.0f * 10.0f; // Max 20.0f diameter

关于opencv - SimpleBlobDetector 按区域过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20466676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com