दिलचस्प पोस्ट
गैर-स्थिर विधि को एक लक्ष्य की आवश्यकता होती है आर में अनुलग्न () का उपयोग करना उचित क्यों नहीं है, और मुझे इसके बजाय क्या उपयोग करना चाहिए? एंड्रॉइड स्टूडियो प्रतीक को हल नहीं कर सकता लेकिन कोड निष्पादन सही तरीके से किया जा सकता है NetBeans से टॉमकेट शुरू करने में त्रुटि – '127.0.0.1 *' को आंतरिक या बाहरी कमान के रूप में मान्यता नहीं दी गई है Event.stopPropagation और event.preventDefault के बीच क्या अंतर है? JQuery अजाक्स पोस्ट मापदंडों कभी भी IE पर नहीं भेजा Rails 3 devise, current_user मॉडल में पहुंच योग्य नहीं है? जावा में दो फ़ील्ड्स द्वारा सॉर्ट करने के लिए कैसे? IE9 का सीएसएस रेखीय ग्रेडियेंट का समर्थन करता है? आवेदन नियुक्त करने के लिए iPhone का उचित उपयोग उपलाइन समय में नौवें फिबोनैकी संख्या SendInput और 64bits जावा के मुख्य पुस्तकालयों में GoF डिजाइन पैटर्न के उदाहरण सूची वस्तु की घटनाओं की गणना कैसे करें? कैसे दो तिथियों के बीच सभी महीनों को सूचीबद्ध करें

ओएसपीसी एसएमपी पैरामीटर सेट करने में असमर्थ

मैंने अभी सी + + ओपनसीवी का इस्तेमाल करते हुए एसवीएम पर अपनी पढ़ाई शुरू कर दी है और यहां एसवीएम दस्तावेज का जिक्र किया गया था। मैं पहले से परिचित होने के लिए लिंक से नमूना स्रोत कोड को देखना चाहता हूं लेकिन मैं नमूना स्रोत कोड को नहीं चला सकता यह त्रुटि देता है:

त्रुटि 1 त्रुटि C2065: 'CVSVMParams': अघोषित पहचानकर्ता

मैं ओपनसीवी 3.0.0 के साथ विजुअल स्टूडियो 2012 का उपयोग कर रहा हूं। सेटअप प्रक्रिया को सही होना चाहिए क्योंकि अन्य सभी कोड अच्छी तरह से काम कर रहे हैं, इसके अलावा यह।

Solutions Collecting From Web of "ओएसपीसी एसएमपी पैरामीटर सेट करने में असमर्थ"

बहुत सी चीजों को ओपनसीवी 2.4 से ओपनसीवी 3.0 में बदल दिया गया है । दूसरों के बीच, मशीन शिक्षण मॉड्यूल, जो पिछड़े संगत नहीं है।

यह ओपनसीवी 3.0 के लिए अपडेट, एसवीएम के लिए ओपनसीवी ट्यूटोरियल कोड है :

 #include <opencv2/core.hpp> #include <opencv2/imgproc.hpp> #include "opencv2/imgcodecs.hpp" #include <opencv2/highgui.hpp> #include <opencv2/ml.hpp> using namespace cv; using namespace cv::ml; int main(int, char**) { // Data for visual representation int width = 512, height = 512; Mat image = Mat::zeros(height, width, CV_8UC3); // Set up training data int labels[4] = { 1, -1, -1, -1 }; Mat labelsMat(4, 1, CV_32SC1, labels); float trainingData[4][2] = { { 501, 10 }, { 255, 10 }, { 501, 255 }, { 10, 501 } }; Mat trainingDataMat(4, 2, CV_32FC1, trainingData); // Set up SVM's parameters Ptr<SVM> svm = SVM::create(); svm->setType(SVM::C_SVC); svm->setKernel(SVM::LINEAR); svm->setTermCriteria(TermCriteria(TermCriteria::MAX_ITER, 100, 1e-6)); // Train the SVM with given parameters Ptr<TrainData> td = TrainData::create(trainingDataMat, ROW_SAMPLE, labelsMat); svm->train(td); // Or train the SVM with optimal parameters //svm->trainAuto(td); Vec3b green(0, 255, 0), blue(255, 0, 0); // Show the decision regions given by the SVM for (int i = 0; i < image.rows; ++i) for (int j = 0; j < image.cols; ++j) { Mat sampleMat = (Mat_<float>(1, 2) << j, i); float response = svm->predict(sampleMat); if (response == 1) image.at<Vec3b>(i, j) = green; else if (response == -1) image.at<Vec3b>(i, j) = blue; } // Show the training data int thickness = -1; int lineType = 8; circle(image, Point(501, 10), 5, Scalar(0, 0, 0), thickness, lineType); circle(image, Point(255, 10), 5, Scalar(255, 255, 255), thickness, lineType); circle(image, Point(501, 255), 5, Scalar(255, 255, 255), thickness, lineType); circle(image, Point(10, 501), 5, Scalar(255, 255, 255), thickness, lineType); // Show support vectors thickness = 2; lineType = 8; Mat sv = svm->getSupportVectors(); for (int i = 0; i < sv.rows; ++i) { const float* v = sv.ptr<float>(i); circle(image, Point((int)v[0], (int)v[1]), 6, Scalar(128, 128, 128), thickness, lineType); } imwrite("result.png", image); // save the image imshow("SVM Simple Example", image); // show it to the user waitKey(0); } 

आउटपुट ऐसा दिखना चाहिए:

यहां छवि विवरण दर्ज करें

मैंने कोड ऊपर काम किया है लेकिन मुझे लेबल को पूर्णांक में कनवर्ट करने के लिए एक छोटा संशोधन करने की आवश्यकता है संशोधन बोल्ड में है:

 // Set up training data **Original**: int labels[4] = { 1, -1, -1, -1 }; Mat labelsMat(4, 1, **CV_32SC1**, labels); // Set up training data **Modified**: int labels[4] = { 1, -1, -1, -1 }; Mat labelsMat(4, 1, **CV_32S**, labels);