BML: bits/channels? Oder auch: Ein Farbmeter dreht sich?

Hier kann alles andere besprochen werden. Software, Treffen, oder Projekte wie Kippenlights, GroggyClock, usw.
Post Reply
User avatar
cascade
BlinkenSemiProfi
BlinkenSemiProfi
Posts: 41
Joined: Sat Aug 30, 2003 12:48 pm
Location: Kiel
Contact:

BML: bits/channels? Oder auch: Ein Farbmeter dreht sich?

Post by cascade »

Moin,

ich hab mal ne kurze Verstaendnissfrage:
bits // Anzahl der Bits pro Pixel (Standard: 1)
channels // Anzahl der Farbkanäle (1 = Helligkeitswerte, 3 = RGB) (Standard: 1)
ich will (vieles *g*) eigentlich nur wissen wie man jetzt korrekt festlegt, dass man einen Pixel mit RGB hat wovon RGB aber jeweils nur an oder aus sein koennen (also quasi 8 farbkombis).
da muss ich doch channels auf 3 setzen und bits pro pixel auf 1, also ein bit fuer rot, eins fuer gruen und eins fuer blau.
wenn alle 0 sind -> aus, wenn alle 1 sind -> weiss

Und dann:
Wie sieht dann ne row aus?
Ein Pixel nur rot waere dann:
<row>100</row>
also 3 pixel nebeneinander
<row>100100100</row>
usw, richtig?

Zum visualisieren:
Image
Soll so ca dieses BML sein: blm
Wobei ich hier den Kreis einfach auffaechere...
Last edited by cascade on Sun Jun 07, 2009 10:04 am, edited 3 times in total.
BlinkenCUBE - AM mit 4160(+4)LEDs ^^ => Guckst du?
User avatar
stefan
Blinkenizer
Blinkenizer
Posts: 234
Joined: Wed Oct 09, 2002 9:45 pm
Location: Aachen
Contact:

Re: BML: bits/channels was und wofuer genau?

Post by stefan »

Hi Cascade.

Das ist fast alles genau so richtig. Allerdings sind "bits" die Bits pro Kanal. D.h. für RGB mit 8 Farben insgesamt wären es 3 Kanäle (channles=3) und 1 Bit pro Kanal (bits=1).

Die Row sieht dann ganz genau so aus, wie Du geschrieben hast.

Für rechteckige Beispielfilme kannst Du Blimp benutzen, wenn Du als Format z.B. "18x8-3/2" (18x8 Pixel, 3 Kanäle, 2 Farben pro Kanal (d.h. ein Bit)) einstellest (unter "Edit", "Resize Movie...").

http://stefan.blinkenarea.org/Blimp/

Viele Grüße,
Stefan
User avatar
cascade
BlinkenSemiProfi
BlinkenSemiProfi
Posts: 41
Joined: Sat Aug 30, 2003 12:48 pm
Location: Kiel
Contact:

Re: BML: bits/channels was und wofuer genau?

Post by cascade »

Okay, danke.

im beispiel movie hatte ich das ja auch schon mit 3/1 gemacht. Nur im Post nicht geaendert :-)
Dann muss ich nurnoch checken wieso das in blimp nicht geht...

der sagt loaded successfully aber zeigt nuescht an...

Okay okay... BML != BLM ich sehs ein *hust* :-)
BlinkenCUBE - AM mit 4160(+4)LEDs ^^ => Guckst du?
User avatar
cascade
BlinkenSemiProfi
BlinkenSemiProfi
Posts: 41
Joined: Sat Aug 30, 2003 12:48 pm
Location: Kiel
Contact:

Re: BML: bits/channels was und wofuer genau?

Post by cascade »

Okay, auch nach einem Blick in die Sourcen von Blimp und der BlinkenLibJava verstehe ich nicht wieso
http://cascade.fox07.de/dg/homer.blm
nicht in Blimp will.
Nehme ich eine mit Blimp gespeicherte Datei und kopier den Inhalt rein gehts.
Aender ich in meiner normalen Datei zeilenumbruchformat oder nehm die Leerzeichen weg oder oder gehts nicht.
Die blm ist mit JDOM erzeugt, also wenn das kein xml ist dann wunderts mich.
Kann es sein, dass dein "xml-parser" den du da mit regex etc selbst gebaut hast nicht so ganz super laeuft oder mache ich irgendwas total falsch?

ps.: Hier wie ich das mache:

Code: Select all

public void write(int[][] data, String filename) {
        if (data != null) {
            try {
                Element bml = new Element("blm");
                Document doc = new Document(bml);
                bml.setAttribute("width", String.valueOf(data[0].length));
                bml.setAttribute("height", String.valueOf(data.length));
                bml.setAttribute("bits", "1");
                bml.setAttribute("channels", "3");

                Element header = new Element("header");
                header.addContent(new Element("title").addContent("TestBML"));
                header.addContent(new Element("description").addContent("Just a test output file..."));
                header.addContent(new Element("creator").addContent("ByteWriter"));
                header.addContent(new Element("author").addContent("CaScAdE"));
                header.addContent(new Element("email").addContent(""));
                header.addContent(new Element("loop").addContent("no"));
                bml.addContent(header);

                Element frame = new Element("frame");
                frame.setAttribute("duration", "10000");
                for (int[] rowdata : data) {
                    Element row = new Element("row");
                    String zeile = "";
                    for (int pixel : rowdata) {
                        int red = (pixel & 0x00ff0000) >> 16;
                        int green = (pixel & 0x0000ff00) >> 8;
                        int blue = pixel & 0x000000ff;

                        zeile += red > 77 ? 1 : 0;
                        zeile += green > 77 ? 1 : 0;
                        zeile += blue > 77 ? 1 : 0;
                    }
                    row.addContent(zeile);
                    frame.addContent(row);
                }
                bml.addContent(frame);

                FileOutputStream out = new FileOutputStream(filename);
                XMLOutputter serializer = new XMLOutputter();
                serializer.setFormat(Format.getPrettyFormat());
                serializer.output(doc, out);
                out.flush();
                out.close();
            } catch (IOException e) {
            }
        }
    }
Okay okay, ich les mir das nochmal durch... wann man bml und wann blm nimmt fuer was und wo :)
Last edited by cascade on Sat Feb 21, 2009 10:10 am, edited 1 time in total.
BlinkenCUBE - AM mit 4160(+4)LEDs ^^ => Guckst du?
User avatar
novatar
BlinkenProfi
BlinkenProfi
Posts: 55
Joined: Mon Mar 17, 2008 9:13 am
Location: Magdeburg
Contact:

Re: BML: bits/channels was und wofuer genau?

Post by novatar »

Hi,
mach bei dir mal blm zu bml dann öffnet auch Blimp das ;)

Mehr zu den Formaten hier:

http://wiki.blinkenarea.org/index.php/B ... ghts_Movie (blm)
http://wiki.blinkenarea.org/index.php/B ... p_Language (bml)

Soweit ich weiß unterstützt blm keinen Farbmodus bzw. keine Channels und Bits - zumindest steht davon nix im wiki ;).

du kannst dir auch mal img2bml ansehen: http://chris.blinkenarea.org/img2bml/ das wandelt bilder in bml um, die farbe(n) bleiben dabei erhalten.

Liebe Grüße,
- Chris
in sachen leben bin ich autodidakt geblieben
User avatar
cascade
BlinkenSemiProfi
BlinkenSemiProfi
Posts: 41
Joined: Sat Aug 30, 2003 12:48 pm
Location: Kiel
Contact:

Re: BML: bits/channels was und wofuer genau?

Post by cascade »

Ich war halt verwirrt durch
Die Blinkenlights Markup Language (BML)
und dann
<?xml version="1.0" encoding="UTF-8"?>
<blm width="18" height="8" bits="4" channels="1">
da steht einmal BML und einmal blm das hat mich total verwirrt....
Aber jetzt gehts ja...
Wenn die functionality (buzzword bingo!!!) drin ist und der code halbwegs aufgeraeumt ist gibts das ganze, was ich fuer rotierenden kram gerade mache, auch unter der GPL... also so wie:
Megarotate-EPP1045-Mod-mit-LEDs
nur in bunt und groesser :-)

Derzeit warte ich auf die Hardware fuer die RGB leds...
BlinkenCUBE - AM mit 4160(+4)LEDs ^^ => Guckst du?
User avatar
novatar
BlinkenProfi
BlinkenProfi
Posts: 55
Joined: Mon Mar 17, 2008 9:13 am
Location: Magdeburg
Contact:

Re: BML: bits/channels was und wofuer genau?

Post by novatar »

Das blm ist sicher nur in Erinnerung an alte Zeiten... ;-) oder kann auch blinkmovie heißen.

Ansonsten kannst du auch hier noch mal gucken:
http://www.blinkenlights.net/project/bml
in sachen leben bin ich autodidakt geblieben
User avatar
cascade
BlinkenSemiProfi
BlinkenSemiProfi
Posts: 41
Joined: Sat Aug 30, 2003 12:48 pm
Location: Kiel
Contact:

Re: BML: bits/channels was und wofuer genau?

Post by cascade »

Nur damit man sieht, dass es hier nicht total im Sande verlaeuft:

Image

Image

Image

Und das ganze in bewegten bildern: 20090311-farbmeter

Ich warte derzeit auf die Welle fuer den Kram damit sich das endlich mal drehen kann :-)
BlinkenCUBE - AM mit 4160(+4)LEDs ^^ => Guckst du?
User avatar
novatar
BlinkenProfi
BlinkenProfi
Posts: 55
Joined: Mon Mar 17, 2008 9:13 am
Location: Magdeburg
Contact:

Re: BML: bits/channels was und wofuer genau?

Post by novatar »

Respekt :!: sieht toll aus!
in sachen leben bin ich autodidakt geblieben
User avatar
cascade
BlinkenSemiProfi
BlinkenSemiProfi
Posts: 41
Joined: Sat Aug 30, 2003 12:48 pm
Location: Kiel
Contact:

Re: BML: bits/channels was und wofuer genau?

Post by cascade »

ich hab gestern endlich mal was zusammengeschustert um das ding jedenfalls primitiv testen zu koennen...
Eine sehr wackelige und angsteinfloessende Konstruktion :)

Image

aber fuer einen ersten test reichte sie... Die spiegelung im Fenster sah schon verdammt gut aus... Wie das von vorne aussah kann ich nicht beurteilen da ich hinter die Hoellenmaschine musste und der Kameramann hat wohl auch eher auf die Kamera geguckt die sowas natuerlich nicht gut Aufnimmt...

Unter 20090606-farbmeter-2 gibts nen kurzes video was einen erahnen laesst was fuer ein Geraet das ganze wird.

Aber immerhin laeuft die Software da hinter (an der ich seit Maerz nichtsmehr angefasst habe) ansatzweise so wie sie soll, also auch das Anfangsproblem wegen dem ich hier Postete :-)

Edit:
Image
halbe sekunde belichtung und man erkennt was :)
BlinkenCUBE - AM mit 4160(+4)LEDs ^^ => Guckst du?
User avatar
stefan
Blinkenizer
Blinkenizer
Posts: 234
Joined: Wed Oct 09, 2002 9:45 pm
Location: Aachen
Contact:

Re: BML: bits/channels? Oder auch: Ein Farbmeter dreht sich?

Post by stefan »

Wow, sehr beeindruckend (und in der Tat auch etwas angsteinflößend).

Gruß,
Stefan
User avatar
novatar
BlinkenProfi
BlinkenProfi
Posts: 55
Joined: Mon Mar 17, 2008 9:13 am
Location: Magdeburg
Contact:

Re: BML: bits/channels? Oder auch: Ein Farbmeter dreht sich?

Post by novatar »

BTT:
ich hab die Wiki-Seite mal etwas aktualisiert und auch ein DTD gefunden.

Außerdem war meine Vermutung richtig:
Please note: the toplevel element is really called <blm> and NOT <bml>. I know you might think this is illogical and you are right. Instead the name refers to our original Non-XML file format (BLM). In retrospect, this might have been a bad idea. But we thought it was funny back then :)
(siehe blinkenlights.net)
in sachen leben bin ich autodidakt geblieben
User avatar
cascade
BlinkenSemiProfi
BlinkenSemiProfi
Posts: 41
Joined: Sat Aug 30, 2003 12:48 pm
Location: Kiel
Contact:

Re: BML: bits/channels? Oder auch: Ein Farbmeter dreht sich?

Post by cascade »

Nur mal so am Rande: Das Projekt ist tot... Ich hab das ganze verkleinert... Das andere war zu gross (und stand nur rum)...
Dafuer auch gleich Farben alle mit Abstufungen gemacht (7bit)...

Image
Image
Image
Image

Aber auch das steht seit April erstmal wieder rum :/
BlinkenCUBE - AM mit 4160(+4)LEDs ^^ => Guckst du?
User avatar
stefan
Blinkenizer
Blinkenizer
Posts: 234
Joined: Wed Oct 09, 2002 9:45 pm
Location: Aachen
Contact:

Re: BML: bits/channels? Oder auch: Ein Farbmeter dreht sich?

Post by stefan »

Hi Cascade,

auch wenn's nur rumsteht: Cooles Projekt!

Gruß,
Stefan
Post Reply