From 9702b5ef8a56d52c9fe218bab3c328ac3a631435 Mon Sep 17 00:00:00 2001 From: Vadim Pisarevsky Date: Fri, 29 Apr 2011 12:41:30 +0000 Subject: [PATCH] made the samples compile on Windows --- .../objdetect/include/opencv2/objdetect/objdetect.hpp | 4 ++-- samples/cpp/letter_recog.cpp | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/modules/objdetect/include/opencv2/objdetect/objdetect.hpp b/modules/objdetect/include/opencv2/objdetect/objdetect.hpp index fd0d9f46ee..7db64b602b 100644 --- a/modules/objdetect/include/opencv2/objdetect/objdetect.hpp +++ b/modules/objdetect/include/opencv2/objdetect/objdetect.hpp @@ -583,7 +583,7 @@ protected: class CV_EXPORTS DOTDetector { public: - struct TrainParams + struct CV_EXPORTS TrainParams { enum { BIN_COUNT = 7 }; static double BIN_RANGE() { return 180.0 / BIN_COUNT; } @@ -608,7 +608,7 @@ public: float minRatio; }; - struct DetectParams + struct CV_EXPORTS DetectParams { DetectParams(); DetectParams( float minRatio, int minRegionSize, int maxRegionSize, int regionSizeStep, diff --git a/samples/cpp/letter_recog.cpp b/samples/cpp/letter_recog.cpp index a38c6ace2f..61a75d70dc 100644 --- a/samples/cpp/letter_recog.cpp +++ b/samples/cpp/letter_recog.cpp @@ -2,6 +2,7 @@ #include "opencv2/ml/ml.hpp" #include +#include /* */ @@ -667,9 +668,9 @@ int build_svm_classifier( char* data_filename ) svm.train(&train_data, train_resp, 0, 0, param); // classification - float _sample[var_count * (nsamples_all - ntrain_samples)]; - CvMat sample = cvMat( nsamples_all - ntrain_samples, 16, CV_32FC1, _sample ); - float true_results[nsamples_all - ntrain_samples]; + std::vector _sample(var_count * (nsamples_all - ntrain_samples)); + CvMat sample = cvMat( nsamples_all - ntrain_samples, 16, CV_32FC1, &_sample[0] ); + std::vector true_results(nsamples_all - ntrain_samples); for (int j = ntrain_samples; j < nsamples_all; j++) { float *s = data->data.fl + j * var_count; @@ -683,7 +684,7 @@ int build_svm_classifier( char* data_filename ) CvMat *result = cvCreateMat(1, nsamples_all - ntrain_samples, CV_32FC1); printf("Classification (may take a few minutes)...\n"); - (int)svm.predict(&sample, result); + svm.predict(&sample, result); int true_resp = 0; for (int i = 0; i < nsamples_all - ntrain_samples; i++)