1

AとBの2つの画像があり、Bの量子化テーブルを推定し、このテーブルを使用してAを圧縮する必要があります。libjpeg、さらにはopencvを使用して、これを行うための最良の方法は何ですか?

libjpegのユーティリティ「djpeg」を使って画像の量子化テーブルを見つけましたが、その出力を解釈してlibjpegで使用する方法がわかりません。さらに、このマトリックスを見つけて、プログラム内から圧縮を行う必要があります。これにより、この場合は「djpeg」が使用できなくなります。

以下は、テストイメージの「djpeg」の出力であり、次のコマンドで実行されます。

djpeg -v -v cat1.jpg> / dev / null

Start of Image
JFIF APP0 marker: version 1.01, density 96x96  1
Define Quantization Table 0  precision 0
           5    3    3    5    7   12   15   18
           4    4    4    6    8   17   18   17
           4    4    5    7   12   17   21   17
           4    5    7    9   15   26   24   19
           5    7   11   17   20   33   31   23
           7   11   17   19   24   31   34   28
          15   19   23   26   31   36   36   30
          22   28   29   29   34   30   31   30
Define Quantization Table 1  precision 0
           5    5    7   14   30   30   30   30
           5    6    8   20   30   30   30   30
           7    8   17   30   30   30   30   30
          14   20   30   30   30   30   30   30
          30   30   30   30   30   30   30   30
          30   30   30   30   30   30   30   30
          30   30   30   30   30   30   30   30
          30   30   30   30   30   30   30   30
Start Of Frame 0xc0: width=450, height=320, components=3
    Component 1: 2hx2v q=0
    Component 2: 1hx1v q=1
    Component 3: 1hx1v q=1
Define Huffman Table 0x00
          0   1   5   1   1   1   1   1
          1   0   0   0   0   0   0   0
Define Huffman Table 0x10
          0   2   1   3   3   2   4   3
          5   5   4   4   0   0   1 125
Define Huffman Table 0x01
          0   3   1   1   1   1   1   1
          1   1   1   0   0   0   0   0
Define Huffman Table 0x11
          0   2   1   2   4   4   3   4
          7   5   4   4   0   1   2 119
Start Of Scan: 3 components
    Component 1: dc=0 ac=0
    Component 2: dc=1 ac=1
    Component 3: dc=1 ac=1
  Ss=0, Se=63, Ah=0, Al=0
End Of Image

前もって感謝します!

4

0 に答える 0