1

如何將圖像中的像素顏色信息提取爲數字並將其存儲在CSV文件中?這些數字應該全部進入1行和多列。如果圖像是50 * 50,那麼應該只有1行和2500列包含像素顏色信息。我如何在Python中實現這一點?請指教。如何將圖像的像素顏色信息轉換爲數字並將其存儲在CSV中?

我發現這是代碼,

pixels = list(im.getdata()) 
width, height = im.size 
pixels = [pixels[i * width:(i + 1) * width] for i in xrange(height)] 

但我想這個名單在單行和多列,我SVM期望它在格式訓練圖像。

輸出應該如下面給出的,因爲這是灰度圖像, 2 3 253 ...

其中2爲第一像素的顏色和3是第二像素和253的顏色是第3等的顏色。2將在第1行的第1個單元中,第2個單元中的3個,第3個單元中的253個,依此類推。但整個圖像像素將在這一行。因此,如果其50 * 50的圖片將有2500列/單元格包含上述像素值。

+0

你應該張貼你寫的代碼迄今爲止以及爲什麼你會想要一個2500列csv的解釋。你也可以更清楚你想要什麼顏色信息,RGB,RGBA,CMYK? – SuperBiasedMan

+0

@MalikBrahimi我編輯了這個問題。我需要與CSV相關的代碼部分,這是我在這個問題中找不到的。請刪除重複的標記。在此先感謝 – mayooran

+0

@SuperBiasedMan編輯該問題。我需要這種格式的SVM。請指教。 – mayooran

回答

0

基本上你想展開數組(這是一個列表的列表)。爲此,您可以用雙列表理解:

pixels = [i for row in pixels for i in row] 

如果你想將它寫入與你的價值觀之間的空格的文件,你可以做到這一點

with open('output.csv', 'w') as outfile: 
    outfile.write(' '.join([str(i) for i in pixels]) 
+0

以及如何將這些寫入單個單元格>請幫助 – mayooran

相關問題