10.13. イメージ情報の取得

注記

詳しくは「表:イメージ情報の取得関数」(表B.128「表:イメージ情報の取得関数」)を参照ください。

ソースコードの設計にもよりますが、ホストAPI内ではなく、カーネル内でイメージの高さや幅、イメージチャンネルのデータ型を取得したいことが頻繁にあるかと思います。

以下は2次元イメージの幅を取得する関数です。

int get_image_width (
    image2d_t image)

整数型で幅の値が戻ります。2次元イメージの高さを取得する関数は以下になります。

int get_image_height (
    image2d_t image)

整数型で高さの値が戻ります。2次元イメージのデータ型の種類(例:CLK_UNORM_INT8)やチェネル順序(例:CLK_RGBA)を取得する関数は以下となります。

int get_image_channel_data_type (
    image2d_t image)
int get_image_channel_order (
    image2d_t image)

もちろん3次元の奥行きを取得する関数もあります。

int get_image_depth (
    image3d_t image)

1次元、2次元配列等のイメージデータに対応した関数のリストを見たい場合は「表:イメージ情報の取得関数」(表B.128「表:イメージ情報の取得関数」)を参照ください。

10.13.1. イメージチャンネルのマッピング

注記

「表:イメージチャンネルのマッピング」(表B.129「表:イメージチャンネルのマッピング」)を参照ください。

read_imageで戻された色彩値へイメージチャンネルをマップ。write_imageに渡された色彩値をイメージチャンネルにマップします。

例えば頻繁に使うマップは以下のようになります。

CL_R
(r, 0.0, 0.0, 1.0)
CL_RGB
(r, g, b, 1.0)
CL_RGBA
(r, g, b, a)

4つの要素がない場合は、0.0や1.0を適宜に代入(マップ)しています。

Copyright 2018-2019, by Masaki Komatsu