Image File Format
をテンプレートにして作成
[
トップ
|
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
画像ファイルフォーマットのC,C++での取り扱い.
----
#contents
----
*Windows Bitmap [#p900218b]
単純にビットマップ画像というと,色を表すピクセルを格子状...
Windows標準の画像ファイル形式を指す.拡張子はbmp.
***種類 [#bac7a6ab]
Windows BitmapはOS/2用とWindows用に大きく分けることができ,
細かくは以下の5種類が存在する.
-OS/2(COREタイプ)
-OS/2 V2(INFO2タイプ)
-Windows V3(INFOタイプ)
-Windows V4(V4タイプ)
-Windows V5(V5タイプ)
一般的にはINFOタイプが用いられている.
V4はINFOにカラーマネジメント,V5はさらにカラープロファイ...
基本的には無圧縮で使われるが,Windows V3-5ではRLE,JPEG,PN...
各形式のヘッダ構成は[[WikipediaのBMP file format:http://e...
***コード例 [#m3dfc7d3]
Windows Bitmapファイルの読み込み,書き出しを行う関数を実...
#ref(rx_bitmap.h)
注意事項
-OS/2(V1), Windows(V3,V4,V5)の非圧縮BMPに対応
-ビットフィールド付きビットマップ,カラーパレット付きBMP...
-RLE, JPEG, PNG圧縮は未対応
-V4,V5のカラーマネジメント,プロファイルは未対応
-2016年2月18日更新 : 横の解像度が4nでないものに対応してい...
*JPEG [#k44c8e85]
JPEGはJoint Photographic Experts Groupによる非可逆圧縮画...
***特徴 [#i4597f79]
DCT(離散コサイン変換)による周波数領域への変換などにより非...
***libjpegライブラリ [#mce7d177]
[[libjpeg:http://www.ijg.org/]]はC言語で書かれたJPEGファ...
***libjpegのビルド [#a860237f]
#include(build_libjpeg,title)
***コード例 [#z554c5f4]
libjpegを用いてJPEGファイルの読み込み,書き出しを行う関数...
#ref(rx_jpeg.h)
使うときは,ライブラリファイルをリンクすること.VC++なら...
#ifdef _DEBUG
#pragma comment (lib, "libjpegd.lib")
#else
#pragma comment (lib, "libjpeg.lib")
#endif
*PNG [#bfdc43ea]
PNGはPortable Network Graphicsの略で,可逆圧縮画像フォー...
1995年頃にGIFフォーマット(当時Web上で非常に良く用いられて...
ただ,ブラウザが標準で対応しないことが多いなどもありGIFを...
拡張子はpng.
***特徴 [#rdcf2631]
PNGは歴史的な経緯からGIFと比較されることが多いので,ここ...
-フルカラーサポート : GIFは256色(8ビット)であったが,PNG...
-アルファチャンネルのサポート : 8/16ビットアルファチャン...
-ガンマ補正のサポート
-2次元インタレース : GIFより早めに全体像が見える.
-GIFより圧縮サイズが小さい : といっても5〜25%ぐらいらし...
欠点としては,
-アニメーション(複数画像)は対応していない : ただし拡張フ...
-圧縮・展開に時間がかかる
その他の特徴は以下のページ参照.
-[[A Basic Introduction to PNG Features:http://www.libpng...
PNGはJPEGほど圧縮率は高くないが,可逆圧縮なので画像が劣化...
***libpngライブラリ [#qd256a41]
[[libpng:http://www.libpng.org/pub/png/libpng.html]]はPNG...
***libpngのビルド [#r7b53deb]
#include(build_libpng,title)
***コード例 [#w9883484]
libpngを用いてPNGファイルの読み込み,書き出しを行う関数を...
#ref(rx_png.h)
使うときは,ライブラリファイルをリンクすること.VC++なら...
#ifdef _DEBUG
#pragma comment (lib, "libpngd.lib")
#pragma comment (lib, "zlibd.lib")
#else
#pragma comment (lib, "libpng.lib")
#pragma comment (lib, "zlib.lib")
#endif
*WebP [#labcf23d]
[[WebP(ウェッピー):http://ja.wikipedia.org/wiki/WebP]]はG...
動画フォーマットのWebMの静止画版.
***特徴 [#a97d960d]
WebMで使われているVP8を使って圧縮し,RIFFを元にしたコンテ...
可逆,不可逆圧縮両方に対応し,可逆圧縮の場合,PNGより[[28...
***対応ソフトウェア [#v7592aca]
WebP画像ファイルへの変換は,[[WebPのページ:http://code.go...
***libwebpライブラリ [#i59e1e2b]
libwebpはGoogle codeで公開されているWebPを扱うためのライ...
***libwebpのビルド [#s2e7cfb8]
#include(build_webp,title)
***コード例 [#w9883484]
libwebpを用いてWebPファイルの読み込み,書き出しを行う関数...
#ref(rx_webp.h)
libwebpのソースに付属のサンプルを元にしている.
使うときは,ライブラリファイルをリンクすること.VC++なら...
#ifdef _DEBUG
#pragma comment (lib, "libwebp_a_debug.lib")
#else
#pragma comment (lib, "libwebp_a.lib")
#endif
*リンク [#s540a4f0]
C/C++での画像入出力に使えそうなライブラリ
- [[FreeImage:http://freeimage.sourceforge.net/]] : BMP,J...
- [[OpenCV:https://opencv.org/]] : 言わずと知れた画像処理...
終了行:
画像ファイルフォーマットのC,C++での取り扱い.
----
#contents
----
*Windows Bitmap [#p900218b]
単純にビットマップ画像というと,色を表すピクセルを格子状...
Windows標準の画像ファイル形式を指す.拡張子はbmp.
***種類 [#bac7a6ab]
Windows BitmapはOS/2用とWindows用に大きく分けることができ,
細かくは以下の5種類が存在する.
-OS/2(COREタイプ)
-OS/2 V2(INFO2タイプ)
-Windows V3(INFOタイプ)
-Windows V4(V4タイプ)
-Windows V5(V5タイプ)
一般的にはINFOタイプが用いられている.
V4はINFOにカラーマネジメント,V5はさらにカラープロファイ...
基本的には無圧縮で使われるが,Windows V3-5ではRLE,JPEG,PN...
各形式のヘッダ構成は[[WikipediaのBMP file format:http://e...
***コード例 [#m3dfc7d3]
Windows Bitmapファイルの読み込み,書き出しを行う関数を実...
#ref(rx_bitmap.h)
注意事項
-OS/2(V1), Windows(V3,V4,V5)の非圧縮BMPに対応
-ビットフィールド付きビットマップ,カラーパレット付きBMP...
-RLE, JPEG, PNG圧縮は未対応
-V4,V5のカラーマネジメント,プロファイルは未対応
-2016年2月18日更新 : 横の解像度が4nでないものに対応してい...
*JPEG [#k44c8e85]
JPEGはJoint Photographic Experts Groupによる非可逆圧縮画...
***特徴 [#i4597f79]
DCT(離散コサイン変換)による周波数領域への変換などにより非...
***libjpegライブラリ [#mce7d177]
[[libjpeg:http://www.ijg.org/]]はC言語で書かれたJPEGファ...
***libjpegのビルド [#a860237f]
#include(build_libjpeg,title)
***コード例 [#z554c5f4]
libjpegを用いてJPEGファイルの読み込み,書き出しを行う関数...
#ref(rx_jpeg.h)
使うときは,ライブラリファイルをリンクすること.VC++なら...
#ifdef _DEBUG
#pragma comment (lib, "libjpegd.lib")
#else
#pragma comment (lib, "libjpeg.lib")
#endif
*PNG [#bfdc43ea]
PNGはPortable Network Graphicsの略で,可逆圧縮画像フォー...
1995年頃にGIFフォーマット(当時Web上で非常に良く用いられて...
ただ,ブラウザが標準で対応しないことが多いなどもありGIFを...
拡張子はpng.
***特徴 [#rdcf2631]
PNGは歴史的な経緯からGIFと比較されることが多いので,ここ...
-フルカラーサポート : GIFは256色(8ビット)であったが,PNG...
-アルファチャンネルのサポート : 8/16ビットアルファチャン...
-ガンマ補正のサポート
-2次元インタレース : GIFより早めに全体像が見える.
-GIFより圧縮サイズが小さい : といっても5〜25%ぐらいらし...
欠点としては,
-アニメーション(複数画像)は対応していない : ただし拡張フ...
-圧縮・展開に時間がかかる
その他の特徴は以下のページ参照.
-[[A Basic Introduction to PNG Features:http://www.libpng...
PNGはJPEGほど圧縮率は高くないが,可逆圧縮なので画像が劣化...
***libpngライブラリ [#qd256a41]
[[libpng:http://www.libpng.org/pub/png/libpng.html]]はPNG...
***libpngのビルド [#r7b53deb]
#include(build_libpng,title)
***コード例 [#w9883484]
libpngを用いてPNGファイルの読み込み,書き出しを行う関数を...
#ref(rx_png.h)
使うときは,ライブラリファイルをリンクすること.VC++なら...
#ifdef _DEBUG
#pragma comment (lib, "libpngd.lib")
#pragma comment (lib, "zlibd.lib")
#else
#pragma comment (lib, "libpng.lib")
#pragma comment (lib, "zlib.lib")
#endif
*WebP [#labcf23d]
[[WebP(ウェッピー):http://ja.wikipedia.org/wiki/WebP]]はG...
動画フォーマットのWebMの静止画版.
***特徴 [#a97d960d]
WebMで使われているVP8を使って圧縮し,RIFFを元にしたコンテ...
可逆,不可逆圧縮両方に対応し,可逆圧縮の場合,PNGより[[28...
***対応ソフトウェア [#v7592aca]
WebP画像ファイルへの変換は,[[WebPのページ:http://code.go...
***libwebpライブラリ [#i59e1e2b]
libwebpはGoogle codeで公開されているWebPを扱うためのライ...
***libwebpのビルド [#s2e7cfb8]
#include(build_webp,title)
***コード例 [#w9883484]
libwebpを用いてWebPファイルの読み込み,書き出しを行う関数...
#ref(rx_webp.h)
libwebpのソースに付属のサンプルを元にしている.
使うときは,ライブラリファイルをリンクすること.VC++なら...
#ifdef _DEBUG
#pragma comment (lib, "libwebp_a_debug.lib")
#else
#pragma comment (lib, "libwebp_a.lib")
#endif
*リンク [#s540a4f0]
C/C++での画像入出力に使えそうなライブラリ
- [[FreeImage:http://freeimage.sourceforge.net/]] : BMP,J...
- [[OpenCV:https://opencv.org/]] : 言わずと知れた画像処理...
ページ名: