6
OpenCV के cvSolve
एक रेखीय हल कर सकते हैं कम से कम वर्गों समस्या OpenCV में वर्गों:भारित रैखिक कम से कम इस तरह
// model: y = a1*x1 + a2*x2 + a3
CvMat *y = cvCreateMat(N, 1, CV_64FC1);
CvMat *X = cvCreateMat(N, 3, CV_64FC1);
CvMat *coeff = cvCreateMat(3, 1, CV_64FC1);
// fill vector y and matrix X
for (int i=0; i<N; ++i)
{
cvmSet(y, i, 0, my_y_value(i));
cvmSet(X, i, 0, my_x1_value(i));
cvmSet(X, i, 1, my_x2_value(i));
cvmSet(X, i, 2, 1);
}
cvSolve(X, y, coeff, CV_SVD);
// now coeff contains a1, a2, a3
हालांकि, मैं अपने डेटा बिंदुओं के लिए अलग अलग वजन आवेदन करना चाहते हैं। मैं वजन कैसे लागू करूं?
my_y_value, my_x1_value और my_x2_value क्या है? – Abc
वे आपके मैट्रिक्स (x1, x2) और बाएं हाथ की ओर (y) के मान प्रदान करने के लिए हैं। यह केवल सबसे सामान्य रूप है, आप कोड को फिर से लिख सकते हैं और मूल्यों को प्रदान कर सकते हैं जो भी आपको सबसे अच्छा लगा। सीवीएसओल्व के लिए ओपनसीवी दस्तावेज़ों को भी देखना सुनिश्चित करें। – Hendrik