Kezdőoldal » Számítástechnika » Programozás » Tömörítő, jaj nekem?

Tömörítő, jaj nekem?

Figyelt kérdés

A feladat az, hogy egy két szinű kép tartalmát szeretném betömöríteni olyan módon, hogy a kép pixeleit sorról sorra megvizsgálom, és ha 4-nél több egyezést találok, akkor azt kiírom egy bájtba, az alábbiak szerint:


A bájt balról legelső bitje 1, ez jelzi, hogy tömörítvény.

A bájt balról második bitje 1 ha fekete és 0 ha fehér.

A bájt további hat bitje a pixelek száma (minusz 4). Ez maximum 67 lehet.


Ha az azonos szinű pixelek száma nem haladja meg a négyet, vagy ha nem azonosak a pixelek, akkor azokat tömörítés nélkül kell kiírni, az alábbi formában:


A bájt balról legelső bitje 0. Ez jelzi, hogy nem tömörített.

A bájt balról második és harmadik bitje számláló, ami azt jelzi, hogy hány bites szekvencia következik.

A bájt további öt bitje maga a szekvencia, aminek a tartalma a pixelek egymás utániságától függ. Ha a pixel fekete akkor egy 1-es, ha fehér akkor 0 lesz. például ilyen


0 11 10010


ez a bájt tartalmilag nem tömörített, négy darab pixelt tárol, amik egy fekete, két fehér és még egy fekete.


1 0 111110


ez a bájt meg tömörített, fehér pixeleket tömörít, azokból 66-ot. Mivel a 111110 az decimálisan 62 és a tömörítés az első négyet nem számolja. Ha 4 egyforma van csak, akkor azt tömörítetlenül írja le, ha van egy ötödik is, akkor azt egynek írja. Ezért 67 a maximum. A 67 egyforma tömörítve így nézne ki:


1 0 111111


vagy ha feketék a pixelek, akkor meg így:


1 1 111111


Ha 67-nél több egyforma van, akkor a 67-et kiírja egy bájtba és folytatja lenullázott számlálóval.


A balról első bit állapota: 1 ha tömörített, és 0 ha nem.

A balről második bit ha tömörített, akkor színbit (0 ha fehér, 1 ha fekete)

Ha nem tömörített akkor a második és a harmadik bit is számláló.


Ezt szeretném megvalósítani, freepascalban. Előre is köszönöm a konstruktív hozzászólásokat.



2023. febr. 24. 09:59
1 2
 1/17 A kérdező kommentje:

000000000000000

000000000000000

00***********00

00***********00

000000000000000

000000000000000

2023. febr. 24. 10:54
 2/17 A kérdező kommentje:

000000000000000

000000000000000

00___________00

00___________00

000000000000000

000000000000000

2023. febr. 24. 10:55
 3/17 A kérdező kommentje:

0000000000

00______00

0000000000

2023. febr. 24. 10:56
 4/17 anonim ***** válasza:
Kérdést tegyél fel, ne feladatot.
2023. febr. 24. 11:30
Hasznos számodra ez a válasz?
 5/17 A kérdező kommentje:
Ennek jó lenne megrajzolni a folyamatábráját.
2023. febr. 24. 11:42
 6/17 anonim ***** válasza:
Valóban jó lenne.
2023. febr. 24. 11:44
Hasznos számodra ez a válasz?
 7/17 anonim ***** válasza:
Jó lenne írni egy könyvet, ami olyan híres lessz, mint a Gyűrűk Ura.
2023. febr. 24. 16:23
Hasznos számodra ez a válasz?
 8/17 anonim ***** válasza:

"Ennek jó lenne megrajzolni a folyamatábráját."


Akkor rajzold meg ha neked jó lenne attól. Mi tart vissza?

2023. febr. 24. 17:10
Hasznos számodra ez a válasz?
 9/17 A kérdező kommentje:

Igazán nem tudom, mi értelme volt az utolsó három bejegyzésnek?

Nyilvánvaló, hogy olyanok írták ezeket, akik arra sem képesek, amire én.

2023. febr. 24. 18:48
 10/17 anonim ***** válasza:
Jóvan, törölhető a kérdés.
2023. febr. 24. 20:02
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!