[go: up one dir, main page]

タグ

libjpegに関するnirvashのブックマーク (2)

  • So-net blog:A's room:IJG JPEGライブラリでメモリ上のJPEGを展..

    JPEGの圧縮・展開ライブラリのスタンダードといえばやはり IJG(http://www.ijg.org/) のJPEGライブラリになるが意外とどこにも載っていないメモリ上のJPEGイメージの展開方法を。 一応 libjpeg のドキュメントには応用すればメモリ上のJPEGも簡単に展開できるよー、みたいな意味の事は書いてあるけどサンプルは載ってない(まあ実際簡単なんだけど)。 まあそういうわけでファイルからの読み込みの初期化部分を調べる。 typedef struct { struct jpeg_source_mgr pub; /* public fields */ FILE * infile; /* source stream */ JOCTET * buffer; /* start of buffer */ boolean start_of_file; /* have we gotte

    nirvash
    nirvash 2006/05/25
    libjpeg 本体にはファイルをソースとするコードしかついていないので。
  • Decode JPEG

    はじめに libjpegによるJPEG圧縮の画像データをRGB無圧縮データに展開する方法の概要について述べる。なお、実際のコード詳細については、利用しているプログラムを参照されたい。 JPEG画像とは 一般にJPEG形式と呼ばれる圧縮方法は離散コサイン変換(DCT)を基とした非可逆圧縮である。ロスレスJPEGもあるがここでは考えない。 離散コサイン変換とは、元のデータ列を関数とみなし、それを複数のcos波の合成波と考えて個々の周波数成分に変換することを示す。 この周波数成分の個々のパラメータを記録しておき、後程再度合成することによって、元の波形に近い波形を求めることができる。 元のデータ列そのものは記録しないので、圧縮→展開後は元のデータに「なんとなく特徴が似ている」ということになる。これが「自然画像に向いている」という理由となる。 JPEGではこのDCT変換だけでなく、ハフマン符号化圧

  • 1