在C++中,.size()
方法用于获取容器或字符串的大小(即元素数量)。.size()
方法通常用于以下类型:
std::vector
、std::list
、std::set
、std::map
等):.size()
方法返回容器中元素的数量。
std::vector<int> numbers = {1, 2, 3, 4, 5};int size = numbers.size(); // 获取numbers容器的大小,返回5
字符串类(例如std::string
):.size()
方法返回字符串的字符数。
std::string message = "Hello, World!";int size = message.size(); // 获取message字符串的大小,返回13
.size()
方法返回的大小是无符号整数类型(std::size_t
),表示容器或字符串中元素的数量。请注意,.size()
方法不适用于普通数组,因为数组没有内置的方法来获取其大小。对于数组,应使用其他方法(例如sizeof
)来获取其大小。
总结一下,.size()
方法用于获取容器或字符串中的元素数量,是一种方便的方法来确定大小或迭代容器的元素。
在OpenCV中,.size()
方法用于获取图像、矩阵或其他数据结构的尺寸信息。对于图像和矩阵来说,.size()
返回一个cv::Size
对象,其中包含了宽度和高度信息。对于三维数据结构(例如cv::Mat
的3D矩阵),.size()
只返回宽度和高度信息,不包括深度(即通道数)。
如果要获取图像的长、宽和高(对于3D图像),可以使用.size()
方法获取宽度和高度,然后使用.depth()
方法获取深度(通道数)。以下是一个示例:
cv::Mat image = cv::imread("image.jpg");int width = image.size().width;int height = image.size().height;int depth = image.depth();std::cout << "Width: " << width << std::endl;std::cout << "Height: " << height << std::endl;std::cout << "Depth: " << depth << std::endl;
请注意,.size()
方法返回的是一个cv::Size
对象,因此需要使用.width
和.height
成员来访问宽度和高度。对于深度信息,可以使用image.depth()
方法获取。