lmrcImagePad(API)
提供: Eospedia
DataManip/mrcImage/src/lmrcImagePadはmrcImagePadのためのAPI です。
定数
lmrcImagePadのmodeで使用します。
typedef enum lmrcImagePadMode { lmrcImagePadModeAverage = 0, lmrcImagePadModeAveragedYAxis = 1, lmrcImagePadModeDynamicAveragedYAxis = 2, lmrcImagePadModeAveragedEdge = 3, lmrcImagePadModeBottomLeft = 4, lmrcImagePadModeCenterWithoutAveraging = 5, lmrcImagePadModeBottomLeftWithoutAveraging= 6, lmrcImagePadModeAveragedOutsideCircle = 7, lmrcImagePadModeAveragedOutsideRing = 8, lmrcImagePadModeByValue = 9, lmrcImagePadModePeripheryMaskingByValue = 10, lmrcImagePadModeNormalizedByBgAvgAndBgAvgOffset = 11, lmrcImagePadModeNormalizedByImgVarAndImgAvgOffset = 12, lmrcImagePadModeNormalizedByBgVarAndBgAvgOffset = 13, lmrcImagePadModeNormalizedByDifferenceBeteweenImgAvgAndBgAvg = 14, lmrcImagePadModeTiltedImageCircleAverage = 15 } lmrcImagePadMode;
構造体
APIを使用するときの設定データとして使用します。
typedef struct lmrcImagePadInfo { mrcImageParaTypeInteger Width; mrcImageParaTypeInteger Height; mrcImageParaTypeReal Value; mrcImageParaTypeReal AWSize; mrcImageParaTypeReal AWMin; mrcImageParaTypeReal AWMax; mrcImageParaTypeReal ExpectedValue; int flagExpectedValue; mrcImageParaTypeReal TiltAxisAngle; mrcImageParaTypeReal TiltAngle; } lmrcImagePadInfo;
API
パディング
メイン
extern void lmrcImagePad(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, lmrcImagePadMode mode);
引数のmodeによって、以下の中から処理のいずれかが実行されます。
outのヘッダはinと同じに、サイズは(info->Width, info->Height)として設定します。
mode=XX: __lmrcImagePadXX を実行します。
mode=15: __lmrcImagePadTiltImageを実行します。
平均値でパディングします。
extern void __lmrcImagePad0(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode);
出力画像outの要素 | 処理結果 |
---|---|
入力画像inの配置 | 中央配置 |
in内のデータ | + info->Value - (inの平均値) |
in外のデータ | info->Value |
extern void __lmrcImagePad1(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePad2(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePad3(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePad4(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePad5(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePad6(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePad7(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePad8(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePad9(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePad10(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePad11(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePad12(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePad13(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePad14(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode); extern void __lmrcImagePadTiltImage(mrcImage* out, mrcImage* in, lmrcImagePadInfo* info, long mode);
API情報の出力
APIで使用するのモード説明を出力します。
extern void lmrcImagePadModePrint(FILE* fpt);