在C++中使用OpenCV截取192x128图像的上半部分(192x112)可以通过cv::Rect
来实现。以下是一个简单的示例代码,演示如何完成这一操作:
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
// 读取图像
cv::Mat image = cv::imread("your_image_path.jpg");
// 检查图像是否成功加载
if (image.empty()) {
std::cerr << "Could not load image!" << std::endl;
return -1;
}
// 确保原始图像大小为192x128
if (image.cols != 192 || image.rows != 128) {
std::cerr << "Image must be 192x128!" << std::endl;
return -1;
}
// 定义要截取的区域(上半部分)
cv::Rect roi(0, 0, 192, 112); // x=0, y=0,宽=192,高=112
// 截取区域
cv::Mat croppedImage = image(roi);
// 显示原始图像和截取后的图像
cv::imshow("Original Image", image);
cv::imshow("Cropped Image", croppedImage);
// 等待用户按键并关闭窗口
cv::waitKey(0);
return 0;
}
注意事项:
- 确保将
"your_image_path.jpg"
替换为你实际图片的路径。 - 此代码会检查加载的图像是否为空,并确认其尺寸是否为192x128。如果条件不满足,则会输出错误信息。
- 使用
cv::Rect
定义了一个感兴趣区域 (ROI),然后通过image(roi)
截取该区域。
编译和运行该程序后,你应该能看到原始图像和截取后的上半部分图像。
内容由零声教学AI助手提供,问题来源于学员提问