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);