「lmrcImageEdgeEnhancement(API)」の版間の差分
提供: Eospedia
(ページの作成:「DataManip/mrcImage/src/'''lmrcImageEdgeEnhancement'''はエッジ強調ためのAPIです。mrcImageEdgeEnhancementで使用しています。 == 定数 == type...」) |
(→API) |
||
行24: | 行24: | ||
== API == | == API == | ||
− | + | === メイン === | |
extern void lmrcImageEdgeEnhancement(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode); | extern void lmrcImageEdgeEnhancement(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode); | ||
− | + | modeによって使用する関数を選択できます。<br> | |
+ | <table border=1> | ||
+ | <tr> | ||
+ | <th>mode</th> | ||
+ | <th>関数</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>lmrcImageEdegeEnhancementModeDifferentialSQRT</td> | ||
+ | <td>lmrcImageEdgeEnhancementDifferentialSQRT</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>lmrcImageEdegeEnhancementModeDifferentialABS</td> | ||
+ | <td>lmrcImageEdgeEnhancementDifferentialABS</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>lmrcImageEdegeEnhancementModeRobertsCrossSQRT</td> | ||
+ | <td>lmrcImageEdgeEnhancementRobertsCrossOperatorSQRT</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>lmrcImageEdegeEnhancementModeRobertsCrossABS</td> | ||
+ | <td>lmrcImageEdgeEnhancementRobertsCrossOperatorABS</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>lmrcImageEdegeEnhancementModePrewittSQRT</td> | ||
+ | <td>lmrcImageEdgeEnhancementPrewittOperatorSQRT</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>lmrcImageEdegeEnhancementModePrewittABS</td> | ||
+ | <td>lmrcImageEdgeEnhancementPrewittOperatorABS</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>lmrcImageEdegeEnhancementModeSobelSQRT</td> | ||
+ | <td>lmrcImageEdgeEnhancementSobelOperatorSQRT</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>lmrcImageEdegeEnhancementModeSobelABS</td> | ||
+ | <td>lmrcImageEdgeEnhancementSobelOperatorABS</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>これ以外</td> | ||
+ | <td>処理なし</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | <br> | ||
+ | === 前処理 === | ||
+ | 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 lmrcImageEdgeEnhancementDifferentialSQRT(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode); | ||
extern void lmrcImageEdgeEnhancementDifferentialABS(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 lmrcImageEdgeEnhancementRobertsCrossOperatorSQRT(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode); | ||
extern void lmrcImageEdgeEnhancementRobertsCrossOperatorABS(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 lmrcImageEdgeEnhancementPrewittOperatorSQRT(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode); | ||
extern void lmrcImageEdgeEnhancementPrewittOperatorABS(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 lmrcImageEdgeEnhancementSobelOperatorSQRT(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode); | ||
extern void lmrcImageEdgeEnhancementSobelOperatorABS(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); | extern void lmrcImageEdgeEnhancementNegativeLaplacian(mrcImage* out, mrcImage* in, lmrcImageEdgeEnhancementInfo* linfo, int mode); | ||
+ | |||
+ | === API情報 === | ||
+ | モードの説明を出力 | ||
+ | extern void lmrcImageEdgeEnhancementModePrint(FILE* fpt); |
2015年3月10日 (火) 03:01時点における最新版
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);