c++ opencv 按顺序读取文件夹下的所有以字符串命名的图片
时间: 2024-05-05 13:17:48 浏览: 139
可以使用以下代码实现:
```python
import os
import cv2
# 获取文件夹下所有文件名
file_names = os.listdir('文件夹路径')
# 对文件名进行排序
file_names.sort()
# 遍历文件名,读取图片并处理
for file_name in file_names:
if file_name.endswith('.jpg') or file_name.endswith('.png'):
# 读取图片
img = cv2.imread(os.path.join('文件夹路径', file_name))
# 处理图片
# ...
```
希望能对你有所帮助。
相关问题
c++ opencv 4.12怎么读取中文路径
在C++中,可以使用`cv::imread`函数读取图像。如果要读取中文路径,可以使用Unicode编码的路径名。具体地,可以使用`std::wstring`类型来表示路径名,然后将其转换为UTF-8编码的字符串,再使用`cv::imread`函数读取图像。
以下是一个示例代码:
```cpp
#include <iostream>
#include <opencv2/opencv.hpp>
int main()
{
std::wstring wpath = L"D:/中文路径/图像.jpg";
std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
std::string path = conv.to_bytes(wpath);
cv::Mat img = cv::imread(path, cv::IMREAD_COLOR);
if (img.empty())
{
std::cout << "Failed to read image!" << std::endl;
return -1;
}
cv::imshow("Image", img);
cv::waitKey(0);
return 0;
}
```
在上面的代码中,`std::wstring_convert`类用于将`std::wstring`类型转换为UTF-8编码的字符串。`cv::imread`函数用于读取图像,`cv::imshow`函数用于显示图像。
c++ opencv读取当前路径下是图片
以下是使用OpenCV读取当前路径下图片的C++代码示例:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main() {
string img_path = "./test.jpg"; // 图片路径
Mat img = imread(img_path); // 读取图片
if (img.empty()) { // 判断图片是否读取成功
cout << "Failed to read image: " << img_path << endl;
return -1;
}
namedWindow("image", WINDOW_NORMAL); // 创建显示窗口
imshow("image", img); // 显示图片
waitKey(0); // 等待键盘按键
return 0;
}
```
在代码中,我们首先定义了一个字符串变量 `img_path` 表示图片路径,使用 `imread` 函数读取图片,并判断是否读取成功。接着,我们创建了一个显示窗口,将读取的图片显示在窗口中,并使用 `waitKey` 函数等待键盘按键。
阅读全文