赞
踩
要选取一张图像的下半部分,您可以使用 OpenCV 中的裁剪(ROI)功能。下面是一个简单的 C++ 代码示例,演示如何使用 OpenCV 选择一张图像的下半部分:
- #include <opencv2/opencv.hpp>
-
- using namespace cv;
-
- int main(int argc, char** argv)
- {
- // 读取图像
- Mat image = imread("input_image.jpg");
-
- // 显示原图
- namedWindow("Input Image", WINDOW_NORMAL);
- imshow("Input Image", image);
-
- // 获取图像的大小
- int height = image.size().height;
- int width = image.size().width;
-
- // 裁剪图像的下半部分
- Rect roi(0, height/2, width, height/2);
- Mat bottom_half = image(roi);
-
- // 显示裁剪后的图像
- namedWindow("Bottom Half Image", WINDOW_NORMAL);
- imshow("Bottom Half Image", bottom_half);
-
- // 等待用户按键
- waitKey(0);
-
- return 0;
- }
在这个示例中,我们首先读取一张图像并显示出来。然后,我们获取图像的大小,并计算出图像下半部分的位置和大小。接下来,我们使用 Rect 类来定义裁剪区域,然后使用裁剪区域对图像进行裁剪。最后,我们显示裁剪后的图像。
在这个示例中,我们要选择原图的下半部分,因此裁剪区域的左上角坐标为 (0, height/2),表示从图像的左上角开始裁剪,水平方向不移动,垂直方向移动了 height/2
个像素,也就是从图像的中间位置开始裁剪。裁剪区域的宽度和高度分别为 width
和 height/2
,表示裁剪区域的宽度和原图相同,高度为原图的一半,也就是选择了原图的下半部分。
因此,Rect roi(0, height/2, width, height/2)
就定义了一个裁剪区域,它表示选择原图的下半部分。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。