Gigantikus kép fényességállítása.

 ( emberk | 2010. február 1., hétfő - 15:13 )

Sziasztok!

Még mindíg képanalizálok és a következő a gondom. Lényegében a problémát már megoldottam, de e cpu-számolja, ami cefet lassú, egy 8XXX*8XXX-es kép esetén. Van egy tömböm. Minden tömbi elem egy egy pixel fényességét tárolja (Qpixmap lesz belőle).
Ha "A" kisebb alsó küszöbtbtől akkor fekete a pixel.
Ha "A" nagyobb felső küszübtől akkor fehér a pixel.
Ha alsó küszöb nagyobb "A" kisebb felső küszöb, akkor a képpont átskálászódik 0-255 közé arányosan.
De ez a művelet cpu-val bőduletes lassú. és ez olyan dolog amit szemre kel belőni, mert a gépnek képtelenség elmagyarázni, hogy mikor jó a bemeneti kép (van egy-egy csúszka, ami épeszű léptékek között változtatja az alsó, és felső küszöbértékeket). Gondoltam arra hogy ezt csak hardveres gyorsítással lehet megcsinálni (opengl, mert lin alá és win alá is kell). Tud valaki ebben segíteni nekem? Gondolom aki programozott már opengl-ben annak ez egy piti feladat, de tutorialban ilyet sehol nem találtam. Találtam olyat hogy hogy pörgessünk kockát hogy váltsunk nézőpontot, hogyan tegyünk fel egy testre textúrát, de olyat nem hogy hogyan manipulálom magát a textúrát..... Szóval előre is köszi a segítséget.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Szerintem, ha egy épeszű méretre konvertálod a képet és azon állítod be a csúszkával az értékeket és azon futtatsz egy tesztet (értsd, a fenti függvény a kicsinyített képen megy végig a gui számára) akkor már előrébb leszel.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

Ezt én is mondtam, annak akinek kell a ptogram, erre a következő választ kaptam: Ha lekicsinyítem a képet akkor jó eséllyel eltüntetem azt a fizikai hatást amit ők keresnek a képen.

------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.

Egy áthidaló megoldás: a nagy kép egy kis részét kijelölni, és csak azon látszik a csúszkák tologatásának hatása. A kijelölés menet közben is módosítható esetleg.
Másik javaslat (bár nincs ilyen irányú tapasztalatom): Mivel ez egy jól párhuzamosítható feladat, rá kellene bíznia viedokártyára, pl. Nvidia Cuda.

-----
Dropbox tárhely igénylése: https://www.getdropbox.com/referrals/NTI2MzM2MjA5

Nos igen, ez az utóbbi nekem is szimpatikus, csak a cuda-ban nem vagyok valami fenemód otthon (sőt egy fikarcsnyit sem). Ráadásul ha a delikvensnek nem nvidia kárty van akkor..... De ezt megcsinálom (cuda tanulás után), max kiirja hogy nem kompatibilis....... Ez a részlet nézet valóban jó ötlet ez nekem is ezsembejutott, de azt mondta, hogy látni szeretné kicsinítetten is, de akkor nincs gond mert valóban kicsiníítem a képet.

------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.

A konverziót nem elég azon a max. kb. 1700x1200 -as részleten elvégezni, amit éppen néz? Vagy 8x8 monitoron nézi egyszerre a képet? Aztán ha rányom az OK-ra, akkor meg lehet csinálni az egész képen.

[szerk:] Bocs, lassú voltam, előttem megírták.

Igen mint ahogy fentebb is írtam én is gondoltam erre, cask gondoltam, hátha megoldható ""izomból"", és akkor nem kell vacakolni, a darabolással.

------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.

Ha jól értem, akkor ez egy grayscale kép, és gondolom, hogy QImage-ben tartod. Én valószínűleg simán 8-bites indexelt képként tartanám, így csak a colortable értékeit kell módosítani, a többit a convertFromImage (úgyis az a lassú) majd megoldja. (Egyáltalán nem értek Qt-hez, de .NET-nél is lehet hasonlókkal szívni :)

vips+nip2?
__________________________________
2e845cb4c3a5b5bd6508455b1739a8a2

google + olvasom. Még nem is hallottam róla, meglesem.

------
3 fajta matematikus létezik. Aki tud számolni, és aki nem.

Az eredeti tömbben mekkora értékek vannak? Nem lehet előre kiszámolni a konverziót, ezt letárolni és utána nem számolni, csak megkeresni, mire kell konvertálni egy-egy képpontot?

KisKresz