Wektoryzacja bitmapy? (własny program sterujący)

Rozmowy dotyczące oprogramowania sterującego maszynami CNC i sterowników CNC obrabiarek numerycznych

Autor tematu
WRonX
Czytelnik forum poziom 1 (min. 10)
Czytelnik forum poziom 1 (min. 10)
Posty w temacie: 1
Posty: 12
Rejestracja: 18 sty 2009, 19:48
Lokalizacja: Siepraw/Kraków
Kontakt:

Wektoryzacja bitmapy? (własny program sterujący)

#1

Post napisał: WRonX » 15 maja 2012, 12:10

Cześć.

Moje pytanie może Wam się wydać głupie, albo bezsensowne, ale mam tak, że lubię coś czasem zrobić w 100% we własnym zakresie, a pomyślałem, że tutaj najłatwiej uzyskam pomoc.

Chodzi mi po głowie prosta maszynka, powiedzmy że do grawerowania 2D. Generalnie chodzi o wyżłobienie obrysów kształtu, który mam w bitmapie. Bitmapa jest monochromatyczna, grawerowane miałyby być krawędzie czarnych kształtów.

Mechaniką się nie chcę tutaj zajmować, bo jakoś ją wyskrobię. Sterowanie chciałem zrobić jak najprościej, czyli informacje o krokach X/Y przekazywane do Arduino, skąd byłyby sterowane silniki, ewentualnie proste informacje w stylu "prosta od (X,Y) do (X', Y')". W każdym razie jako że to początki, nie chcę GCODE, nie chcę robić interpretera, chcę zacząć od czegoś łatwiejszego. Poza tym nie chciałbym strzelać z armaty do komara. Nie chcę też korzystać z gotowych programów/rozwiązań, "bo nie" :)

Łatwym etapem było wykrycie krawędzi bitmapy (program masochistycznie piszę w C#). Teraz mam taki problem - jak najłatwiej zwektoryzować daną bitmapę? Chodzi mi o to, że jeżeli ustalę tolerancję na X pikseli, chciałbym móc wykryć, że w tej tolerancji można wyrysować po krawędzi kształtu prostą A do punktu B.

Podejściem "hardkorowym" byłoby sterowanie po pikselu, ale zakładając, że maszyna miałaby minimalnie większą dokładność, niż bitmapa, w praktyce "proste" na grawerze wykazywałyby "pikselozę" (patrz zdjęcie w wiki). Macie jakieś pomysły, jak zacząć?

(mam nadzieję, że opisałem problem z sensem - wypiłem dopiero jedną kawę, więc jeśli coś jest niejasne, nie bijcie :))



Tagi:

Awatar użytkownika

Piotr Rakowski
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 2173
Rejestracja: 29 lip 2005, 15:07
Lokalizacja: Warszawa
Kontakt:

#2

Post napisał: Piotr Rakowski » 09 cze 2012, 07:03

Jednym z ciekawszych algorytmów jest Potrace. Teoria wyjaśniona jest tu: http://potrace.sourceforge.net/potrace.pdf

A na potrace.sourceforge.net masz źródła i support.

Miłej zabawy ;-)
Maszyny i oprogramowanie CNC: eduCAD, STEP2CNC, LynxCUT, Styro3D, Tapper, cncCAD, Image2CAM, Turn3D, TERMCUT, LynxNEST (Nesting)

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Ogólne Dyskusje na Temat Systemów Sterowania CNC”