opencv版本:4.5.5
- 方法一(推荐)
#include <iostream>
#include <opencv.hpp>
int main() {
cv::Mat m1 = (cv::Mat_<int>(3, 3) << 1, 2, 3, 4, 5, 6, 7, 8, 9);
cv::Mat m2 = m1(cv::Rect{1, 1, 2, 2});
std::cout << m1 << std::endl;
std::cout << m2 << std::endl;
}
- 方法二
#include <iostream>
#include <opencv.hpp>
int main() {
cv::Mat m1 = (cv::Mat_<int>(3, 3) << 1, 2, 3, 4, 5, 6, 7, 8, 9);
cv::Mat m2 = cv::Mat{m1, cv::Rect{1, 1, 2, 2}};
std::cout << m1 << std::endl;
std::cout << m2 << std::endl;
}
- 方法三
#include <iostream>
#include <opencv.hpp>
int main() {
cv::Mat m1 = (cv::Mat_<int>(3, 3) << 1, 2, 3, 4, 5, 6, 7, 8, 9);
cv::Mat m2 = m1.colRange(1, 3).rowRange(1, 3);
std::cout << m1 << std::endl;
std::cout << m2 << std::endl;
}