如何将jpg或png文件转换为csv文件?

时间:2019-05-03 14:10:17

标签: python tensorflow computer-vision google-colaboratory

我有一些要用于计算机视觉的jpg图像。如何将它们转换为csv文件?我尝试了在线转换器,但我不知道它是否真的有效。

2 个答案:

答案 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数组,并为每个通道创建三个单独的文件。