64
64
65
65
#include " opencv2/opencv_modules.hpp"
66
66
67
- #ifdef HAVE_OPENCV_OBJDETECT
68
- # include " opencv2/objdetect .hpp"
67
+ #ifdef HAVE_OPENCV_XOBJDETECT
68
+ # include " opencv2/xobjdetect .hpp"
69
69
// # include "opencv2/objdetect/objdetect_c.h"
70
70
#endif
71
71
@@ -1843,16 +1843,16 @@ static NCVStatus loadFromXML(const cv::String &filename,
1843
1843
std::vector<HaarClassifierNode128> &haarClassifierNodes,
1844
1844
std::vector<HaarFeature64> &haarFeatures)
1845
1845
{
1846
- const char *CUDA_CC_SIZE = " size" ;
1847
- const char *CUDA_CC_STAGES = " stages" ;
1848
- const char *CUDA_CC_STAGE_THRESHOLD = " stage_threshold" ;
1849
- const char *CUDA_CC_TREES = " trees" ;
1850
- const char *CUDA_CC_FEATURE = " feature" ;
1851
- const char *CUDA_CC_RECT = " rects" ;
1852
- const char *CUDA_CC_TILTED = " tilted" ;
1853
- const char *CUDA_CC_THRESHOLD = " threshold" ;
1846
+ const char *CUDA_CC_SIZE = " size" ;
1847
+ const char *CUDA_CC_STAGES = " stages" ;
1848
+ const char *CUDA_CC_STAGE_THRESHOLD = " stage_threshold" ;
1849
+ const char *CUDA_CC_TREES = " trees" ;
1850
+ const char *CUDA_CC_FEATURE = " feature" ;
1851
+ const char *CUDA_CC_RECT = " rects" ;
1852
+ const char *CUDA_CC_TILTED = " tilted" ;
1853
+ const char *CUDA_CC_THRESHOLD = " threshold" ;
1854
1854
const char *CUDA_CC_LEFT_VAL = " left_val" ;
1855
- const char *CUDA_CC_RIGHT_VAL = " right_val" ;
1855
+ const char *CUDA_CC_RIGHT_VAL = " right_val" ;
1856
1856
const char *CUDA_CC_LEFT_NODE = " left_node" ;
1857
1857
const char *CUDA_CC_RIGHT_NODE = " right_node" ;
1858
1858
@@ -1873,60 +1873,60 @@ static NCVStatus loadFromXML(const cv::String &filename,
1873
1873
haarClassifierNodes.resize (0 );
1874
1874
haarFeatures.resize (0 );
1875
1875
1876
- cv::FileStorage fs (filename, cv::FileStorage::READ | cv::FileStorage::FORMAT_XML);
1877
-
1878
- if (!fs.isOpened ())
1876
+ cv::FileStorage fs (filename, cv::FileStorage::READ | cv::FileStorage::FORMAT_XML);
1877
+
1878
+ if (!fs.isOpened ())
1879
1879
return NCV_FILE_ERROR;
1880
1880
1881
- const cv::FileNode &root = fs.getFirstTopLevelNode ();
1881
+ const cv::FileNode &root = fs.getFirstTopLevelNode ();
1882
1882
const cv::FileNode &fnSize = root[CUDA_CC_SIZE];
1883
1883
1884
1884
// collect the cascade classifier window size
1885
1885
haar.ClassifierSize .width = (int )fnSize[CUDA_CC_SIZE_W];
1886
1886
haar.ClassifierSize .height = (int )fnSize[CUDA_CC_SIZE_H];
1887
1887
CV_Assert (haar.ClassifierSize .height > 0 && haar.ClassifierSize .width > 0 );
1888
1888
1889
- const cv::FileNode &fnStages = root[CUDA_CC_STAGES];
1889
+ const cv::FileNode &fnStages = root[CUDA_CC_STAGES];
1890
1890
cv::FileNodeIterator it = fnStages.begin (), it_end = fnStages.end ();
1891
1891
1892
- for (; it != it_end; ++it) // by stages
1893
- {
1894
- cv::FileNode fnStage = *it;
1892
+ for (; it != it_end; ++it) // by stages
1893
+ {
1894
+ cv::FileNode fnStage = *it;
1895
1895
HaarStage64 curStage;
1896
1896
1897
- curStage.setStartClassifierRootNodeOffset (static_cast <Ncv32u>(haarClassifierNodes.size ()));
1897
+ curStage.setStartClassifierRootNodeOffset (static_cast <Ncv32u>(haarClassifierNodes.size ()));
1898
1898
curStage.setStageThreshold ((float )fnStage[CUDA_CC_STAGE_THRESHOLD]);
1899
1899
1900
- // iterate over the trees
1901
- const cv::FileNode &fnTrees = fnStage[CUDA_CC_TREES];
1902
- cv::FileNodeIterator it1 = fnTrees.begin (), it1_end = fnTrees.end ();
1903
-
1904
- for (; it1 != it1_end; ++it1) // by trees
1905
- {
1906
- cv::FileNode tree = *it1;
1907
- Ncv32u nodeId = (size_t )0 ;
1908
- HaarClassifierNode128 curNode;
1909
-
1910
- curNode.setThreshold ((float )tree[0 ][CUDA_CC_THRESHOLD]);
1911
-
1912
- NcvBool bIsLeftNodeLeaf = false ;
1913
- NcvBool bIsRightNodeLeaf = false ;
1914
-
1900
+ // iterate over the trees
1901
+ const cv::FileNode &fnTrees = fnStage[CUDA_CC_TREES];
1902
+ cv::FileNodeIterator it1 = fnTrees.begin (), it1_end = fnTrees.end ();
1903
+
1904
+ for (; it1 != it1_end; ++it1) // by trees
1905
+ {
1906
+ cv::FileNode tree = *it1;
1907
+ Ncv32u nodeId = (size_t )0 ;
1908
+ HaarClassifierNode128 curNode;
1909
+
1910
+ curNode.setThreshold ((float )tree[0 ][CUDA_CC_THRESHOLD]);
1911
+
1912
+ NcvBool bIsLeftNodeLeaf = false ;
1913
+ NcvBool bIsRightNodeLeaf = false ;
1914
+
1915
1915
HaarClassifierNodeDescriptor32 nodeLeft;
1916
1916
1917
1917
cv::FileNode leftNode = tree[0 ][CUDA_CC_LEFT_NODE];
1918
1918
1919
1919
if (leftNode.fs == NULL )
1920
1920
{
1921
- Ncv32f leftVal = tree[0 ][CUDA_CC_LEFT_VAL];
1922
- ncvStat = nodeLeft.create (leftVal);
1921
+ Ncv32f leftVal = tree[0 ][CUDA_CC_LEFT_VAL];
1922
+ ncvStat = nodeLeft.create (leftVal);
1923
1923
ncvAssertReturn (ncvStat == NCV_SUCCESS, ncvStat);
1924
1924
bIsLeftNodeLeaf = true ;
1925
1925
}
1926
1926
else
1927
1927
{
1928
- Ncv32u leftNodeOffset = (int )tree[0 ][CUDA_CC_LEFT_NODE];
1929
- nodeLeft.create ((Ncv32u)(h_TmpClassifierNotRootNodes.size () + leftNodeOffset - 1 ));
1928
+ Ncv32u leftNodeOffset = (int )tree[0 ][CUDA_CC_LEFT_NODE];
1929
+ nodeLeft.create ((Ncv32u)(h_TmpClassifierNotRootNodes.size () + leftNodeOffset - 1 ));
1930
1930
haar.bHasStumpsOnly = false ;
1931
1931
}
1932
1932
@@ -1937,15 +1937,15 @@ static NCVStatus loadFromXML(const cv::String &filename,
1937
1937
1938
1938
if (rightNode.fs == NULL )
1939
1939
{
1940
- Ncv32f rightVal = tree[0 ][CUDA_CC_RIGHT_VAL];
1941
- ncvStat = nodeRight.create (rightVal);
1940
+ Ncv32f rightVal = tree[0 ][CUDA_CC_RIGHT_VAL];
1941
+ ncvStat = nodeRight.create (rightVal);
1942
1942
ncvAssertReturn (ncvStat == NCV_SUCCESS, ncvStat);
1943
1943
bIsRightNodeLeaf = true ;
1944
1944
}
1945
1945
else
1946
1946
{
1947
- Ncv32u rightNodeOffset = (int )tree[0 ][CUDA_CC_RIGHT_NODE];
1948
- nodeRight.create ((Ncv32u)(h_TmpClassifierNotRootNodes.size () + rightNodeOffset - 1 ));
1947
+ Ncv32u rightNodeOffset = (int )tree[0 ][CUDA_CC_RIGHT_NODE];
1948
+ nodeRight.create ((Ncv32u)(h_TmpClassifierNotRootNodes.size () + rightNodeOffset - 1 ));
1949
1949
haar.bHasStumpsOnly = false ;
1950
1950
}
1951
1951
@@ -1955,9 +1955,9 @@ static NCVStatus loadFromXML(const cv::String &filename,
1955
1955
Ncv32u tiltedVal = (int )fnFeature[CUDA_CC_TILTED];
1956
1956
haar.bNeedsTiltedII = (tiltedVal != 0 );
1957
1957
1958
- cv::FileNodeIterator it2 = fnFeature[CUDA_CC_RECT].begin (), it2_end = fnFeature[CUDA_CC_RECT].end ();
1958
+ cv::FileNodeIterator it2 = fnFeature[CUDA_CC_RECT].begin (), it2_end = fnFeature[CUDA_CC_RECT].end ();
1959
1959
1960
- Ncv32u featureId = 0 ;
1960
+ Ncv32u featureId = 0 ;
1961
1961
for (; it2 != it2_end; ++it2) // by feature
1962
1962
{
1963
1963
cv::FileNode rect = *it2;
0 commit comments