opencv中glob()怎么使用能给举个例子吗
时间: 2023-05-21 21:05:39 浏览: 93
C知道的回答:
glob() 函数是 OpenCV 提供的一个函数,用于获取指定路径下的所有符合条件的文件名。glob() 需要传递两个参数,一个是包含路径和通配符的字符串,另一个是用来保存文件名的容器。
下面是一个示例代码:
```
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
String path = "D:/pictures/*.jpg";
vector<String> file_names;
glob(path, file_names, false);
cout << "Total " << file_names.size() << " files:" << endl;
for (size_t i = 0; i < file_names.size(); i++)
{
cout << file_names[i] << endl;
}
return 0;
}
```
上述示例中,path 表示需要遍历的包含路径和通配符的字符串,file_names 是用来保存文件名的容器。glob() 会把符合条件的文件名保存到 file_names 中。
在上述示例中,代码会输出指定路径下所有jpg格式的文件名,总共有多少个文件名。如果在运行过程中没有发生错误,程序会返回 0。
相关问题
opencv中的glob的使用
在OpenCV中,`glob`模块可以用来查找匹配特定模式的文件列表。这个模块可以用于读取一系列图像文件或视频帧等。
下面是一个简单的例子,使用`glob`模块查找指定文件夹中所有的jpg文件,并将它们读取为opencv图像:
```python
import cv2
import glob
# 查找指定文件夹中所有的jpg文件
img_files = glob.glob('/path/to/folder/*.jpg')
# 读取每个图像文件并显示
for img_file in img_files:
img = cv2.imread(img_file)
cv2.imshow('image', img)
cv2.waitKey(0)
```
其中,`glob.glob()`函数返回一个列表,其中包含所有匹配指定模式的文件。在上面的示例中,指定的模式是`'/path/to/folder/*.jpg'`,它会匹配所有以`.jpg`结尾的文件。
可以使用不同的模式来查找不同类型的文件。例如,如果要查找所有的视频文件,可以使用`'/path/to/folder/*.mp4'`来匹配所有以`.mp4`结尾的文件。
需要注意的是,在使用`glob`模块时,需要使用正确的路径分隔符。在Windows系统中,路径分隔符是反斜杠`\`,而在Unix和Linux系统中,路径分隔符是正斜杠`/`。因此,最好使用Python的`os.path.join()`函数来构建路径,它能够跨平台地生成正确的路径。
python opencv glob遍历文件夹下的所有图片
Python OpenCV是一个广泛使用的计算机视觉和图像处理库。glob模块是Python中用于获取匹配的文件路径列表的模块。如果需要遍历文件夹下的所有图片,可以使用glob模块。
首先,需要导入glob模块和cv2模块。
```python
import glob
import cv2
```
接下来,需要使用glob模块来搜索指定路径下所有符合特定模式的文件,并将其存储在一个列表中。
```python
img_path = './images/*.jpg' # 以.jpg结尾的所有图片
img_files = glob.glob(img_path)
```
在这个例子中,路径"./images/"是需要遍历的文件夹路径。使用*代表匹配该路径下所有文件名,最后由".jpg"结尾的所有文件。
遍历所有图片的列表,加载并处理每一张图片
```python
for img_file in img_files:
img = cv2.imread(img_file)
# Process image here
# ...
```
这个循环处理每个文件的方式是通过读取文件名列表并使用cv2.imread()函数打开每个文件。在读取每个图像后可以对其进行进一步处理,如应用图像滤波器,改变大小或裁剪等等。
最后,应在完成处理后释放内存。可以使用cv2.destroyAllWindows()关闭窗口同时释放内存,或使用cv2.waitKey()来关闭窗口,等待用户按下任何键,然后释放内存。
```python
cv2.destroyAllWindows()
```
总之,使用Python OpenCV和glob模块遍历文件夹下的所有图片非常简单。首先使用glob模块搜索符合特定模式的文件,然后使用cv2.imread()函数逐个加载并处理每个文件。完成后关闭窗口并释放内存。
阅读全文