Zdravim,
v prvom rade, nenasiel som ziadnu sekciu do ktorej by som to mohol pridat tak to davam sem.
Potrebujem vytvorit algoritmus ktory z obrazka ziska suradnice urcitiych objektov
.
Napriklad: mam na obrazku dva cervene stvroce. Dokazem lokalizovat tuto cervenu farbu a ostatne odignorovat, ale ako zistim na akych suradniciach lezi stred stvorca? Alebo, mam pri sebe dva stvorce co sa dotykaju vrcholmi, ako zistim suradnice bodu v ktorom sa dotykaju? Pripadne suradnice stredu jednofarebneho kruhu? Mam na mysli suradnice v ramci bitmapy.
Nepotrebujem kod, ale naznacit cestou akou to realizovat.
Dakujem
Fórum › C / C++
Algoritmus zistenie suradnic
Tak kdyz dokazes lokalizovat tu barvu ctverce, kterou potrebujes, tak take urcite dokazes pro prohledani bitmapy lokalizovat prvni pixel, kde se nachazi. Potom staci prohledavat smerem dolu, (kdyz ctrevece muzou byt i sikmo tak sikmosikmo doleva dolu a sikmo doprava dolu) kde ten ctverec konci. Az najdes konec, tak staci tyto 2 vrcholy zprumerovat.
Pro kruznici je to jeste jednodusi, staci najit prvni pixel, a pak jenom jit pri prohledavani dolu a jakmile najdes jinou barvu tak mas prumer a stred je pulku prumeru pod souradnici prvniho bodu.
Lenze ja nezistim ze je sikmo, respektive natoceny, ked prehladavam bitmapu povedzme z hora dole. On moze byt otoceni lubovolne. Konecne sa mi podarilo nieco k tomu najst, este som to neskusal ale vyzera to rozumne.ň
http://archive.chipcenter.com/circuitcellar/december01/c1201ts2.htm
to mi v niecom pomoze ale stale to neriesi napriklad ten pripad ked sa dva farebne stvorce dotykaju vrcholmi, ako urcit ten bod.
To maniks :
Ještě by ti mohla pomoct Houghova transformace, ale nevím jestli by to nebyl tak trochu kanón na vrabce.
To petr.satka : Kdyz prohledavas bitmapu radek po radku, tak najdes jeden vrchol. Potom staci prohledavat smerem dolu+sikmo do stran a najdes protilehly. Jejich prumer je stred.
takto: http://img401.imageshack.us/img401/9852/takto.png
To maniks : Tak dlouho dolu dokud to pujde. Kdyz to nejde primo dolu tak vyzkouset deleva a potom doprava. Toto cele opakovat. Deleva a doprava vzdy o 1 pixel. Dolu max co jde. Ve vysledku cesta bude kopirovat hranu.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Problem s nacitanim suradnic zo suboru... — založil ketja
Zobrazenie suradnic kurzora mimo okna vlastneho programu — založil Greno
Zistenie id (MySQL) — založil Jakub
Zistenie IP adresi — založil Marilyn666
Zistenie pozície — založil Anonymní uživatel
Moderátoři diskuze