要在 C++ 中使用 OpenCV 截取一张 192x112 的图片的最下面 192x16 部分,可以按照以下步骤进行:
- 首先,确保你已经安装了 OpenCV。
- 使用
cv::imread
函数读取图像。 - 使用矩形区域来截取所需的部分。
- 最后,使用
cv::imshow
显示结果,并用cv::imwrite
保存截取的图像(如果需要)。
下面是一个示例代码:
#include <opencv2/opencv.hpp>
int main() {
// 读取图像
cv::Mat image = cv::imread("path/to/your/image.jpg");
// 检查图像是否成功加载
if (image.empty()) {
std::cerr << "Could not open or find the image!" << std::endl;
return -1;
}
// 定义截取区域
int x = 0; // 左上角x坐标
int y = 96; // 左上角y坐标(112 - 16 = 96)
int width = 192; // 宽度
int height = 16; // 高度
cv::Rect roi(x, y, width, height); // 创建ROI矩形区域
cv::Mat croppedImage = image(roi); // 根据ROI进行截取
// 显示原始和截取后的图像
cv::imshow("Original Image", image);
cv::imshow("Cropped Image", croppedImage);
// 保存截取后的图像(可选)
cv::imwrite("cropped_image.jpg", croppedImage);
cv::waitKey(0); // 等待按键事件并关闭窗口
return 0;
}
在这段代码中,你需要将 "path/to/your/image.jpg"
替换为实际图片文件的路径。代码中的 cv::Rect
用于定义感兴趣区域(ROI),而通过直接将该 ROI 应用于原始图像即可获得所需的部分。
内容由零声教学AI助手提供,问题来源于学员提问