python - python中的Opencv + blob

标签 python opencv blobs

我需要一些关于opencv(python)中的blob的帮助。

事情是这样的:

我已经编写了可以正常工作的预处理函数,它们隔离感兴趣的区域并返回一个阈值图像,其中这些区域是白色的,其余的是黑色的。问题是,我只对白色区域感兴趣,但无论我做什么,我都会不断地将背景变成一个 Blob 。
我无法按大小过滤,因为我不知道对象有多远。

有没有办法只处理白色 Blob ?

这是我现在所拥有的要点:

mask = cv.cvCreateImage(frame_size,8,1)
cvSet(mask,1)
.
.
.
blob_a_matches = CBlobResult(blob_a,mask,100, True)
blob_a_matches.filter_blobs(10, 1000)
for i in range(blob_a_matches.GetNumBlobs()):
    numbered_blob = blob_a_matches.GetBlob(i)
    area = numbered_blob.Area()
    .
    .
    .

除了背景也被视为 blob 的事实之外,这是可行的。

最佳答案

CvSet 是一个类 - 所以不确定第二行在做什么。在 Python 中也没有原生的 Blob - 这是正在返回的 cv.CvSet 还是 cv.CvSeq 序列?

或者您是否在阈值处理后找到轮廓 - 然后像在 contours.py 示例中那样遍历它们?这可能是一个更好的方法......

关于python - python中的Opencv + blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4197242/

相关文章:

linux - BeagleBoard Narcissus 工具链与 OpenCv 问题

image-processing - OpenCV: Blob 周围的轮廓不正确

python - 如何在 Selenium webdriver 中录制视频

python - 在postgresql中存储一个大矩阵并在python中操作它

python - 带唤醒词的 Google Python 语音识别

c++ - 逆矩阵 OpenCV。 Matrix.inv() 无法正常工作

c - 从一个发射器到接收器用 C 读写文件(视频或图片格式)

python - 如何决定在不使用 'if' 语句的情况下创建子类

android - 计数物体和更好的填充孔的方法