2010-11-16 69 views
1

我需要一点opencv(python)中的blob帮助。python中的opencv + 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过治疗的事实,这个工程。

回答

0

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

或者你是否在找到阈值后找到轮廓 - 然后遍历它们,就像在contour.py例子中那样?这可能是更好的方法...