前提・実現したいこと
機械学習の画像データへのラベル付けのためのプログラムを
JupyterNotebookで書いています.
ディレクトリを指定してファイルの中の画像にアクセスしたいのですが,
指定されたパスが見つからないというエラーが出てしまいます.
プログラムのある階層とフォルダのある階層は同じなのですが,なぜエラーが出るのかわかりません.
また,絶対パス等も試しましたが,別なエラーが出ます.
解決法を教えていただけると嬉しいです.
発生している問題・エラーメッセージ
FileNotFoundError Traceback (most recent call last) <ipython-input-6-b1f3e70764b9> in <module>() 8 label = np.zeros(len(paths)-1) 9 for cnt_path, path in enumerate(paths): ---> 10 files = os.listdir(path) 11 for cnt_file, f in enumerate(files): 12 file_path = path + '/' + str(f) FileNotFoundError: [WinError 3] 指定されたパスが見つかりません。: './shin_300, ./juku_300'
該当のソースコード
python
1# -*- coding: utf-8 -*- 2import os 3import sys 4import numpy as np 5import cv2 6 7paths = ['./shin_300, ./juku_300'] #各フォルダに同じラベル付けをしたい画像を入れる 8label = np.zeros(len(paths)-1) 9for cnt_path, path in enumerate(paths): 10 files = os.listdir(path) 11 for cnt_file, f in enumerate(files): 12 file_path = path + '/' + str(f) 13 img = cv2.imread(file_path) #すべての画像の読み込み 14 img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #グレイスケール変換 15 if cnt_path==0 and cnt_file==0: 16 size = img.shape 17 img = np.ravel(img) #画像のベクトル化 18 img = (img - np.mean(img)) / np.std(img) #ベクトルの標準化 19 #img = (img - np.min(img)) / (np.max(img) - np.min(img)) #ベクトルの正規化 20 if cnt_path==0 and cnt_file==0: 21 train = img 22 labels = np.insert(label, cnt_path, 1) 23 else: 24 train = np.vstack((train, img)) #trainにベクトル化した画像データをスタックしていく 25 labels = np.vstack((labels, np.insert(label, cnt_path, 1))) #学習ラベル付けを各ディレクトリごとに行う 26 27np.savez('./filename.npz', trainimg=train, trainlabel=labels, imgsize=size) #データセットをnpz形式ファイルで保存 28print("save done")
フォルダの中
回答2件
あなたの回答
tips
プレビュー