符号付き画像からカラー画像への変換
Namespace: FVIL.DataAssembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)
Syntax
C# |
---|
public virtual void SignedToRGB( int channel, CFviImage dst, uint option ) |
Visual Basic |
---|
Public Overridable Sub SignedToRGB ( channel As Integer, dst As CFviImage, option As UInteger ) |
Parameters
- channel
- Type: System..::..Int32
チャネル番号 (0~(Channel-1))
- dst
- Type: FVIL.Data..::..CFviImage
出力先の画像オブジェクト
- option
- Type: System..::..UInt32
処理オプション (0,1)
以下の値で適用範囲を選択できます。- 0: 処理ウィンドウ で指定された範囲を処理します。
- 1: 画像全体を処理します。
Remarks
この画像オブジェクトが符号付き画像の場合に、カラー画像に変換します。
このメソッドは符号付き画像を視覚的に確認する際に使用するものです。
ビット深度が適切でなければ正常に変換されません。
この処理を行う前に または
CalcDepthForChannel(Int32) でビット深度を計算し、
Depth で設定しておいてください。
処理対象の画像種別以外が指定された場合はエラーとなりますが、
ビット深度が上限値を超えていた場合は正規化されます。
-
変換元の画像種別とビット深度
- FVIL.ImageType.S16 (1~15)
- FVIL.ImageType.I32 (1~31)
- FVIL.ImageType.I64 (1~63)
- FVIL.ImageType.F32 (1~32)
- FVIL.ImageType.D64 (1~64)
-
変換先の画像種別
- FVIL.ImageType.RGB24
- FVIL.ImageType.RGB32
符号付き画像の各画素値が 0~255 にスケーリングされ、正の値はグレー、負の値はマゼンタに変換されます。
上限値以上の値、下限値以下の値は飽和されます。
上限値と下限値はこの画像オブジェクトに設定されたビット深度(Depth)から下式により計算されます。
上限値) upper = 2depth
下限値) lower = -(2depth)
画像種別が整数の場合、型の最小値は下限値(lower)と同一になる為、飽和します。
(例えば S16 では -32768、I32 では -2147483648)
変換先のカラー画像の種別は dst に従います。
dst が RGB32 の場合、アルファチャネルの値は書き換えられません。
対応表:
変換元の範囲 | 変換先(R) | 変換先(G) | 変換先(B) | 色 | 備考 |
0≦value<upper | 0x00~0xFF | 0x00~0xFF | 0x00~0xFF | グレー | スケーリング |
lower<value<0 | 0x00~0xFF | 0x00 | 0x00~0xFF | マゼンタ | スケーリング |
upper≦value | 0xFF | 0xFF | 0xFF | ホワイト | 飽和(上限値以上の為) |
value≦lower | 0xFF | 0x00 | 0xFF | マゼンタ | 飽和(下限値以下の為) |
処理に失敗した場合は例外を発行します。 例外の原因と発生位置を特定するには、発行された例外クラスの ErrorCode メンバと Function メンバを参照してください。
エラーコード:
値 | ErrorCode メンバ | 内容 |
---|---|---|
23 | FVIL.ErrorCode.NOT_ALLOCATED | この画像オブジェクトまたは dst の領域が確保されていません。 |
18 | FVIL.ErrorCode.INVALID_CHANNEL | 指定されたチャネル番号がこの画像オブジェクトのチャネル数の範囲外です。 |
11 | FVIL.ErrorCode.INVALID_PARAMETER | dst が null または、option が不正です。 |
19 | FVIL.ErrorCode.INVALID_PROCAREA | dst の処理範囲がこの画像オブジェクトの処理範囲を下回っています。 |
92 | FVIL.ErrorCode.INVALID_DST_IMAGETYPE | dst の画像種別が処理対象外です。 |
98 | FVIL.ErrorCode.INVALID_DST_CHANNEL | dst のチャネル数が 1 ではありません。 |
91 | FVIL.ErrorCode.INVALID_SRC_IMAGETYPE | この画像オブジェクトの画像種別が処理対象外です。 |
Exceptions
Exception | Condition |
---|---|
FVIL..::..CFviException | この例外の原因については、上記のエラーコード表をご参照ください。 |