Skip to content

Instantly share code, notes, and snippets.

@masazdream
Created August 19, 2014 11:02
Show Gist options
  • Save masazdream/699fbced27742323762b to your computer and use it in GitHub Desktop.
Save masazdream/699fbced27742323762b to your computer and use it in GitHub Desktop.
分類用特徴抽出する昔つくったphpクラス
<?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