「lmrcImageHoughTransform(API)」の版間の差分
提供: Eospedia
(ページの作成:「DataManip/mrcImage/src/'''lmrcImageHoughTransform'''はハフ変換及び逆変換のためのAPIです。mrcImageHoughTransform、mrcImageHoughTransformInverse...」) |
(→API) |
||
| 行57: | 行57: | ||
<td>lmrcImageHoughTransformFilledRectangles</td> | <td>lmrcImageHoughTransformFilledRectangles</td> | ||
</tr> | </tr> | ||
| − | <table> | + | </table> |
<br> | <br> | ||
| 行63: | 行63: | ||
extern void lmrcImageHoughTransformInit(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode); | extern void lmrcImageHoughTransformInit(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode); | ||
| − | Lines(mode=0: Nearest, 1: Linear) | + | Lines(mode=0: Nearest, 1: Linear)<br> |
extern void lmrcImageHoughTransformLines(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode); | extern void lmrcImageHoughTransformLines(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode); | ||
| − | TwoLines(mode=0: Nearest, 1: Linear) | + | TwoLines(mode=0: Nearest, 1: Linear)<br> |
extern void lmrcImageHoughTransformTwoLines(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode); | extern void lmrcImageHoughTransformTwoLines(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode); | ||
| − | FilledRectangles(mode=0: Nearest, 1: Linear) | + | FilledRectangles(mode=0: Nearest, 1: Linear)<br> |
extern void lmrcImageHoughTransformFilledRectangles(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode); | extern void lmrcImageHoughTransformFilledRectangles(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode); | ||
| 行85: | 行85: | ||
<td>lmrcImageHoughTransformInverseLines</td> | <td>lmrcImageHoughTransformInverseLines</td> | ||
</tr> | </tr> | ||
| − | <table> | + | </table> |
<br> | <br> | ||
| − | + | 初期化 | |
extern void lmrcImageHoughTransformInverseInit(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode); | extern void lmrcImageHoughTransformInverseInit(mrcImage* out, mrcImage* in, lmrcImageHoughTransformInfo* linfo, int mode); | ||
2015年3月12日 (木) 02:33時点における最新版
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);