在C++中使用OpenCV截取192x128图像的上部分(192x112),可以通过定义一个矩形区域来实现。以下是具体的示例代码:
#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。如果条件不满足,会输出错误信息。
- 显示结果:运行程序后,会打开两个窗口,分别显示原始图像和截取后的上半部分(192x112)图像。
这个代码段展示了如何使用OpenCV进行简单的图像处理和显示操作。如果你需要进一步处理或保存裁剪后的图像,可以添加相应的代码。
内容由零声教学AI助手提供,问题来源于学员提问