PDA

Tam Sürümünü Görmek İçin : OpenCV Yardım !


cshell
16/12/2007, 22:48
Selam arkadaşlar.OpenCV object detection da yardıma ihtiyacım var.Kahverengi masanın üstüne koyduğum beyaz kuru fasulyeleri algılatmak istiyorum fakat takıldığım yerler var.Mesela haarclassifier oluşturma ,detect etme, kordinat bilgilerini çekme anlatırsanız çok sevinirim.eminim aramızda ilgilenenler vardır..


bluekid
17/12/2007, 08:40
Yapmak istediğini daha açık yazarsan iyi olur.
Anladığım kadarıyla bir cevap yazıyorum :
haarclassifier'a ihtiyacın yok . cvBlobsLib işini görür
bakınız
http://www.goruntuisleme.org/index.php?option=com_content&task=view&id=33&Itemid=2
yazdığım örnek programı (http://derindelimavi.blogspot.com/2007/09/cvblobslib-etiketleme-ve-flopencv-05.html) kullanarak örnek resimlerinze bakıp deneye bilirsiniz.
kolay gelsin

cshell
17/12/2007, 23:51
evet aradığım buydu .
blob 0 -> a= 65169 p= 1528.01 ( -715.67 extern) pconvex= 1040.00 ext=1 m= 123.98 c=2.85 l= 666.18

a,p,m,c,l bunları anlayamadım

Teşekkürler bluekid.

bluekid
18/12/2007, 11:45
neyi anlmadığını da ben anlmadım :)
daha açık sorarmısın ?
cvBlobsLib ile alakalı ise dökümantasyonuna bak

kolay gelsin

cshell
18/12/2007, 14:54
FindsBlobs by Bluekid programında "Save Blobs" ile bir dosya oluşturuluyor ve o dosyanın içinde

--------------------------------------------------------------------------------------------
blob 0 -> a= 65169 p= 1528.01 ( -715.67 extern) pconvex= 1040.00 ext=1 m= 123.98 c=2.85 l= 666.18

--------------------------------------------------------------------------------------------

böyle bilgiler var..bulunan Blobların koordinatımı oluyor ? (Mesela m=123.98, c=2.85, l?666.18 yazıyor) bu kısmı tam anlayamadım..

bluekid
18/12/2007, 17:29
Şimdi oldu
bakınız cvBlobsLibs kaynak kodu
void CBlobResult::PrintBlobs( char *nom_fitxer )
kısmı
area = GetSTLResult( CBlobGetArea());
//perimetre = GetSTLResult( CBlobGetPerimeter());
perimetre = GetResult( CBlobGetPerimeter());
exterior = GetSTLResult( CBlobGetExterior());
mitjana = GetSTLResult( CBlobGetMean());
compacitat = GetSTLResult(CBlobGetCompactness());
longitud = GetSTLResult( CBlobGetLength());
externPerimeter = GetSTLResult( CBlobGetExternPerimeter());
perimetreConvex = GetSTLResult( CBlobGetHullPerimeter());
...
fprintf( fitxer_sortida, "blob %d ->\t a=%7.0f\t p=%8.2f (%8.2f extern)\t pconvex=%8.2f\t ext=%.0f\t m=%7.2f\t c=%3.2f\t l=%8.2f\n", i, area[i], perimetre(i), externPerimeter[i], perimetreConvex[i], exterior[i], mitjana[i], compacitat[i], longitud[i] );


kolay gelsin