「lmrcImageMorphology(API)」の版間の差分

提供: Eospedia
移動: 案内検索
(ページの作成:「DataManip/mrcImage/src/'''lmrcImageMorphology'''はモルフォロジー処理のためのAPI です。 == 定数 == == 構造体 == typedef struct lmrcImageMorphology...」)
 
 
(同じ利用者による、間の1版が非表示)
行19: 行19:
  
 
== API ==
 
== API ==
===lmrcImageMorphology===
+
===モルフォロジー(lmrcImageMorphology)===
 +
====メイン====
 
  void lmrcImageMorphologyStructuringElementSet(lmrcImageMorphologyInfo* linfo, int mode);
 
  void lmrcImageMorphologyStructuringElementSet(lmrcImageMorphologyInfo* linfo, int mode);
void lmrcImageMorphologyStructuringElementSetInfoPrint(FILE* fpt);
+
linfo->modeによって処理を選択できます。
 +
<table border=1>
 +
<tr>
 +
<th>linfo->mode</th>
 +
<th>処理</th>
 +
</tr>
 +
<tr>
 +
<td>0</td>
 +
<td>lmrcImageMorphologyStructuringElement2DCross</td>
 +
</tr>
 +
<tr>
 +
<td>1</td>
 +
<td>lmrcImageMorphologyStructuringElement2DSquare</td>
 +
</tr>
 +
<tr>
 +
<td>2</td>
 +
<td>lmrcImageMorphologyStructuringElement2DDisk</td>
 +
</tr>
 +
<tr>
 +
<td>3</td>
 +
<td>lmrcImageMorphologyStructuringElement3DCross</td>
 +
</tr>
 +
<tr>
 +
<td>4</td>
 +
<td>lmrcImageMorphologyStructuringElement3DCubic</td>
 +
</tr>
 +
<tr>
 +
<td>5</td>
 +
<td>lmrcImageMorphologyStructuringElement3DSphere</td>
 +
</tr>
 +
<tr>
 +
<td>6</td>
 +
<td>lmrcImageMorphologyStructuringElement2DRectangle</td>
 +
</tr>
 +
<tr>
 +
<td>7</td>
 +
<td>lmrcImageMorphologyStructuringElement3DCuboid</td>
 +
</tr>
 +
<tr>
 +
<td>8</td>
 +
<td>lmrcImageMorphologyStructuringElement3DCylinder</td>
 +
</tr>
 +
</table>
 +
<br>
 +
 
 +
====2D====
 +
Cross3x3
 
  void lmrcImageMorphologyStructuringElement2DCross(mrcImage* out, int mode);
 
  void lmrcImageMorphologyStructuringElement2DCross(mrcImage* out, int mode);
 +
 +
Square3x3
 
  void lmrcImageMorphologyStructuringElement2DSquare(mrcImage* out, int mode);
 
  void lmrcImageMorphologyStructuringElement2DSquare(mrcImage* out, int mode);
  void lmrcImageMorphologyStructuringElement2DOpenDisk(mrcImage* out, int r, int n, int mode);
+
 
 +
Disk
 +
  void lmrcImageMorphologyStructuringElement2DDisk(mrcImage* out, int r, int n, int mode);
 +
 
 +
Rectangle
 +
void lmrcImageMorphologyStructuringElement2DRectangle(mrcImage* out, int nx, int ny, int mode);
 +
 
 +
====3D====
 +
Cross3x3x3
 
  void lmrcImageMorphologyStructuringElement3DCross(mrcImage* out, int mode);
 
  void lmrcImageMorphologyStructuringElement3DCross(mrcImage* out, int mode);
 +
Cubic3x3x3
 
  void lmrcImageMorphologyStructuringElement3DCubic(mrcImage* out, int mode);
 
  void lmrcImageMorphologyStructuringElement3DCubic(mrcImage* out, int mode);
  void lmrcImageMorphologyStructuringElement3DOpenSphere(mrcImage* out, int r, int n, int mode);
+
Sphere
  void lmrcImageMorphologyStructuringElementOpenSphere(mrcImage* out, int r, int n, int mode);
+
  void lmrcImageMorphologyStructuringElement3DSphere(mrcImage* out, int r, int n, int mode);
 +
  void lmrcImageMorphologyStructuringElementSphere(mrcImage* out, int r, int nx, int ny, int nz, int mode);
 +
Cuboid
 +
void lmrcImageMorphologyStructuringElement3DCuboid(mrcImage* out, int nx, int ny, int nz, int mode);
 +
Cylinder
 +
void lmrcImageMorphologyStructuringElement3DCylinder(mrcImage* out, int r, int nx, int ny, int nz, int mode);
  
 
===縮退(lmrcImageErosion)===
 
===縮退(lmrcImageErosion)===
行41: 行104:
 
===クロージング(lmrcImageClosing)===
 
===クロージング(lmrcImageClosing)===
 
  void lmrcImageClosing(mrcImage* dst, mrcImage* src, lmrcImageMorphologyInfo linfo, int times, int mode);
 
  void lmrcImageClosing(mrcImage* dst, mrcImage* src, lmrcImageMorphologyInfo linfo, int times, int mode);
 +
 +
===トップハット(lmrcImageTopHatTransform)
 +
void lmrcImageTopHatTransform(mrcImage* dst, mrcImage* src, lmrcImageMorphologyInfo linfo, int times, int mode);
 +
 +
===ボトムハット(lmrcImageBottomHatTransform)===
 +
void lmrcImageBottomHatTransform(mrcImage* dst, mrcImage* src, lmrcImageMorphologyInfo linfo, int times, int mode);
 +
 +
===API情報===
 +
モード説明を出力
 +
void lmrcImageMorphologyStructuringElementSetInfoPrint(FILE* fpt);

2015年3月11日 (水) 08:16時点における最新版

DataManip/mrcImage/src/lmrcImageMorphologyはモルフォロジー処理のためのAPI です。

定数

構造体

typedef struct lmrcImageMorphologyInfo {
	mrcImage SE; /* Structuring Elements */  

	/* for SE*/
	int n;      /* for Any size */ 
	int nx;
	int ny;
	int nz;
	int radius; /* for Disk*/

	/* SE feature */
	int mode;
} lmrcImageMorphologyInfo;

API

モルフォロジー(lmrcImageMorphology)

メイン

void lmrcImageMorphologyStructuringElementSet(lmrcImageMorphologyInfo* linfo, int mode);

linfo->modeによって処理を選択できます。

linfo->mode 処理
0 lmrcImageMorphologyStructuringElement2DCross
1 lmrcImageMorphologyStructuringElement2DSquare
2 lmrcImageMorphologyStructuringElement2DDisk
3 lmrcImageMorphologyStructuringElement3DCross
4 lmrcImageMorphologyStructuringElement3DCubic
5 lmrcImageMorphologyStructuringElement3DSphere
6 lmrcImageMorphologyStructuringElement2DRectangle
7 lmrcImageMorphologyStructuringElement3DCuboid
8 lmrcImageMorphologyStructuringElement3DCylinder


2D

Cross3x3

void lmrcImageMorphologyStructuringElement2DCross(mrcImage* out, int mode);

Square3x3

void lmrcImageMorphologyStructuringElement2DSquare(mrcImage* out, int mode);

Disk

void lmrcImageMorphologyStructuringElement2DDisk(mrcImage* out, int r, int n, int mode);

Rectangle

void lmrcImageMorphologyStructuringElement2DRectangle(mrcImage* out, int nx, int ny, int mode);

3D

Cross3x3x3

void lmrcImageMorphologyStructuringElement3DCross(mrcImage* out, int mode);

Cubic3x3x3

void lmrcImageMorphologyStructuringElement3DCubic(mrcImage* out, int mode);

Sphere

void lmrcImageMorphologyStructuringElement3DSphere(mrcImage* out, int r, int n, int mode);
void lmrcImageMorphologyStructuringElementSphere(mrcImage* out, int r, int nx, int ny, int nz, int mode);

Cuboid

void lmrcImageMorphologyStructuringElement3DCuboid(mrcImage* out, int nx, int ny, int nz, int mode);

Cylinder

void lmrcImageMorphologyStructuringElement3DCylinder(mrcImage* out, int r, int nx, int ny, int nz, int mode);

縮退(lmrcImageErosion)

void lmrcImageErosion(mrcImage* dst, mrcImage* src, lmrcImageMorphologyInfo linfo, int mode);

膨張(lmrcImageDilation)

void lmrcImageDilation(mrcImage* dst, mrcImage* src, lmrcImageMorphologyInfo linfo, int mode);

オープニング(lmrcImageOpening)

void lmrcImageOpening(mrcImage* dst, mrcImage* src, lmrcImageMorphologyInfo linfo, int times, int mode);

クロージング(lmrcImageClosing)

void lmrcImageClosing(mrcImage* dst, mrcImage* src, lmrcImageMorphologyInfo linfo, int times, int mode);

===トップハット(lmrcImageTopHatTransform)

void lmrcImageTopHatTransform(mrcImage* dst, mrcImage* src, lmrcImageMorphologyInfo linfo, int times, int mode);

ボトムハット(lmrcImageBottomHatTransform)

void lmrcImageBottomHatTransform(mrcImage* dst, mrcImage* src, lmrcImageMorphologyInfo linfo, int times, int mode);

API情報

モード説明を出力

void lmrcImageMorphologyStructuringElementSetInfoPrint(FILE* fpt);