用cpp读取本地图片的宽和高
时间: 2024-10-16 16:03:08 浏览: 47
在C++中,你可以使用标准库如`std::filesystem`来访问本地文件,然后利用图像处理库例如`OpenCV`来读取并获取图片的宽度和高度。以下是一个简单的示例:
```cpp
#include <iostream>
#include <opencv2/opencv.hpp> // 引入OpenCV库
#include <filesystem> // C++17引入的文件系统支持
// 函数用于读取图片的尺寸
cv::Size getImageDimensions(const std::string& imagePath) {
cv::Mat image = cv::imread(imagePath, cv::IMREAD_COLOR); // 使用OpenCV读取图片
if (!image.data) { // 如果读取失败
std::cerr << "Failed to load image!" << std::endl;
return cv::Size(); // 返回空尺寸
}
return image.size(); // 返回图片的大小,即宽高
}
int main() {
try {
auto path = std::filesystem::path("your_image.jpg"); // 替换为你的图片路径
cv::Size size = getImageDimensions(path.string());
std::cout << "Image width: " << size.width << ", height: " << size.height << std::endl;
} catch (const std::exception& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
```
在这个例子中,你需要安装OpenCV库,并且确保图片路径正确。如果图片存在并且成功读取,程序会打印出图片的宽度和高度。
阅读全文