如何用opencv4.7c++和Visual Studio 2022将图片分成等价的四分
时间: 2024-04-18 22:26:17 浏览: 93
OpenCV下对图像进行分割的C++代码
4星 · 用户满意度95%
您可以使用OpenCV和Visual Studio 2022将图片分成等分的四块。下面是一个示例代码,展示了如何实现这个功能:
```cpp
#include <opencv2/opencv.hpp>
int main() {
// 读入图片
cv::Mat image = cv::imread("your_image_path.jpg");
// 检查图片是否成功读入
if (image.empty()) {
std::cout << "无法读取图片" << std::endl;
return -1;
}
// 计算图片的尺寸
int width = image.cols;
int height = image.rows;
// 将图片分成四块
cv::Rect top_left(0, 0, width / 2, height / 2);
cv::Rect top_right(width / 2, 0, width / 2, height / 2);
cv::Rect bottom_left(0, height / 2, width / 2, height / 2);
cv::Rect bottom_right(width / 2, height / 2, width / 2, height / 2);
// 提取四个子图像
cv::Mat sub_image1 = image(top_left);
cv::Mat sub_image2 = image(top_right);
cv::Mat sub_image3 = image(bottom_left);
cv::Mat sub_image4 = image(bottom_right);
// 显示四个子图像
cv::imshow("Top Left", sub_image1);
cv::imshow("Top Right", sub_image2);
cv::imshow("Bottom Left", sub_image3);
cv::imshow("Bottom Right", sub_image4);
// 等待按下任意键后关闭窗口
cv::waitKey(0);
cv::destroyAllWindows();
return 0;
}
```
请注意,您需要将`your_image_path.jpg`替换为您自己的图片路径。此代码将图片分成四块,并在窗口中显示四个子图像。您可以根据需要修改代码以适应您的具体需求。
阅读全文