本文實(shí)例為大家分享了python或C++讀取指定文件夾下的所有圖片,供大家參考,具體內(nèi)容如下
1.python讀取指定文件夾下的所有圖片路徑和圖片文件名
import cv2
from os import walk,path
def get_fileNames(rootdir):
data=[]
prefix = []
for root, dirs, files in walk(rootdir, topdown=True):
for name in files:
pre, ending = path.splitext(name)
if ending != ".jpg" and ending != ".jepg" and ending != ".png":
continue
else:
data.append(path.join(root, name))
prefix.append(pre)
return data, prefix
if __name__ == '__main__':
images, preifx = get_fileNames('/home/yasin/target_pics') #得到指定文件夾下的圖片,例如.jpg,.jepg或.png等,可根據(jù)上述代碼更改
for i in range(len(images)):
img = cv2.imread(images[i])
w = img.shape[1]
l = img.shape[0]
img_res = cv2.resize(img, (w*2,l*2)) #對(duì)圖片操作后
cv2.imwrite("./resized_wb/{}.jpg".format(preifx[i]),img_res)
2.C++得到指定文件夾下的所有圖片并返回讀取Mat值
#include
#include
#include
#include
using namespace std;
using namespace cv;
//讀取指定文件下的所有圖片
vector
read_images_in_folder(cv::String pattern)
{
vector
fn;
glob(pattern, fn, false);
vector
images;
// vector
&prefix //
size_t count = fn.size(); //number of png files in images folder
for (size_t i = 0; i < count; i++)
{
// prefix.push_back(fn[i].substr(20, 4)); // 此處可以得到文件名的子字符串,可以獲取圖片前綴
images.push_back(imread(fn[i])); //直讀取圖片并返回Mat類型
//imshow("img", imread(fn[i]));
//waitKey(1000);
}
return images;
}
int main()
{
cv::String pattern = "./*.jpg";
//遍歷得到目標(biāo)文件中所有的.jpg文件
vector
images = read_images_in_folder(pattern);
for (int i = 0; i < images.size(); i++)
{
imshow("img", images[i]);
waitKey(1000);
}
// system("pause");
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

