|
@@ -286,114 +286,114 @@ double BiIntegralCenteredOps3D::getVal ( const Features &feats, const int &x, co
|
|
|
|
|
|
double HaarHorizontal3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
|
|
|
{
|
|
|
- int tlx = x - abs(x1);
|
|
|
- int tly = y - abs(y1);
|
|
|
- int tlz = z - abs(z1);
|
|
|
- int lrx = x + abs(x1);
|
|
|
- int lry = y + abs(y1);
|
|
|
- int lrz = z + abs(z1);
|
|
|
+ int tlx = x - x1;
|
|
|
+ int tly = y - y1;
|
|
|
+ int tlz = z - z1;
|
|
|
+ int lrx = x + x1;
|
|
|
+ int lry = y + y1;
|
|
|
+ int lrz = z + z1;
|
|
|
|
|
|
return feats.feats->getIntegralValue(tlx, tly, tlz, lrx, y, lrz, channel1 ) - feats.feats->getIntegralValue(tlx, y, tlz, lrx, lry, lrz, channel1);
|
|
|
}
|
|
|
|
|
|
double HaarVertical3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
|
|
|
{
|
|
|
- int tlx = x - abs(x1);
|
|
|
- int tly = y - abs(y1);
|
|
|
- int tlz = z - abs(z1);
|
|
|
- int lrx = x + abs(x1);
|
|
|
- int lry = y + abs(y1);
|
|
|
- int lrz = z + abs(z1);
|
|
|
+ int tlx = x - x1;
|
|
|
+ int tly = y - y1;
|
|
|
+ int tlz = z - z1;
|
|
|
+ int lrx = x + x1;
|
|
|
+ int lry = y + y1;
|
|
|
+ int lrz = z + z1;
|
|
|
|
|
|
return feats.feats->getIntegralValue(tlx, tly, tlz, x, lry, lrz, channel1) - feats.feats->getIntegralValue(x, tly, tlz, lrx, lry, lrz, channel1);
|
|
|
}
|
|
|
|
|
|
double HaarStacked3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
|
|
|
{
|
|
|
- int tlx = x - abs(x1);
|
|
|
- int tly = y - abs(y1);
|
|
|
- int tlz = z - abs(z1);
|
|
|
- int lrx = x + abs(x1);
|
|
|
- int lry = y + abs(y1);
|
|
|
- int lrz = z + abs(z1);
|
|
|
+ int tlx = x - x1;
|
|
|
+ int tly = y - y1;
|
|
|
+ int tlz = z - z1;
|
|
|
+ int lrx = x + x1;
|
|
|
+ int lry = y + y1;
|
|
|
+ int lrz = z + z1;
|
|
|
|
|
|
return feats.feats->getIntegralValue(tlx, tly, tlz, lrx, lry, z, channel1) - feats.feats->getIntegralValue(tlx, tly, z, lrx, lry, lrz, channel1);
|
|
|
}
|
|
|
|
|
|
double HaarDiagXY3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
|
|
|
{
|
|
|
- int tlx = x - abs(x1);
|
|
|
- int tly = y - abs(y1);
|
|
|
- int tlz = z - abs(z1);
|
|
|
- int lrx = x + abs(x1);
|
|
|
- int lry = y + abs(y1);
|
|
|
- int lrz = z + abs(z1);
|
|
|
+ int tlx = x - x1;
|
|
|
+ int tly = y - y1;
|
|
|
+ int tlz = z - z1;
|
|
|
+ int lrx = x + x1;
|
|
|
+ int lry = y + y1;
|
|
|
+ int lrz = z + z1;
|
|
|
|
|
|
return feats.feats->getIntegralValue(tlx, tly, tlz, x, y, lrz, channel1) + feats.feats->getIntegralValue(x, y, tlz, lrx, lry, lrz, channel1) - feats.feats->getIntegralValue(tlx, y, tlz, x, lry, lrz, channel1) - feats.feats->getIntegralValue(x, tly, tlz, lrx, y, lrz, channel1);
|
|
|
}
|
|
|
|
|
|
double HaarDiagXZ3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
|
|
|
{
|
|
|
- int tlx = x - abs(x1);
|
|
|
- int tly = y - abs(y1);
|
|
|
- int tlz = z - abs(z1);
|
|
|
- int lrx = x + abs(x1);
|
|
|
- int lry = y + abs(y1);
|
|
|
- int lrz = z + abs(z1);
|
|
|
+ int tlx = x - x1;
|
|
|
+ int tly = y - y1;
|
|
|
+ int tlz = z - z1;
|
|
|
+ int lrx = x + x1;
|
|
|
+ int lry = y + y1;
|
|
|
+ int lrz = z + z1;
|
|
|
|
|
|
return feats.feats->getIntegralValue(tlx, tly, tlz, x, lry, z, channel1) + feats.feats->getIntegralValue(x, tly, z, lrx, lry, lrz, channel1) - feats.feats->getIntegralValue(tlx, tly, z, x, lry, lrz, channel1) - feats.feats->getIntegralValue(x, tly, tlz, lrx, lry, z, channel1);
|
|
|
}
|
|
|
|
|
|
double HaarDiagYZ3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
|
|
|
{
|
|
|
- int tlx = x - abs(x1);
|
|
|
- int tly = y - abs(y1);
|
|
|
- int tlz = z - abs(z1);
|
|
|
- int lrx = x + abs(x1);
|
|
|
- int lry = y + abs(y1);
|
|
|
- int lrz = z + abs(z1);
|
|
|
+ int tlx = x - x1;
|
|
|
+ int tly = y - y1;
|
|
|
+ int tlz = z - z1;
|
|
|
+ int lrx = x + x1;
|
|
|
+ int lry = y + y1;
|
|
|
+ int lrz = z + z1;
|
|
|
|
|
|
return feats.feats->getIntegralValue(tlx, tly, tlz, lrx, y, z, channel1) + feats.feats->getIntegralValue(tlx, y, z, lrx, lry, lrz, channel1) - feats.feats->getIntegralValue(tlx, tly, z, lrx, y, lrz, channel1) - feats.feats->getIntegralValue(tlx, y, tlz, lrx, lry, z, channel1);
|
|
|
}
|
|
|
|
|
|
double Haar3Horiz3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
|
|
|
{
|
|
|
- int tlx = x - abs(x1);
|
|
|
- int tly = y - abs(y1);
|
|
|
- int tlz = z - abs(z1);
|
|
|
- int lrx = x + abs(x1);
|
|
|
- int lry = y + abs(y1);
|
|
|
- int lrz = z + abs(z1);
|
|
|
- int mtly = y - abs(y1);
|
|
|
- int mlry = y + abs(y1);
|
|
|
+ int tlx = x - x2;
|
|
|
+ int tly = y - y2;
|
|
|
+ int tlz = z - z2;
|
|
|
+ int mtly = y - y1;
|
|
|
+ int mlry = y + y1;
|
|
|
+ int lrx = x + x2;
|
|
|
+ int lry = y + y2;
|
|
|
+ int lrz = z - z2;
|
|
|
|
|
|
return feats.feats->getIntegralValue(tlx, tly, tlz, lrx, mtly, lrz, channel1) - feats.feats->getIntegralValue(tlx, mtly, tlz, lrx, mlry, lrz, channel1) + feats.feats->getIntegralValue(tlx, mlry, tlz, lrx, lry, lrz, channel1);
|
|
|
}
|
|
|
|
|
|
double Haar3Vert3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
|
|
|
{
|
|
|
- int tlx = x - abs(x1);
|
|
|
- int tly = y - abs(y1);
|
|
|
- int tlz = z - abs(z1);
|
|
|
- int lrx = x + abs(x1);
|
|
|
- int lry = y + abs(y1);
|
|
|
- int lrz = z + abs(z1);
|
|
|
- int mtlx = x - abs(x1);
|
|
|
- int mlrx = x + abs(x1);
|
|
|
+ int tlx = x - x2;
|
|
|
+ int tly = y - y2;
|
|
|
+ int tlz = z - z2;
|
|
|
+ int mtlx = x - x1;
|
|
|
+ int mlrx = x + x1;
|
|
|
+ int lrx = x + x2;
|
|
|
+ int lry = y + y2;
|
|
|
+ int lrz = z + z2;
|
|
|
|
|
|
return feats.feats->getIntegralValue(tlx, tly, tlz, mtlx, lry, lrz, channel1) - feats.feats->getIntegralValue(mtlx, tly, tlz, mlrx, lry, lrz, channel1) + feats.feats->getIntegralValue(mlrx, tly, tlz, lrx, lry, lrz, channel1);
|
|
|
}
|
|
|
|
|
|
double Haar3Stack3D::getVal ( const Features &feats, const int &x, const int &y, const int &z )
|
|
|
{
|
|
|
- int tlx = x - abs(x1);
|
|
|
- int tly = y - abs(y1);
|
|
|
- int tlz = z - abs(z1);
|
|
|
- int lrx = x + abs(x1);
|
|
|
- int lry = y + abs(y1);
|
|
|
- int lrz = z + abs(z1);
|
|
|
- int mtlz = z - abs(z1);
|
|
|
- int mlrz = z + abs(z1);
|
|
|
+ int tlx = x - x2;
|
|
|
+ int tly = y - y2;
|
|
|
+ int tlz = z - z2;
|
|
|
+ int mtlz = z - z1;
|
|
|
+ int mlrz = z + z1;
|
|
|
+ int lrx = x + x2;
|
|
|
+ int lry = y + y2;
|
|
|
+ int lrz = z + z2;
|
|
|
|
|
|
return feats.feats->getIntegralValue(tlx, tly, tlz, lrx, lry, mtlz, channel1) - feats.feats->getIntegralValue(tlx, tly, mtlz, lrx, lry, mlrz, channel1) + feats.feats->getIntegralValue(tlx, tly, mlrz, lrx, lry, lrz, channel1);
|
|
|
}
|