Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

C++ / Bildverarbeitung / Mustererkennung / Kugelregeneration

Chakhi / 0 Antworten / Baumansicht Nickles

hi,

ich habe ein abgescanntes Model und darauf sin Kugeln, die Kugeln reflektiren! das Model wird als ein Polygon gelesen und ich habe alle Farbwerte und auch x-, y- und z-Koordinaten von den Punkten! Ich habe jetzt auch die Breiche gefunden, wo die Kugelen sind! also ich habe jetzt das Bild dunkel gemacht und nur die hellen bereichen von den Kugeln sind zu sehen! aber das sind keine Kreise sondern Halbkreise (eigentlich Halbkugel)
Auf meinem Bild habe ich jetzt 3 verschidene Mengen von diesem Pnktwolken und möchte gerne jetzt die Kugelen ganz regenerieren anhand der sichtbaren Punkten!
Radius von meiner Kugel ist auch bekannt, 1cm!

hier lese ich die Punkte und finde die Punktwolken die den Kugeln gehören:
.
.
.

union bildpunkt
{
unsigned long p;
unsigned char b[4];
};
bildpunkt pixel;

for (long int i = 0; i width * cam3d->height; i++)//das gesamte bild
{
if (cam3d->vtx[i].position.x == INVALID_DATA_3D)
{
/* an dieser xy Position keine z Tiefeninfo gemessen */
}
else
{
// KOORDINATE
punkt[0]=cam3d->vtx[i].position.x;
punkt[1]=cam3d->vtx[i].position.y;
punkt[2]=cam3d->vtx[i].position.z;

punkte->InsertPoint(pkt_id,punkt[0],punkt[1],punkt[2]);



// FARBWERT
pixel.p = c_image->pixels[i]; /*Alternativ: punktanzahl-i*/
r=pixel.b[3];
g=pixel.b[2];
b=pixel.b[1];
a=255;


// std::cout if ((r {
color->InsertTuple1(pkt_id,1);
}
else
{
//.... hier müssen die hellen Punkten bearbeitet werden!

}

}
pkt_id++;
}
}

bei Antwort benachrichtigen