title: svm predict function always return a large number
body: <p>I trying to implement a simple sample, the purpose is tranning and detect a number. Source as following:</p>
  
  <p><strong>Step 1: Initial data for tranning:</strong>
  I used a collect of images number for traning data,</p>
  
  <pre><code>    Mat vectorMatToMat(vector&lt;Mat&gt; list) {
          if (list.empty()) {
              return Mat();
          }
          int row = list.size();
          int col = list.at(0).rows * list.at(0).cols;
          Mat data(row, col, CV_32FC1);
          int i = 0;
          for (i = 0; i &lt; row; i++) {
              Mat rowMat = list.at(i).reshape(1, 1);
              rowMat.copyTo(data.row(i));
          }
          return data;
      }
      Mat vectorIntToMat(vector&lt;int&gt; list) {
          int row = list.size();
          Mat data(row, 1, CV_32SC1, &amp;list[0]);
          return data;
      }
  
      Mat dataMat = vectorMatToMat(listImageForTraining);
      Mat dataLabel = vectorIntToMat(listLabel);
  </code></pre>
  
  <p><strong>Step 2: Init SVM:</strong></p>
  
  <pre><code>Ptr&lt;TrainData&gt; trainData = TrainData::create(dataMat, ROW_SAMPLE, dataLabel);
  
  Ptr&lt;SVM&gt; model = SVM::create();
  model-&gt;setType(SVM::C_SVC);
  model-&gt;setKernel(SVM::LINEAR);
  model-&gt;setC(7);
  model-&gt;setNu(SVM::NU_SVC);
  model-&gt;setP(0);
  model-&gt;setDegree(0);
  model-&gt;setGamma(20);
  model-&gt;setCoef0(0);
  TermCriteria term(CV_TERMCRIT_ITER +CV_TERMCRIT_EPS, 1000, 1e-6);
  model-&gt;setTermCriteria(term);
  model-&gt;train(trainData);
  </code></pre>
  
  <p><strong>Step 3: trying using SVM for predict:</strong></p>
  
  <pre><code>    int i = 0;
      for (i = 0; i &lt; 15; i++) {
          Mat check = dataMat.row(i);
          ostringstream oss;
          oss &lt;&lt; i;
          imshow(oss.str(), check.reshape(1, 128));
  
          check = check.reshape(1, 1);
          int lable = svm.predict(check);
  
          cout &lt;&lt; "Result: " &lt;&lt; lable &lt;&lt; endl;
      }
  </code></pre>
  
  <p><strong>Step 4: Result:</strong></p>
  
  <pre><code>Result: -1237234688
  Result: 159407376
  Result: 159407376
  Result: 167908848
  Result: 1065353216
  Result: 1065353216
  Result: 1065353216
  Result: 1065353216
  Result: 1065353216
  Result: 1065353216
  Result: 1065353216
  Result: 1065353216
  Result: 1065353216
  Result: 1065353216
  Result: 1065353216
  </code></pre>
  
  <p>As we can see, my result are very large number, although my labels are numbers in 0 to 10.
  I can not understand why, i think i have a mistake when I init SVM model.</p>
  
  <p>But i dont know how to fix this issue,
  If there is any idea, please help me.</p>
  
  <p>Thanks &amp; Best Regards,</p>
  
  <p>Thiep</p>