Skip to content
This repository has been archived by the owner on May 10, 2024. It is now read-only.
/ JPEGEncoder Public archive

Simple JPEG encoding from bitmap. Repository a Kódoláselmélet (GKLM_TATM019) tárgyhoz.

Notifications You must be signed in to change notification settings

Matdgy/JPEGEncoder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JPEG Encoder

Áttekintés

Ez a projekt a JPEG kódolás részleges implementációját tartalmazza. A program egy bitmap képből állít elő JPEG kódolás során előforduló részeredményeket. Az implementáció a .NET Core 8.0 verziójával készült.


Build

A solution a következő módon buildelhető:

$ nuget restore JPEGEncoder.sln A System.Drawing.Common nuget package letöltése céljából.

$ dotnet build JPEGEncoder.sln .NET SDK 8.0 verzó szükséges.


Implementáció

A program képes bármilyen .bmp fájlt kezelni és megnyitni. A fájl olvasás után a képeket átalakítja egykomponensű egész szám alapú reprezentációkká három színcsatorna esetén is (Alpha csatorna elhagyásával). Az implementáció a kódolás során vegrehajtott lépéseket csak erre az egy csatornára végzi el, mely megfelelhet a szürkeárnyalatú (monokróm) képek során használt fényintezitásnak.

Megvalósított lépések:

  • Beolvasás, szürkeárnyalati konverzó
  • Kép kiegészítés (8x8 blokkokra bontás előfeltétele)
  • Értékek 0-hoz való középpontosítása
  • Képfüggvény blokkokra bontása
  • Blokkok diszkrét koszinusz transzformációja
  • DCT együtthatók kvantálása
  • Cikk-cakk alakú kiolvasás, futamhossz kódolás

A Huffmann-kódolás illetve a JFIF fájlkezelés és szerializáció hiányzik a programból.

About

Simple JPEG encoding from bitmap. Repository a Kódoláselmélet (GKLM_TATM019) tárgyhoz.

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages