1. 製品
  2.   画像
  3.   C++
  4.   Boost.GIL

Boost.GIL

 
 

オープン ソース C++ ジェネリック イメージ ライブラリ

アルゴリズムから画像表現を抽象化し、単純な画像と複雑な画像の操作をサポートする C++ API。ヒストグラムの生成、画像勾配の計算、畳み込みとリサンプリングなど。

画像は、グラフィック、デジタルビデオ、コンピュータビジョン、画像処理に関する多くのプロジェクトの基礎的な部分です。 また、色空間、ビット深さ、チャンネル注文、アライメントポリシーなど、さまざまな方法で画像が表現できます。 そのため、ジェネリックなイメージ関連プロジェクトや、効率性が非常に難しいプロジェクトに取り組んでいます。 Boost Generic Image Library(IL)は、ソフトウェア開発者に独自のC++アプリケーション内でシンプルで複雑な画像を扱うことができるオープンソースライブラリです。

ブーストの素晴らしいこと。 ILライブラリは、アルゴリズムからイメージ表現を抽象化し、特定のイメージタイプのハンドライティングに匹敵するパフォーマンスとさまざまな画像を扱うことができるコードを書くことです。 そのため、開発者のジョブを簡単に作成することで、コードを一度書き出し、任意のイメージタイプで動作させることができます。

ブースト。 ILライブラリは、TL および Boost 準拠として設計されています。 ライブラリのもう一つの大きな側面はスピードと柔軟性です。 Speedはライブラリの設計の重要な部分でした。 他の多くのライブラリと比較して、非常にマイナーなパフォーマンスコストの実行時に任意のイメージパラメータを簡単に定義できます。 非バイト整列ピクセル、コンピューティングイメージグラデーション、ブーツの統合、グレースケールピクセル、コンサルテーション、サンプリングなどのチャネルを割り当てるなど、いくつかの重要な機能をサポートしています。

Previous Next

Boost.GIL を使ってみる

Boost.GIL をインストールする最も簡単な方法は、GitHub を使用することです。スムーズなインストールのために次のコマンドを使用してください

GitHub 経由で Boost.GIL をインストールします。

git clone --https://github.com/boostorg/gil

イメージの読み取りと書き込み

ヒストグラムは、デジタル画像の階調分布をグラフィカルに表現したものです。画像処理のコンテキストでは、画像のヒストグラムは通常、ピクセル強度値のヒストグラムを指します。 Boost.GIL ライブラリを使用すると、ソフトウェア開発者は C++ コードを使用して独自のアプリケーション内でヒストグラムを生成できます。これは、各ビンに含まれるピクセル値の数をカウントすることで生成できます。画像の明度ヒストグラムも簡単に計算できます。

イメージを書く C++ API

#define png_infopp_NULL (png_infopp)NULL
#define int_p_NULL (int*)NULL
#include 
#include 
using namespace boost::gil;
int main()
{
    rgb8_image_t img(512, 512);
    rgb8_pixel_t red(255, 0, 0);
    fill_pixels(view(img), red);
    png_write_view("redsquare.png", const_view(img));
}

C++ API を使用したピクセルレベルの画像操作

オープンソースライブラリ Boost。 ILは、独自のC++アプリケーション内でピクセルレベルの画像操作をサポートしました。 ライブラリは、ユーザーがピクセル値、ピクセルポインタ、およびピクセル参照を処理することを可能にするいくつかの便利な操作が含まれていました。ピクセルカラー、チャネルにアクセスし、2つのチャネルを比較し、コンジット平面ポインタを構築し、グレーl値をGBに変換します。

色空間をグレースケールに変換 C++


  template 
void x_luminosity_gradient(SrcView const& src, DstView const& dst)
{
  using gray_pixel_t = pixel::type, gray_layout_t>;
  x_gradient(color_converted_view(src), dst);
}

C++アプリ内の画像変換

オープンソースブースト。 ILライブラリは、ソフトウェアプログラマがコードのほんの数行で画像を回転させる機能を提供します。 ブースト。 ILは、任意の軸揃えの回転、フリップイメージを垂直または水平方向に実行できるさまざまな画像変換機能をサポートし、長方形のサブイメージを抽出し、色変換を適用します。、90、180、または270度による特別な回転。

C++ APIによる画像変換


  template 
  void y_gradient(const SrcView& src, const DstView& dst) {
      x_gradient(rotated90ccw_view(src), rotated90ccw_view(dst));
  }
 日本