pole obszaru - plik graficzny??

Odpowiedz Nowy wątek
2006-09-12 20:51
kasia.
0

mam prosty (np. jedna figura) plik graficzny, w jaki spoosb najlatwiej/najszybcjej obliczyc jego pole
ogolnie chyba trzeba policzyc jakas calke, nawet chyba podwojna ;)
plik otworzyc binarnie???
dzieki za rady

Pozostało 580 znaków

2006-09-13 00:45
0

Wedlum mnie sa dwa wyjscia:

1.analityczne: czyli skanujesz plik po 'x', znajdujac dla kazdej linii pionowej zapalone pixele(lepiej, zeby bylo czarno-biale), robisz z nich tablice, aproksymujesz np. wielomianem i liczysz calke z wielomianu. Problemow moze byc kilka:

  • punkty blisko siebie powinny byc brane jako jeden, wiec trzeba ustawic jakis margines
  • punkty nalezace do dwoch krzywych powinny byc w oddzielnych tablicach - wiec tablic tyle samo co linii
  • samo wyliczenie calki
  1. Lopatologiczne, czyli policzenie pixeli znajdujacych sie w zamknietym obszarze... :)

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

2006-09-18 21:23
kasia.
0

ale zeby moc skanowac, trzeba chyba ten plik otowrzyc binarnie (w jaki sposob)???
zalozmy, ze prosty obrazek (kolo, elipsa ..) jest czarny (ale tlo), chce obliczyc pole (obwod) tego obszaru
po otwarciu pilku binarnie, ładuje ja do tablicy????
dzieki za pomoc !!!

Pozostało 580 znaków

2006-09-18 23:52
0

No tak, wypadaloby go otworzyc, zeby moc czytac :) Poczytaj sobie o klasach BufferedImage i metodzie getRGB, ImageReader i read(), ImageIO i getImageReadersby...
Jesli obrazek jest prosty i chcesz obliczyc obwod, to najlatwiej chyba poszukac pierwszego zapalonego pixela, pozniej liczyc pole do ostatniego pixela w tej linii (oczywiscie suma).
Jesli figura bardziej skomplikowana, to musi byc obszar zamkniety czyli ilosc zapalonych pikseli w linii musi byc parzysta (kazdy otwierajacy ma do pary zamykajacy).
Jesli obwod to policzyc tylko zapalone piksele - oczywiscie jesli wszedzie linia jest jednopikselowa, bo jesli nie to obowiazuje to co pisalem wczesniej o marginesie 'bledu' np. 5 sasiadujacych ze soba zapalonych pikseli to jedna linia.

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0