ailia  1.4.0.0
マクロ定義 | 関数
ailia_format.h ファイル

AILIA フォーマット定義・変換 [詳解]

被依存関係図:

[ソースコード]

マクロ定義

#define AILIA_API   __stdcall
 
#define AILIA_IMAGE_FORMAT_RGBA   (0x00)
 
#define AILIA_IMAGE_FORMAT_BGRA   (0x01)
 
#define AILIA_IMAGE_FORMAT_RGB   (0x02)
 
#define AILIA_IMAGE_FORMAT_BGR   (0x03)
 
#define AILIA_IMAGE_FORMAT_RGBA_B2T   (0x10)
 
#define AILIA_IMAGE_FORMAT_BGRA_B2T   (0x11)
 
#define AILIA_NETWORK_IMAGE_FORMAT_BGR   (0)
 
#define AILIA_NETWORK_IMAGE_FORMAT_RGB   (1)
 
#define AILIA_NETWORK_IMAGE_FORMAT_GRAY   (2)
 
#define AILIA_NETWORK_IMAGE_FORMAT_GRAY_EQUALIZE   (3)
 
#define AILIA_NETWORK_IMAGE_CHANNEL_FIRST   (0)
 
#define AILIA_NETWORK_IMAGE_CHANNEL_LAST   (1)
 
#define AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_INT8   (0)
 
#define AILIA_NETWORK_IMAGE_RANGE_SIGNED_INT8   (1)
 
#define AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32   (2)
 
#define AILIA_NETWORK_IMAGE_RANGE_SIGNED_FP32   (3)
 
#define AILIA_NETWORK_IMAGE_RANGE_IMAGENET   (4)
 

関数

int AILIA_API ailiaFormatConvert (void *dst, unsigned int dst_width, unsigned int dst_height, unsigned int dst_format, unsigned int dst_channel, unsigned int dst_range, const void *src, int src_stride, unsigned int src_width, unsigned int src_height, unsigned int src_format)
 画像のフォーマットを変換します。 [詳解]
 

詳解

AILIA フォーマット定義・変換

日付
2021/07/28

マクロ定義詳解

◆ AILIA_API

#define AILIA_API   __stdcall

◆ AILIA_IMAGE_FORMAT_BGR

#define AILIA_IMAGE_FORMAT_BGR   (0x03)

BGR順

◆ AILIA_IMAGE_FORMAT_BGRA

#define AILIA_IMAGE_FORMAT_BGRA   (0x01)

BGRA順

◆ AILIA_IMAGE_FORMAT_BGRA_B2T

#define AILIA_IMAGE_FORMAT_BGRA_B2T   (0x11)

BGRA順(Bottom to Top)

◆ AILIA_IMAGE_FORMAT_RGB

#define AILIA_IMAGE_FORMAT_RGB   (0x02)

RGB順

◆ AILIA_IMAGE_FORMAT_RGBA

#define AILIA_IMAGE_FORMAT_RGBA   (0x00)

RGBA順

◆ AILIA_IMAGE_FORMAT_RGBA_B2T

#define AILIA_IMAGE_FORMAT_RGBA_B2T   (0x10)

RGBA順(Bottom to Top)

◆ AILIA_NETWORK_IMAGE_CHANNEL_FIRST

#define AILIA_NETWORK_IMAGE_CHANNEL_FIRST   (0)

DCYX順

◆ AILIA_NETWORK_IMAGE_CHANNEL_LAST

#define AILIA_NETWORK_IMAGE_CHANNEL_LAST   (1)

DYXC順

◆ AILIA_NETWORK_IMAGE_FORMAT_BGR

#define AILIA_NETWORK_IMAGE_FORMAT_BGR   (0)

BGR順

◆ AILIA_NETWORK_IMAGE_FORMAT_GRAY

#define AILIA_NETWORK_IMAGE_FORMAT_GRAY   (2)

Gray Scale (1ch)

◆ AILIA_NETWORK_IMAGE_FORMAT_GRAY_EQUALIZE

#define AILIA_NETWORK_IMAGE_FORMAT_GRAY_EQUALIZE   (3)

ヒストグラム平坦化 Gray Scale (1ch)

◆ AILIA_NETWORK_IMAGE_FORMAT_RGB

#define AILIA_NETWORK_IMAGE_FORMAT_RGB   (1)

RGB順

◆ AILIA_NETWORK_IMAGE_RANGE_IMAGENET

#define AILIA_NETWORK_IMAGE_RANGE_IMAGENET   (4)

ImageNet mean&std normalize

◆ AILIA_NETWORK_IMAGE_RANGE_SIGNED_FP32

#define AILIA_NETWORK_IMAGE_RANGE_SIGNED_FP32   (3)

-1.0 ~ 1.0

◆ AILIA_NETWORK_IMAGE_RANGE_SIGNED_INT8

#define AILIA_NETWORK_IMAGE_RANGE_SIGNED_INT8   (1)

-128 ~ 127

◆ AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32

#define AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_FP32   (2)

0.0 ~ 1.0

◆ AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_INT8

#define AILIA_NETWORK_IMAGE_RANGE_UNSIGNED_INT8   (0)

0 ~ 255

関数詳解

◆ ailiaFormatConvert()

int AILIA_API ailiaFormatConvert ( void *  dst,
unsigned int  dst_width,
unsigned int  dst_height,
unsigned int  dst_format,
unsigned int  dst_channel,
unsigned int  dst_range,
const void *  src,
int  src_stride,
unsigned int  src_width,
unsigned int  src_height,
unsigned int  src_format 
)

画像のフォーマットを変換します。

引数
dst変換後画像の格納先(numeric型、sizeof(float) * dst_width * dst_height * チャンネル数(解説参照)以上のサイズを確保すること)
dst_width変換後画像の横幅
dst_height変換後画像の高さ
dst_format変換後画像の形式 (AILIA_NETWORK_IMAGE_FORMAT_*)
dst_channel変換後画像のチャンネル順 (AILIA_NETWORK_IMAGE_CHANNEL_*)
dst_range変換後画像のレンジ (AILIA_NETWORK_IMAGE_RANGE_*)
src変換元画像の格納先(32bpp)
src_stride変換元画像のラインバイト数
src_width変換元画像の横幅
src_height変換元画像の高さ
src_format変換元画像の形式 (AILIA_IMAGE_FORMAT_*)
戻り値
成功した場合は AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。

画像フォーマットを変更します。dst_formatが AILIA_NETWORK_IMAGE_FORMAT_BGR もしくはAILIA_NETWORK_IMAGE_FORMAT_RGB の場合、チャンネル数は3, AILIA_NETWORK_IMAGE_FORMAT_GRAY の場合チャンネル数は1となります。