只今,以下のように画像を配列にして,CSVファイルにして保存しております.この結果,200個のCSVファイルが得られました.
python
1import cv2 2import numpy as np 3import glob 4 5for path in glob.glob('./*.jpg'): 6 7 8 im = cv2.imread(path).astype(int) 9 10 b,g,r = cv2.split(im) 11 x = (b+g+r).flatten() 12 y = np.argsort(np.sort(x)) 13 14 B = b.flatten() 15 G = g.flatten() 16 R = r.flatten() 17 18 19 j= [(B[y[0]]),(B[y[99]]),(B[y[199]]),(B[y[299]]),(B[y[399]])] 20 21 k= [(G[y[0]]),(G[y[99]]),(G[y[199]]),(G[y[299]]),(G[y[399]])] 22 23 l= [(R[y[0]]),(R[y[99]]),(R[y[199]]),(R[y[299]]),(R[y[399]])] 24 25 26 m = np.r_[j,k,l] 27 28 29 name = path.split('\')[-1] 30 np.savetxt(f'./csv/{name}.csv', m , delimiter = ',')
その後,得られた200個のファイルを以下のようにして一つのCSVファイルにを結合しました.
python
1import json,csv 2 3import pandas as pd 4 5import glob 6 7 8 9 10 11csv_files = glob.glob('./csv/*.csv') 12 13list = [] 14 15 16 17for f in csv_files: 18 19 list.append(pd.read_csv(f)) 20 21df = pd.concat(list) 22 23 24 25df.to_csv("./csv/TOTAL-test.csv") 26
しかしながら,結果として得られたCSVは値がバラバラに配置されて入力されたCSVとして出力されました.結合する前の一つあたりのCSVの値(15個分)はまとまっています.
得たかったものは,15*200の値が並べられたCSVファイルなのですが,何が間違っているのでしょうか?元の画像の名前などによるのでしょうか?
どういうCSVデータがどういうCSVデータになったんでしょうか。
また、目標とするデータ例を提示してください

回答2件
あなたの回答
tips
プレビュー