lmrcImageHoughTransform(API)
提供: Eospedia
DataManip/mrcImage/src/lmrcImageHoughTransformはハフ変換及び逆変換のためのAPIです。mrcImageHoughTransform、mrcImageHoughTransformInverseで使用しています。
定数
typedef enum lmrcImageHoughTransformMode { lmrcImageHoughTransformModeLines=0, lmrcImageHoughTransformModeTwoLines, lmrcImageHoughTransformModeOpenTwoLines, lmrcImageHoughTransformModeRectangles, lmrcImageHoughTransformModeFilledRectangles, lmrcImageHoughTransformModeCircles, lmrcImageHoughTransformModeFilledCircles, lmrcImageHoughTransformModeGivenStructure } lmrcImageHoughTransformMode;
構造体
typedef struct lmrcImageHoughTransformInfo { double deltaRho; /* pixel */ double deltaTheta; /* radian */ lmrcImageHoughTransformMode HoughSpaceMode; // for TwoLines, Rectangle, FilledRectangle double widthMin; double widthMax; double widthOut; double heightMin; double heightMax; double heightOut; mrcImageMode InterpolationMode; // Inverse int Nx; int Ny; double dx; double dy; } lmrcImageHoughTransformInfo;
API
ハフ変換
inを入力としてハフ変換したデータをoutへ格納します。
extern void lmrcImageHoughTransform(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode);
linfo->HoughSpaceModeにより処理を選択できます。
linfo->HoughSpaceMode | 処理 |
---|---|
lmrcImageHoughTransformModeLines | lmrcImageHoughTransformLines |
lmrcImageHoughTransformModeTwoLines | lmrcImageHoughTransformTwoLines |
lmrcImageHoughTransformModeFilledRectangles | lmrcImageHoughTransformFilledRectangles |
初期化
extern void lmrcImageHoughTransformInit(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode);
Lines(mode=0: Nearest, 1: Linear)
extern void lmrcImageHoughTransformLines(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode);
TwoLines(mode=0: Nearest, 1: Linear)
extern void lmrcImageHoughTransformTwoLines(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode);
FilledRectangles(mode=0: Nearest, 1: Linear)
extern void lmrcImageHoughTransformFilledRectangles(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode);
ハフ逆変換
inを入力としてハフ逆変換したデータをoutへ格納します。
extern void lmrcImageHoughTransformInverse(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode);
linfo->HoughSpaceModeにより処理を選択できます。
linfo->HoughSpaceMode | 処理 |
---|---|
lmrcImageHoughTransformModeLines | lmrcImageHoughTransformInverseLines |
初期化
extern void lmrcImageHoughTransformInverseInit(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode);
Lines
extern void lmrcImageHoughTransformInverseLines(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode);
TwoLines
extern void lmrcImageHoughTransformInverseTwoLines(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode);
API情報
モード説明を出力
extern void lmrcImageHoughTransformSpaceModePrint(FILE* fpt);