C++opencv4获取图片分辨率
时间: 2023-10-07 20:10:30 浏览: 114
在C++中,你可以使用OpenCV的`cv::Mat`对象的`rows`和`cols`属性来获取图像的分辨率。`rows`表示图像的高度(行数),而`cols`表示图像的宽度(列数)。
以下是使用C++和OpenCV获取图像分辨率的示例代码:
```cpp
#include <opencv2/opencv.hpp>
int main() {
// 加载图像
cv::Mat image = cv::imread("image.jpg");
// 获取图像分辨率
int image_width = image.cols;
int image_height = image.rows;
// 打印图像分辨率
std::cout << "Image Width: " << image_width << std::endl;
std::cout << "Image Height: " << image_height << std::endl;
return 0;
}
```
这段代码中,我们使用`cv::imread()`函数加载图像,并通过`image.cols`和`image.rows`来获取图像的宽度和高度。然后,我们将分辨率打印到控制台。
请确保你已经正确安装了OpenCV库,并将代码中的图像路径替换为你自己的图像路径。运行代码后,你将在控制台中看到图像的宽度和高度信息。
相关问题
c++ opencv 获取图片的宽高
在C++中使用OpenCV获取图片的宽高可以使用以下两种方法:
1. 对于一个Mat类型的图像,可以使用rows和cols成员函数获取其行数和列数,即高和宽。例如:
int height = src.rows; //获取图像的高
int width = src.cols; //获取图像的宽
2. 也可以使用size()函数获取图像的尺寸,返回一个Size类型的对象,其中包含了图像的高和宽。例如:
Size size = src.size(); //获取图像的尺寸
int height = size.height; //获取图像的高
int width = size.width; //获取图像的宽
c++ opencv 创建4通道空白图片
如果你想创建一个4通道的空白图片,可以将`Mat`类的第三个参数设置为`CV_8UC4`,表示图像的通道数为4。
以下是一个示例代码,用于创建一个尺寸为640x480、4通道的空白图片:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
// 创建一个空白图片,尺寸为640x480,通道数为4
Mat image(480, 640, CV_8UC4, Scalar(0, 0, 0, 0));
// 在屏幕上显示图片
namedWindow("Image");
imshow("Image", image);
// 等待用户按下任意键后退出
waitKey(0);
return 0;
}
```
在这个示例代码中,我们使用了`Mat`类的构造函数来创建一个尺寸为640x480、4通道的空白图片,并使用`Scalar`类来指定图片的像素值。在这里,我们使用`(0, 0, 0, 0)`表示RGBA空白图片。
最后,使用`namedWindow`函数创建一个名为`Image`的窗口,并使用`imshow`函数在窗口中显示图片。