Created
August 19, 2014 11:02
-
-
Save masazdream/699fbced27742323762b to your computer and use it in GitHub Desktop.
分類用特徴抽出する昔つくったphpクラス
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* pjFeature.class.php | |
* | |
* 分類に使用する特徴を作成するクラス | |
* | |
* @package goalstart | |
* @subpackage pjFeature | |
* | |
*/ | |
class pjFeature | |
{ | |
/** | |
* 特徴量の配列を取得する | |
* | |
* @param $coordinate 座標配列 | |
* @return $feature_array 特徴量配列 | |
*/ | |
public static function getFeatureArray($coordinate, $score){ | |
$feature_array = array(); | |
// 角度の取得 | |
$angle = array(); | |
$angle[0] = pjGeometry::getInteriorAngle(0, $coordinate); | |
// 特徴量削減 | |
//$angle[1] = pjGeometry::getInteriorAngle(1, $coordinate); | |
//$angle[2] = pjGeometry::getInteriorAngle(2, $coordinate); | |
//$angle[3] = pjGeometry::getInteriorAngle(3, $coordinate); | |
// 周囲(特徴量削減) | |
//$perimeter = pjGeometry::getPerimeter($coordinate); | |
// 標準偏差、共分散行列の固有値 | |
$varience = pjGeometry::getVarianceCovarianceMatrix($coordinate); | |
// アスペクト比 | |
$aspect = pjGeometry::getAspectRatio($coordinate); | |
// 内積 | |
$inner = array(); | |
$inner[0] = pjGeometry::getInner(0, $coordinate); | |
$inner[1] = pjGeometry::getInner(1, $coordinate); | |
// 特徴量配列の作成 | |
$feature_array['angle0'] = $angle[0]; | |
//$feature_array['angle1'] = $angle[1]; | |
//$feature_array['angle2'] = $angle[2]; | |
//$feature_array['angle3'] = $angle[3]; | |
//$feature_array['perimeter'] = $perimeter; | |
$feature_array['inner0'] = $inner[0]; | |
$feature_array['inner1'] = $inner[1]; | |
$feature_array['score'] = $score; | |
$feature_array['deltax'] = $varience['deltax']; | |
$feature_array['deltay'] = $varience['deltay']; | |
$feature_array['vev'] = $varience['vev']; | |
$feature_array['aspect'] = $aspect; | |
return $feature_array; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment