我有一些要用于计算机视觉的jpg图像。如何将它们转换为csv文件?我尝试了在线转换器,但我不知道它是否真的有效。
答案 0 :(得分:1)
首先,您需要阅读图像文件。您可以通过多种方式进行操作。我将使用PIL:
from PIL import Image
img = np.array(Image.open("image.jpg"))
现在将numpy数组转换为csv文件。
import csv
def csvWriter(fil_name, nparray):
example = nparray.tolist()
with open(fil_name+'.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=',')
writer.writerows(example)
csvWriter("myfilename", img)
为了将csv文件转换回numpy数组
import ast
def csvReader(fil_name):
with open(fil_name+'.csv', 'r') as f:
reader = csv.reader(f)
examples = list(reader)
examples = np.array(examples)
t1=[]
for x in examples:
t2=[]
for y in x:
z= ast.literal_eval(y)
t2.append(np.array(z))
t1.append(np.array(t2))
ex = np.array(t1)
return ex
backToNumpyArray = csvReader("myfilename")
答案 1 :(得分:0)
尝试使用imageio.imread将其转换为numpy数组,然后从那里进行转换。
Fail Fixpoint map1 {A : Type} {B : Type} (f : A -> B) (xs : list1 A) :=
match xs with
nil1 A' => nil1 B
| cons1 A' v ys => cons1 B (f v) (map1 f ys)
end.
(* The term "v" has type "A'" while it is expected to have type "A". *)
如果您喜欢熊猫:
import numpy as np
import imageio
img = (imageio.imread(img_location, as_gray=True))/255
img = np.array(img)
np.savetxt("image.csv", a, delimiter=",")
编辑:这是假设您想要灰度显示。如果要使用RGB,可以将通道分成3个2D数组,并为每个通道创建三个单独的文件。