1

OpenCV 2.4.3 を使用して、次のようなマトリックスを作成および再形成しています。

cv::Mat testMat = cv::Mat::zeros ( 500, 200, CV_8UC3 );
std::cout << "size of testMat: " << testMat.rows << " x " << testMat.cols << std::endl;

testMat.reshape ( 0, 1 );
std::cout << " size of reshaped testMat: " << testMat.rows << " x " << testMat.cols << std::endl;

次に、出力から、再形成された testMat に変更がないことがわかります。古いバージョンの OpenCV で何度も「reshape」を使用しましたが、この新しいバージョンでは変更が見られませんでした。これはバグですか?それとも、ここで間違って使用していますか?

4

1 に答える 1

4

reshape は新しい Mat ヘッダーを返します

cv::Mat testMat = cv::Mat::zeros ( 500, 200, CV_8UC3 );
std::cout << "size of testMat: " << testMat.rows << " x " << testMat.cols << std::endl;

cv::Mat result = testMat.reshape ( 0, 1 );
std::cout << " size of original testMat: " << testMat.rows << " x " << testMat.cols << std::endl;
std::cout << " size of reshaped testMat: " << result.rows << " x " << result.cols << std::endl;
于 2012-11-15T16:26:11.717 に答える