21xrx.com
2025-04-27 16:37:41 Sunday
文章检索 我的文章 写文章
C++如何获取图片的宽高
2023-07-07 11:39:10 深夜i     31     0
C++ 图片 宽度 高度 获取

C++是一门强大的编程语言,它可以用于各种不同的应用开发。在开发过程中,我们经常会遇到需要获取图片的宽高的需求。那么,C++如何获取图片的宽高呢?

首先,C++提供了一个常用的方法来获取图片的宽高,就是使用OpenCV库。OpenCV是一个跨平台的计算机视觉和机器学习软件库,它能够实现图像处理、特征提取和图像识别等功能。使用OpenCV库可以轻松地获取图片的宽高。

下面是一个简单的C++代码示例,演示如何使用OpenCV库来获取图片的宽高:

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
  Mat img = imread("image.jpg");
  if(img.empty())
  
    cout << "Failed to load image" << endl;
    return -1;
  
  int width = img.cols;
  int height = img.rows;
  cout << "Image width: " << width << endl;
  cout << "Image height: " << height << endl;
  return 0;
}

以上代码中,我们首先通过imread函数加载了一张图片。如果加载不成功,则会输出“Failed to load image”的消息。如果加载成功,则可以通过.cols和.rows属性来获取图片的宽高,并在控制台上输出这些信息。

如果你想要在获取图片宽高的同时,将图片显示出来,则可以将以上代码修改成如下的形式:

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
  Mat img = imread("image.jpg");
  if(img.empty())
  
    cout << "Failed to load image" << endl;
    return -1;
  
  int width = img.cols;
  int height = img.rows;
  cout << "Image width: " << width << endl;
  cout << "Image height: " << height << endl;
  namedWindow("Image",WINDOW_AUTOSIZE);
  imshow("Image",img);
  waitKey(0);
  return 0;
}

以上代码中,我们使用了namedWindow和imshow函数展示了加载的图片,并在用户按下任意键后退出程序。

通过以上代码示例,我们可以看到,使用OpenCV库可以很方便地获取图片的宽高,并进行相关的操作。如果你在学习或开发C++应用时需要使用图片,不妨试一试OpenCV库,它将为你带来更好的体验。

  
  

评论区