Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

10 Bit Bilder in 8 bit konvertieren unter C/C++

Wasi1860 / 2 Antworten / Flachansicht Nickles

Hallo,
ich habe einen Framegrabber, der 10bit-Bilder aufzeichnet (2byte, LSB links, die letzten 6 bit Müll) und muss diese zur Weiterverarbeitung in 8bit-Bilder umwandeln (also die Bits 3-10 von links rausschneiden).
Das Problem ist, dass das Ganze so schnell wie möglich vor sich gehen soll, ich habe bei 2MPixel-Bildern also keine Zeit für umfangreiche Schleifen (hab' ich schon ausprobiert).
Kann mir jemand einen Tipp geben, wie ich das Ganze anders realisieren kann?
Dazu sei noch gesagt, dass ich mich mit C/C++ nur ganz rudimentär auskenne...


Danke
Peter

bei Antwort benachrichtigen
Borlander Nachtrag zu: „Ein Pixel sieht dann also so aus: bbBB.BBBB BBMM.MMMM B fürs Bild, b verwerfen,...“
Optionen

Evtl. lohnt es sich auch dafür Inline-ASM (wenn Du das Bild in einem Stück im Speicher hast, sonst wird man u.U. keinen Geschwindigkeitsvorteil feststellen können) einzusetzen, dann würdest Du jedes Pixel erst in AX laden, nach rechts shiften und aus AL Deine 8 Bit rausholen...

Gruß
Borlander

bei Antwort benachrichtigen