OpenCV(cv::Size)
在OpenCV中,cv::Size
是一个类,用于表示二维图像的大小。它的作用是存储宽度(width
)和高度(height
)两个整数值,通常用在图像处理中表示图像的尺寸。
1. 函数定义
cv::Size
类的定义如下:
class Size {
public:
// 构造函数
Size(); // 默认构造函数,初始化宽度和高度为0
Size(int width, int height); // 带宽度和高度参数的构造函数
// 成员变量
int width; // 图像的宽度
int height; // 图像的高度
};
2. 示例
通常情况下,cv::Size
用于指定图像或矩形区域的尺寸,例如在缩放图像、调整窗口大小、定义卷积核大小等操作中。以下是一些常见的使用示例:
2.1 定义图像的大小
cv::Size imageSize(640, 480); // 定义一个640x480的尺寸
2.2 在图像缩放中使用
cv::Mat srcImage = cv::imread("image.jpg");
cv::Mat dstImage;
cv::Size size(640, 480);
cv::resize(srcImage, dstImage, size); // 将图像缩放到640x480
2.3 在创建卷积核时使用
cv::Mat kernel = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(5, 5)); // 创建5x5的矩形卷积核
3. 常见用途
- 缩放图像:
cv::resize()
函数的第三个参数是cv::Size
,用于指定目标图像的大小。 - 滤波操作:
cv::GaussianBlur()
、cv::getStructuringElement()
等滤波操作需要指定卷积核的尺寸,通常使用cv::Size
。 - 窗口大小:
cv::Size
可以用于定义显示窗口、ROI(感兴趣区域)等的大小。
4. 总结
cv::Size
是OpenCV中用于处理二维尺寸的基本类,它在图像的大小、窗口尺寸、滤波器卷积核等操作中扮演着重要角色。通过指定宽度和高度,可以方便地控制和管理图像处理任务中的各种尺寸。