lmrcImageEdgeEnhancement(API)
提供: Eospedia
DataManip/mrcImage/src/lmrcImageEdgeEnhancementはエッジ強調ためのAPIです。mrcImageEdgeEnhancementで使用しています。
目次
定数
typedef enum lmrcImageEdgeEnhancementMode { lmrcImageEdegeEnhancementModeDifferentialSQRT=0, lmrcImageEdegeEnhancementModeDifferentialABS, lmrcImageEdegeEnhancementModeRobertsCrossSQRT, lmrcImageEdegeEnhancementModeRobertsCrossABS, lmrcImageEdegeEnhancementModePrewittSQRT, lmrcImageEdegeEnhancementModePrewittABS, lmrcImageEdegeEnhancementModeSobelSQRT, lmrcImageEdegeEnhancementModeSobelABS, lmrcImageEdegeEnhancementModeNegativeLaplacian } lmrcImageEdgeEnhancementMode;
構造体
typedef struct lmrcImageEdgeEnhancementInfo { int flagDirection; mrcImage* direction; // Neigherboring Mode int mode; } lmrcImageEdgeEnhancementInfo;
API
メイン
extern void lmrcImageEdgeEnhancement(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode);
modeによって使用する関数を選択できます。
mode | 関数 |
---|---|
lmrcImageEdegeEnhancementModeDifferentialSQRT | lmrcImageEdgeEnhancementDifferentialSQRT |
lmrcImageEdegeEnhancementModeDifferentialABS | lmrcImageEdgeEnhancementDifferentialABS |
lmrcImageEdegeEnhancementModeRobertsCrossSQRT | lmrcImageEdgeEnhancementRobertsCrossOperatorSQRT |
lmrcImageEdegeEnhancementModeRobertsCrossABS | lmrcImageEdgeEnhancementRobertsCrossOperatorABS |
lmrcImageEdegeEnhancementModePrewittSQRT | lmrcImageEdgeEnhancementPrewittOperatorSQRT |
lmrcImageEdegeEnhancementModePrewittABS | lmrcImageEdgeEnhancementPrewittOperatorABS |
lmrcImageEdegeEnhancementModeSobelSQRT | lmrcImageEdgeEnhancementSobelOperatorSQRT |
lmrcImageEdegeEnhancementModeSobelABS | lmrcImageEdgeEnhancementSobelOperatorABS |
これ以外 | 処理なし |
前処理
extern void lmrcImageEdgeEnhancementPrepare(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode);
Differential
extern void lmrcImageEdgeEnhancementDifferentialSQRT(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode); extern void lmrcImageEdgeEnhancementDifferentialABS(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode);
Roberts
extern void lmrcImageEdgeEnhancementRobertsCrossOperatorSQRT(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode); extern void lmrcImageEdgeEnhancementRobertsCrossOperatorABS(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode);
Prewitt
extern void lmrcImageEdgeEnhancementPrewittOperatorSQRT(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode); extern void lmrcImageEdgeEnhancementPrewittOperatorABS(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode);
Sobel
extern void lmrcImageEdgeEnhancementSobelOperatorSQRT(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode); extern void lmrcImageEdgeEnhancementSobelOperatorABS(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode);
NegativeLaplacian
extern void lmrcImageEdgeEnhancementNegativeLaplacian(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode);
API情報
モードの説明を出力
extern void lmrcImageEdgeEnhancementModePrint(FILE* fpt);