「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です。mrcImageHoughTransformmrcImageHoughTransformInverseで使用しています。

定数

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