-1
在OpenCV的類cv::Mat
的定義中,我找到了運算符()
和=
的定義。我認爲OpenCV如MATLAB那樣爲矩陣重載運算符+-*/
等是很好的。爲什麼OpenCV不會爲矩陣重載運算符+-*/
?這些在計劃中嗎?或者,這不是一個好主意嗎?爲什麼OpenCV沒有爲cv類重載運算符*/+ Mat
在OpenCV的類cv::Mat
的定義中,我找到了運算符()
和=
的定義。我認爲OpenCV如MATLAB那樣爲矩陣重載運算符+-*/
等是很好的。爲什麼OpenCV不會爲矩陣重載運算符+-*/
?這些在計劃中嗎?或者,這不是一個好主意嗎?爲什麼OpenCV沒有爲cv類重載運算符*/+ Mat
矩陣操作在cxmat.hpp
中定義。我不知道它有什麼優勢,這樣做,但我想他們有他們的理由。
對不起,但...
是的,OpenCV重載所有這些操作符。試試看!
int main(int argc, char** argv)
{
Mat m1 = Mat::zeros(2, 2, CV_32FC1);
Mat m2 = Mat::ones(2, 2, CV_32FC1);
m1.at<float>(0, 0) = 2.0f;
cout << (m2*2) << endl;
cout << m1*m2 << endl;
cout << m1+m2 << endl;
cout << m1-m2 << endl;
}
謝謝。我在OpenCV 2.1中找到了'cxmat.hpp',它定義了運算符'* -/+'。但是我也發現沒有來自2.2的cxmat.hpp,而不是具有這些定義的'mat.hpp'。 –
這個答案已經過時。 – Antonio